@optolith/database-schema 0.74.0 → 0.75.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.
Files changed (92) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/gen/types.d.ts +418 -93
  3. package/lib/cache/activatableSelectOptions.js +70 -32
  4. package/lib/cache/index.d.ts +1 -10
  5. package/lib/cache/index.js +10 -6
  6. package/lib/cache/internal.d.ts +2 -2
  7. package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.js +14 -14
  8. package/lib/cache/tradeSecrets.js +3 -3
  9. package/lib/main.d.ts +3 -1
  10. package/lib/main.js +1 -0
  11. package/lib/types/Advantage.d.ts +116 -2
  12. package/lib/types/AnimalDisease.d.ts +6 -3
  13. package/lib/types/Ceremony.d.ts +9 -4
  14. package/lib/types/Disadvantage.d.ts +116 -2
  15. package/lib/types/Disease.d.ts +6 -3
  16. package/lib/types/LiturgicalChant.d.ts +9 -4
  17. package/lib/types/Locale.d.ts +2 -2
  18. package/lib/types/Locale.js +2 -2
  19. package/lib/types/Ritual.d.ts +9 -4
  20. package/lib/types/Settings.d.ts +123 -0
  21. package/lib/types/Settings.js +55 -0
  22. package/lib/types/Spell.d.ts +9 -4
  23. package/lib/types/_ActivatableSelectOptionCategory.d.ts +232 -4
  24. package/lib/types/_ActivatableSelectOptionCategory.js +7 -7
  25. package/lib/types/_ActivatableSelectOptions.d.ts +116 -2
  26. package/lib/types/_DiseasePoison.d.ts +12 -6
  27. package/lib/types/_DiseasePoison.js +40 -5
  28. package/lib/types/_SkillCheck.d.ts +9 -4
  29. package/lib/types/_SkillCheck.js +51 -5
  30. package/lib/types/equipment/item/Poison.d.ts +6 -3
  31. package/lib/types/index.d.ts +1 -0
  32. package/lib/types/index.js +1 -0
  33. package/lib/types/magicalActions/AnimistPower.d.ts +9 -4
  34. package/lib/types/magicalActions/Curse.d.ts +9 -4
  35. package/lib/types/magicalActions/DominationRitual.d.ts +9 -4
  36. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +9 -4
  37. package/lib/types/magicalActions/GoblinRitual.d.ts +9 -4
  38. package/lib/types/magicalActions/JesterTrick.d.ts +9 -4
  39. package/lib/types/magicalActions/MagicalMelody.d.ts +9 -4
  40. package/lib/types/magicalActions/ZibiljaRitual.d.ts +9 -4
  41. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +116 -2
  42. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +116 -2
  43. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +116 -2
  44. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +116 -2
  45. package/lib/types/specialAbility/AncestorGlyph.d.ts +116 -2
  46. package/lib/types/specialAbility/BlessedTradition.d.ts +116 -2
  47. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +116 -2
  48. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +116 -2
  49. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +116 -2
  50. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +116 -2
  51. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +116 -2
  52. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +116 -2
  53. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +116 -2
  54. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +116 -2
  55. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +116 -2
  56. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +116 -2
  57. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +116 -2
  58. package/lib/types/specialAbility/LycantropicGift.d.ts +116 -2
  59. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +116 -2
  60. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +116 -2
  61. package/lib/types/specialAbility/MagicalTradition.d.ts +116 -2
  62. package/lib/types/specialAbility/PactGift.d.ts +116 -2
  63. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +116 -2
  64. package/lib/types/specialAbility/Sermon.d.ts +116 -2
  65. package/lib/types/specialAbility/SexSpecialAbility.d.ts +116 -2
  66. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +116 -2
  67. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +116 -2
  68. package/lib/types/specialAbility/VampiricGift.d.ts +116 -2
  69. package/lib/types/specialAbility/Vision.d.ts +116 -2
  70. package/lib/types/specialAbility/sub/TradeSecret.d.ts +116 -2
  71. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +116 -2
  72. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +116 -2
  73. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +116 -2
  74. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +116 -2
  75. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +116 -2
  76. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +116 -2
  77. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +116 -2
  78. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +116 -2
  79. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +116 -2
  80. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +116 -2
  81. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +116 -2
  82. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +116 -2
  83. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +116 -2
  84. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +116 -2
  85. package/lib/types/traditionArtifacts/SickleRitual.d.ts +116 -2
  86. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +116 -2
  87. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +116 -2
  88. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +116 -2
  89. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +116 -2
  90. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +116 -2
  91. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +116 -2
  92. package/package.json +6 -3
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
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.75.1](https://github.com/Optolith/database-schema/compare/v0.75.0...v0.75.1) (2026-09-30)
6
+
7
+ ### Bug Fixes
8
+
9
+ * remove incorrect entity name ([955dbfc](https://github.com/Optolith/database-schema/commit/955dbfcc2651d8c8c865006083075bbffcb86ed5))
10
+ * select options cache after last breaking change ([e257646](https://github.com/Optolith/database-schema/commit/e2576461b9a0663374326ae3719ca38af774db01))
11
+ ## [0.75.0](https://github.com/Optolith/database-schema/compare/v0.74.0...v0.75.0) (2026-09-30)
12
+
13
+ ### ⚠ BREAKING CHANGES
14
+
15
+ * global settings
16
+
17
+ ### Features
18
+
19
+ * global settings ([e428b84](https://github.com/Optolith/database-schema/commit/e428b840d8775c55d44f3545e037495506a01cbb))
5
20
  ## [0.74.0](https://github.com/Optolith/database-schema/compare/v0.73.0...v0.74.0) (2026-09-29)
6
21
 
7
22
  ### ⚠ BREAKING CHANGES
package/gen/types.d.ts CHANGED
@@ -190,6 +190,10 @@ export type EntityMap = {
190
190
  ZibiljaRitual: ZibiljaRitual
191
191
  }
192
192
 
193
+ export type SingletonEntityMap = {
194
+ Settings: Settings
195
+ }
196
+
193
197
  export type ChildEntityMap = {
194
198
  BannzeichenOption: [BannzeichenOption, "parent", BannzeichenOption["parent"]]
195
199
  BotanicRegion: [BotanicRegion, "parent", BotanicRegion["parent"]]
@@ -298,6 +302,7 @@ export type EnumMap = {
298
302
  DerivedCharacteristicModifierPrerequisiteGroup: DerivedCharacteristicModifierPrerequisiteGroup
299
303
  DerivedCharacteristicPrerequisiteGroup: DerivedCharacteristicPrerequisiteGroup
300
304
  DerivedCharacteristicPrimaryAttributeValue: DerivedCharacteristicPrimaryAttributeValue
305
+ DerivedCharacteristicSkillCheckPenalty: DerivedCharacteristicSkillCheckPenalty
301
306
  DerivedCharacteristicType: DerivedCharacteristicType
302
307
  DisplayOption: DisplayOption
303
308
  DominationRitualDuration: DominationRitualDuration
@@ -445,6 +450,7 @@ export type EnumMap = {
445
450
  SlowPerformanceParameters: SlowPerformanceParameters
446
451
  SlowSkillCastingTimeUnit: SlowSkillCastingTimeUnit
447
452
  SpecialAbilityGroup: SpecialAbilityGroup
453
+ SpecialAbilityIdentifier: SpecialAbilityIdentifier
448
454
  SpecificAffectedTargetCategoryIdentifier: SpecificAffectedTargetCategoryIdentifier
449
455
  SpecificFromSkillSelectOptionCategoryCategoryOperation: SpecificFromSkillSelectOptionCategoryCategoryOperation
450
456
  SpellFilter: SpellFilter
@@ -603,6 +609,7 @@ export type TypeAliasMap = {
603
609
  DerivedCharacteristicPrerequisites: DerivedCharacteristicPrerequisites
604
610
  DerivedCharacteristicPurchase: DerivedCharacteristicPurchase
605
611
  DerivedEnhancementAdventurePoints: DerivedEnhancementAdventurePoints
612
+ DerivedTradeSecretsSettings: DerivedTradeSecretsSettings
606
613
  Dice: Dice
607
614
  DiceBasedIntoxicantAddictionInterval: DiceBasedIntoxicantAddictionInterval
608
615
  DieType: DieType
@@ -748,10 +755,12 @@ export type TypeAliasMap = {
748
755
  MagicalSkillRating: MagicalSkillRating
749
756
  MagicalTraditionConstraint: MagicalTraditionConstraint
750
757
  MagicalTraditionPrerequisite: MagicalTraditionPrerequisite
758
+ MaximumDerivedCharacteristicSkillCheckPenalty: MaximumDerivedCharacteristicSkillCheckPenalty
751
759
  MeleeDamage: MeleeDamage
752
760
  MeleeWeapon: MeleeWeapon
753
761
  MineralPoison: MineralPoison
754
762
  MinimumCollectorsValue: MinimumCollectorsValue
763
+ MinimumResistance: MinimumResistance
755
764
  ModifiableCastingTime: ModifiableCastingTime
756
765
  ModifiableOneTimeCost: ModifiableOneTimeCost
757
766
  ModifiableOneTimeCostMap: ModifiableOneTimeCostMap
@@ -887,9 +896,11 @@ export type TypeAliasMap = {
887
896
  ShamanisticBlessedTradition: ShamanisticBlessedTradition
888
897
  Since: Since
889
898
  SingleBannzeichenCost: SingleBannzeichenCost
899
+ SingleDerivedCharacteristicSkillCheckPenalty: SingleDerivedCharacteristicSkillCheckPenalty
890
900
  SingleMagicalRuneCost: SingleMagicalRuneCost
891
901
  SinglePenalty: SinglePenalty
892
902
  SinglePrimaryAttributeDamageThreshold: SinglePrimaryAttributeDamageThreshold
903
+ SingleResistance: SingleResistance
893
904
  SkillAdjustment: SkillAdjustment
894
905
  SkillAnimalPower: SkillAnimalPower
895
906
  SkillApplicationOrUse: SkillApplicationOrUse
@@ -927,6 +938,7 @@ export type TypeAliasMap = {
927
938
  StatePrerequisite: StatePrerequisite
928
939
  StructurePoints: StructurePoints
929
940
  StructurePointsComponent: StructurePointsComponent
941
+ SupernaturalBaseAdvantageSettings: SupernaturalBaseAdvantageSettings
930
942
  SustainedAnimistPowerPerformanceParameters: SustainedAnimistPowerPerformanceParameters
931
943
  SustainedPerformanceParameters: SustainedPerformanceParameters<unknown>
932
944
  TalismanActivation: TalismanActivation
@@ -1995,7 +2007,7 @@ export interface Locale {
1995
2007
  "magicalactions.animistforces.tribes.general": string
1996
2008
  " (modified by {$modifier})": string & { __params: { "modifier": string } }
1997
2009
  " (−{$modifier})": string & { __params: { "modifier": string } }
1998
- "{$first} or {$second}, depending on which value is higher": string & { __params: { "first": string; "second": string } }
2010
+ "{$values :list type=disjunction}, depending on which value is higher": string & { __params: { "values": string[] } }
1999
2011
  "Invocation Difficulty": string
2000
2012
  "ID": string
2001
2013
  "Creation Difficulty": string
@@ -2631,7 +2643,7 @@ export interface Locale {
2631
2643
  "Witch kitchen": string
2632
2644
  "Alchemist’s laboratory": string
2633
2645
  "Resistance": string
2634
- "{$first} or {$second}, depending on which value is lower": string & { __params: { "first": string; "second": string } }
2646
+ "{$values :list type=disjunction}, depending on which value is lower": string & { __params: { "values": string[] } }
2635
2647
  "Start": string
2636
2648
  "immediate": string
2637
2649
  "instant": string
@@ -2813,9 +2825,9 @@ export interface LocaleMeasurementAdjustments {
2813
2825
 
2814
2826
  export interface PropertiesSelectOptionCategory {
2815
2827
  /**
2816
- * Does each property require its corresponding property knowledge?
2828
+ * Does each property require it to be active as a selection on an instance?
2817
2829
  */
2818
- require_knowledge?: boolean
2830
+ requireActiveSelectionOnEntry?: ActivatableIdentifier
2819
2831
 
2820
2832
  /**
2821
2833
  * Require a minimum number of spellworks of the respective property to be on a minimum skill rating.
@@ -2823,78 +2835,6 @@ export interface PropertiesSelectOptionCategory {
2823
2835
  require_minimum_spellworks_on?: RequiredMinimumSkillsToBeOnSkillRating
2824
2836
  }
2825
2837
 
2826
- /**
2827
- * Require a minimum number of spellworks/liturgies of the respective property/aspect to be on a minimum skill rating.
2828
- */
2829
- export interface RequiredMinimumSkillsToBeOnSkillRating {
2830
- /**
2831
- * The minimum number of liturgies that need to be on the defined minimum skill rating.
2832
- */
2833
- number: number
2834
-
2835
- /**
2836
- * The minimum skill rating the defined minimum number of liturgies need to be on.
2837
- */
2838
- rating: number
2839
- }
2840
-
2841
- export interface AspectSelectOptionCategory {
2842
- /**
2843
- * Does each aspect require its corresponding aspect knowledge?
2844
- */
2845
- require_knowledge?: boolean
2846
-
2847
- /**
2848
- * The generated name should be the *Master of (Aspect)* suffix for this aspect instead of the aspect's name. If an aspect does not provide a suffix (such as the General aspect), it is automatically excluded from the list.
2849
- */
2850
- use_master_of_suffix_as_name?: boolean
2851
-
2852
- /**
2853
- * Require a minimum number of liturgies of the respective aspect to be on a minimum skill rating.
2854
- */
2855
- require_minimum_liturgies_on?: RequiredMinimumSkillsToBeOnSkillRating
2856
- }
2857
-
2858
- export interface DiseasesPoisonsSelectOptionCategory {
2859
- /**
2860
- * Only convert half the disease/poison level into the AP value.
2861
- */
2862
- use_half_level_as_ap_value?: boolean
2863
- }
2864
-
2865
- export interface LanguagesSelectOptionCategory {
2866
- /**
2867
- * Generate prerequisites for each entry of the category.
2868
- */
2869
- prerequisites?: LanguagesSelectOptionCategoryPrerequisite[]
2870
- }
2871
-
2872
- export type LanguagesSelectOptionCategoryPrerequisite =
2873
- | {
2874
- kind: "SelectOption"
2875
- SelectOption: OptionPrerequisite
2876
- }
2877
-
2878
- /**
2879
- * The entry requires or prohibits itself as a select option of another entry.
2880
- */
2881
- export interface OptionPrerequisite {
2882
- /**
2883
- * The target entry's identifier.
2884
- */
2885
- id: ActivatableIdentifier
2886
-
2887
- /**
2888
- * Is the select option required (`true`) or prohibited (`false`)?
2889
- */
2890
- active: boolean
2891
-
2892
- /**
2893
- * The required level, if any.
2894
- */
2895
- level?: number
2896
- }
2897
-
2898
2838
  export type ActivatableIdentifier =
2899
2839
  | {
2900
2840
  kind: "Advantage"
@@ -5405,7 +5345,7 @@ export interface Disease {
5405
5345
  level: number
5406
5346
 
5407
5347
  /**
5408
- * Depending on the disease, apply Spirit or Toughness as a penalty to the disease roll. It may also happen that the lower of both is applied as a penalty.
5348
+ * Depending on the disease or poison, apply Spirit or Toughness as a penalty to the disease or poison roll. It may also happen that the minimum is applied as a penalty.
5409
5349
  */
5410
5350
  resistance: Resistance
5411
5351
 
@@ -5502,19 +5442,38 @@ export interface DiseaseTranslation {
5502
5442
  }
5503
5443
 
5504
5444
  /**
5505
- * Depending on the disease, apply Spirit or Toughness as a penalty to the disease roll. It may also happen that the lower of both is applied as a penalty.
5445
+ * Depending on the disease or poison, apply a resistance as a penalty to the disease or poison roll. It may also happen that the minimum is applied as a penalty.
5506
5446
  */
5507
5447
  export type Resistance =
5508
5448
  | {
5509
- kind: "Spirit"
5510
- }
5511
- | {
5512
- kind: "Toughness"
5449
+ kind: "Single"
5450
+ Single: SingleResistance
5513
5451
  }
5514
5452
  | {
5515
- kind: "LowerOfSpiritAndToughness"
5453
+ kind: "Minimum"
5454
+ Minimum: MinimumResistance
5516
5455
  }
5517
5456
 
5457
+ /**
5458
+ * A single derived characteristic that classifies as a resistance.
5459
+ */
5460
+ export interface SingleResistance {
5461
+ /**
5462
+ * The derived characteristic that is used for the skill check.
5463
+ */
5464
+ derivedCharacteristic: DerivedCharacteristic_ID
5465
+ }
5466
+
5467
+ /**
5468
+ * Multiple derived characteristics that classify as resistances whose minimum value represents the actual resistance against the disease.
5469
+ */
5470
+ export interface MinimumResistance {
5471
+ /**
5472
+ * The derived characteristic that is used for the skill check.
5473
+ */
5474
+ derivedCharacteristics: DerivedCharacteristic_ID[]
5475
+ }
5476
+
5518
5477
  /**
5519
5478
  * What causes the disease? The GM rolls 1D20 to see if a character gets infected. If the infection check succeeds, the GM makes a disease check to determine the severity of the infection.
5520
5479
  */
@@ -6664,27 +6623,57 @@ export interface LiturgicalChantTranslation {
6664
6623
  */
6665
6624
  export type SkillCheckPenalty =
6666
6625
  | {
6667
- kind: "Spirit"
6626
+ kind: "DerivedCharacteristic"
6627
+ DerivedCharacteristic: DerivedCharacteristicSkillCheckPenalty
6668
6628
  }
6669
6629
  | {
6670
- kind: "HalfOfSpirit"
6671
- }
6672
- | {
6673
- kind: "Toughness"
6630
+ kind: "SummoningDifficulty"
6674
6631
  }
6675
6632
  | {
6676
- kind: "HigherOfSpiritAndToughness"
6633
+ kind: "CreationDifficulty"
6677
6634
  }
6678
6635
  | {
6679
- kind: "SummoningDifficulty"
6636
+ kind: "Object"
6680
6637
  }
6638
+
6639
+ /**
6640
+ * A derived characteristic that classifies as a resistance that represents a penalty for the associated skill check.
6641
+ */
6642
+ export type DerivedCharacteristicSkillCheckPenalty =
6681
6643
  | {
6682
- kind: "CreationDifficulty"
6644
+ kind: "Single"
6645
+ Single: SingleDerivedCharacteristicSkillCheckPenalty
6683
6646
  }
6684
6647
  | {
6685
- kind: "Object"
6648
+ kind: "Maximum"
6649
+ Maximum: MaximumDerivedCharacteristicSkillCheckPenalty
6686
6650
  }
6687
6651
 
6652
+ /**
6653
+ * A single derived characteristic that classifies as a resistance that represents a penalty for the associated skill check. It may be halved for the skill check.
6654
+ */
6655
+ export interface SingleDerivedCharacteristicSkillCheckPenalty {
6656
+ /**
6657
+ * The derived characteristic that is used for the skill check.
6658
+ */
6659
+ derivedCharacteristic: DerivedCharacteristic_ID
6660
+
6661
+ /**
6662
+ * Is the penalty halved for this skill check?
6663
+ */
6664
+ halved: boolean
6665
+ }
6666
+
6667
+ /**
6668
+ * Multiple derived characteristics that classify as resistances whose maximum value represents a penalty for the associated skill check.
6669
+ */
6670
+ export interface MaximumDerivedCharacteristicSkillCheckPenalty {
6671
+ /**
6672
+ * The derived characteristic that is used for the skill check.
6673
+ */
6674
+ derivedCharacteristics: DerivedCharacteristic_ID[]
6675
+ }
6676
+
6688
6677
  export type FastPerformanceParameters =
6689
6678
  | {
6690
6679
  kind: "OneTime"
@@ -20986,6 +20975,78 @@ export type TradeSecretSelectOptionCategory =
20986
20975
  TargetCategories: TargetCategoriesSelectOptionCategory
20987
20976
  }
20988
20977
 
20978
+ export interface AspectSelectOptionCategory {
20979
+ /**
20980
+ * Does each aspect require it to be active as a selection on an instance?
20981
+ */
20982
+ requireActiveSelectionOnEntry?: ActivatableIdentifier
20983
+
20984
+ /**
20985
+ * The generated name should be the *Master of (Aspect)* suffix for this aspect instead of the aspect's name. If an aspect does not provide a suffix (such as the General aspect), it is automatically excluded from the list.
20986
+ */
20987
+ use_master_of_suffix_as_name?: boolean
20988
+
20989
+ /**
20990
+ * Require a minimum number of liturgies of the respective aspect to be on a minimum skill rating.
20991
+ */
20992
+ require_minimum_liturgies_on?: RequiredMinimumSkillsToBeOnSkillRating
20993
+ }
20994
+
20995
+ /**
20996
+ * Require a minimum number of spellworks/liturgies of the respective property/aspect to be on a minimum skill rating.
20997
+ */
20998
+ export interface RequiredMinimumSkillsToBeOnSkillRating {
20999
+ /**
21000
+ * The minimum number of liturgies that need to be on the defined minimum skill rating.
21001
+ */
21002
+ number: number
21003
+
21004
+ /**
21005
+ * The minimum skill rating the defined minimum number of liturgies need to be on.
21006
+ */
21007
+ rating: number
21008
+ }
21009
+
21010
+ export interface DiseasesPoisonsSelectOptionCategory {
21011
+ /**
21012
+ * Only convert half the disease/poison level into the AP value.
21013
+ */
21014
+ use_half_level_as_ap_value?: boolean
21015
+ }
21016
+
21017
+ export interface LanguagesSelectOptionCategory {
21018
+ /**
21019
+ * Generate prerequisites for each entry of the category.
21020
+ */
21021
+ prerequisites?: LanguagesSelectOptionCategoryPrerequisite[]
21022
+ }
21023
+
21024
+ export type LanguagesSelectOptionCategoryPrerequisite =
21025
+ | {
21026
+ kind: "SelectOption"
21027
+ SelectOption: OptionPrerequisite
21028
+ }
21029
+
21030
+ /**
21031
+ * The entry requires or prohibits itself as a select option of another entry.
21032
+ */
21033
+ export interface OptionPrerequisite {
21034
+ /**
21035
+ * The target entry's identifier.
21036
+ */
21037
+ id: ActivatableIdentifier
21038
+
21039
+ /**
21040
+ * Is the select option required (`true`) or prohibited (`false`)?
21041
+ */
21042
+ active: boolean
21043
+
21044
+ /**
21045
+ * The required level, if any.
21046
+ */
21047
+ level?: number
21048
+ }
21049
+
20989
21050
  export interface SkillsSelectOptionCategory {
20990
21051
  /**
20991
21052
  * A list of skill categories.
@@ -22506,7 +22567,7 @@ export interface AnimalDisease {
22506
22567
  level: number
22507
22568
 
22508
22569
  /**
22509
- * Depending on the disease, apply Spirit or Toughness as a penalty to the disease roll. It may also happen that the lower of both is applied as a penalty.
22570
+ * Depending on the disease or poison, apply Spirit or Toughness as a penalty to the disease or poison roll. It may also happen that the minimum is applied as a penalty.
22510
22571
  */
22511
22572
  resistance: Resistance
22512
22573
 
@@ -26540,6 +26601,270 @@ export type ServiceAvailability =
26540
26601
  kind: "Monstrosities"
26541
26602
  }
26542
26603
 
26604
+ export interface Settings {
26605
+ /**
26606
+ * The default experience level for new characters and profession packages.
26607
+ */
26608
+ defaultExperienceLevel: ExperienceLevel_ID
26609
+
26610
+ /**
26611
+ * Which derived characteristics are affected by additional armor penalties.
26612
+ */
26613
+ additionalArmorPenalties: DerivedCharacteristic_ID[]
26614
+
26615
+ /**
26616
+ * Settings for derived trade secrets.
26617
+ */
26618
+ derivedTradeSecrets: DerivedTradeSecretsSettings
26619
+
26620
+ /**
26621
+ * Settings for supernatural base advantages.
26622
+ */
26623
+ supernaturalBaseAdvantages: SupernaturalBaseAdvantageSettings
26624
+ }
26625
+
26626
+ export interface DerivedTradeSecretsSettings {
26627
+ /**
26628
+ * The special ability required to buy derived trade secrets for weapons.
26629
+ */
26630
+ requiredSpecialAbilityForWeapons: SpecialAbilityIdentifier
26631
+
26632
+ /**
26633
+ * The special ability required to buy derived trade secrets for armor.
26634
+ */
26635
+ requiredSpecialAbilityForArmor: SpecialAbilityIdentifier
26636
+ }
26637
+
26638
+ export type SpecialAbilityIdentifier =
26639
+ | {
26640
+ kind: "AdvancedCombatSpecialAbility"
26641
+ AdvancedCombatSpecialAbility: AdvancedCombatSpecialAbility_ID
26642
+ }
26643
+ | {
26644
+ kind: "AdvancedKarmaSpecialAbility"
26645
+ AdvancedKarmaSpecialAbility: AdvancedKarmaSpecialAbility_ID
26646
+ }
26647
+ | {
26648
+ kind: "AdvancedMagicalSpecialAbility"
26649
+ AdvancedMagicalSpecialAbility: AdvancedMagicalSpecialAbility_ID
26650
+ }
26651
+ | {
26652
+ kind: "AdvancedSkillSpecialAbility"
26653
+ AdvancedSkillSpecialAbility: AdvancedSkillSpecialAbility_ID
26654
+ }
26655
+ | {
26656
+ kind: "AncestorGlyph"
26657
+ AncestorGlyph: AncestorGlyph_ID
26658
+ }
26659
+ | {
26660
+ kind: "ArcaneOrbEnchantment"
26661
+ ArcaneOrbEnchantment: ArcaneOrbEnchantment_ID
26662
+ }
26663
+ | {
26664
+ kind: "AttireEnchantment"
26665
+ AttireEnchantment: AttireEnchantment_ID
26666
+ }
26667
+ | {
26668
+ kind: "Beutelzauber"
26669
+ Beutelzauber: Beutelzauber_ID
26670
+ }
26671
+ | {
26672
+ kind: "BlessedTradition"
26673
+ BlessedTradition: BlessedTradition_ID
26674
+ }
26675
+ | {
26676
+ kind: "BowlEnchantment"
26677
+ BowlEnchantment: BowlEnchantment_ID
26678
+ }
26679
+ | {
26680
+ kind: "BrawlingSpecialAbility"
26681
+ BrawlingSpecialAbility: BrawlingSpecialAbility_ID
26682
+ }
26683
+ | {
26684
+ kind: "CauldronEnchantment"
26685
+ CauldronEnchantment: CauldronEnchantment_ID
26686
+ }
26687
+ | {
26688
+ kind: "CeremonialItemSpecialAbility"
26689
+ CeremonialItemSpecialAbility: CeremonialItemSpecialAbility_ID
26690
+ }
26691
+ | {
26692
+ kind: "ChronicleEnchantment"
26693
+ ChronicleEnchantment: ChronicleEnchantment_ID
26694
+ }
26695
+ | {
26696
+ kind: "CombatSpecialAbility"
26697
+ CombatSpecialAbility: CombatSpecialAbility_ID
26698
+ }
26699
+ | {
26700
+ kind: "CombatStyleSpecialAbility"
26701
+ CombatStyleSpecialAbility: CombatStyleSpecialAbility_ID
26702
+ }
26703
+ | {
26704
+ kind: "CommandSpecialAbility"
26705
+ CommandSpecialAbility: CommandSpecialAbility_ID
26706
+ }
26707
+ | {
26708
+ kind: "DaggerRitual"
26709
+ DaggerRitual: DaggerRitual_ID
26710
+ }
26711
+ | {
26712
+ kind: "FamiliarSpecialAbility"
26713
+ FamiliarSpecialAbility: FamiliarSpecialAbility_ID
26714
+ }
26715
+ | {
26716
+ kind: "FatePointSexSpecialAbility"
26717
+ FatePointSexSpecialAbility: FatePointSexSpecialAbility_ID
26718
+ }
26719
+ | {
26720
+ kind: "FatePointSpecialAbility"
26721
+ FatePointSpecialAbility: FatePointSpecialAbility_ID
26722
+ }
26723
+ | {
26724
+ kind: "FoolsHatEnchantment"
26725
+ FoolsHatEnchantment: FoolsHatEnchantment_ID
26726
+ }
26727
+ | {
26728
+ kind: "GeneralSpecialAbility"
26729
+ GeneralSpecialAbility: GeneralSpecialAbility_ID
26730
+ }
26731
+ | {
26732
+ kind: "Haubenzauber"
26733
+ Haubenzauber: Haubenzauber_ID
26734
+ }
26735
+ | {
26736
+ kind: "Hauerkettenzauber"
26737
+ Hauerkettenzauber: Hauerkettenzauber_ID
26738
+ }
26739
+ | {
26740
+ kind: "InstrumentEnchantment"
26741
+ InstrumentEnchantment: InstrumentEnchantment_ID
26742
+ }
26743
+ | {
26744
+ kind: "KarmaSpecialAbility"
26745
+ KarmaSpecialAbility: KarmaSpecialAbility_ID
26746
+ }
26747
+ | {
26748
+ kind: "Keulenzauber"
26749
+ Keulenzauber: Keulenzauber_ID
26750
+ }
26751
+ | {
26752
+ kind: "Krallenkettenzauber"
26753
+ Krallenkettenzauber: Krallenkettenzauber_ID
26754
+ }
26755
+ | {
26756
+ kind: "Kristallkugelzauber"
26757
+ Kristallkugelzauber: Kristallkugelzauber_ID
26758
+ }
26759
+ | {
26760
+ kind: "LiturgicalStyleSpecialAbility"
26761
+ LiturgicalStyleSpecialAbility: LiturgicalStyleSpecialAbility_ID
26762
+ }
26763
+ | {
26764
+ kind: "LycantropicGift"
26765
+ LycantropicGift: LycantropicGift_ID
26766
+ }
26767
+ | {
26768
+ kind: "MagicalSign"
26769
+ MagicalSign: MagicalSign_ID
26770
+ }
26771
+ | {
26772
+ kind: "MagicalSpecialAbility"
26773
+ MagicalSpecialAbility: MagicalSpecialAbility_ID
26774
+ }
26775
+ | {
26776
+ kind: "MagicalTradition"
26777
+ MagicalTradition: MagicalTradition_ID
26778
+ }
26779
+ | {
26780
+ kind: "MagicStyleSpecialAbility"
26781
+ MagicStyleSpecialAbility: MagicStyleSpecialAbility_ID
26782
+ }
26783
+ | {
26784
+ kind: "OrbEnchantment"
26785
+ OrbEnchantment: OrbEnchantment_ID
26786
+ }
26787
+ | {
26788
+ kind: "PactGift"
26789
+ PactGift: PactGift_ID
26790
+ }
26791
+ | {
26792
+ kind: "ProtectiveWardingCircleSpecialAbility"
26793
+ ProtectiveWardingCircleSpecialAbility: ProtectiveWardingCircleSpecialAbility_ID
26794
+ }
26795
+ | {
26796
+ kind: "RingEnchantment"
26797
+ RingEnchantment: RingEnchantment_ID
26798
+ }
26799
+ | {
26800
+ kind: "Schweinetrommelzauber"
26801
+ Schweinetrommelzauber: Schweinetrommelzauber_ID
26802
+ }
26803
+ | {
26804
+ kind: "Sermon"
26805
+ Sermon: Sermon_ID
26806
+ }
26807
+ | {
26808
+ kind: "SexSpecialAbility"
26809
+ SexSpecialAbility: SexSpecialAbility_ID
26810
+ }
26811
+ | {
26812
+ kind: "SickleRitual"
26813
+ SickleRitual: SickleRitual_ID
26814
+ }
26815
+ | {
26816
+ kind: "SikaryanDrainSpecialAbility"
26817
+ SikaryanDrainSpecialAbility: SikaryanDrainSpecialAbility_ID
26818
+ }
26819
+ | {
26820
+ kind: "SkillStyleSpecialAbility"
26821
+ SkillStyleSpecialAbility: SkillStyleSpecialAbility_ID
26822
+ }
26823
+ | {
26824
+ kind: "SpellSwordEnchantment"
26825
+ SpellSwordEnchantment: SpellSwordEnchantment_ID
26826
+ }
26827
+ | {
26828
+ kind: "StaffEnchantment"
26829
+ StaffEnchantment: StaffEnchantment_ID
26830
+ }
26831
+ | {
26832
+ kind: "ToyEnchantment"
26833
+ ToyEnchantment: ToyEnchantment_ID
26834
+ }
26835
+ | {
26836
+ kind: "Trinkhornzauber"
26837
+ Trinkhornzauber: Trinkhornzauber_ID
26838
+ }
26839
+ | {
26840
+ kind: "VampiricGift"
26841
+ VampiricGift: VampiricGift_ID
26842
+ }
26843
+ | {
26844
+ kind: "Vision"
26845
+ Vision: Vision_ID
26846
+ }
26847
+ | {
26848
+ kind: "WandEnchantment"
26849
+ WandEnchantment: WandEnchantment_ID
26850
+ }
26851
+ | {
26852
+ kind: "WeaponEnchantment"
26853
+ WeaponEnchantment: WeaponEnchantment_ID
26854
+ }
26855
+
26856
+ export interface SupernaturalBaseAdvantageSettings {
26857
+ /**
26858
+ * The central advantage for spellcasters.
26859
+ */
26860
+ spellcasters: Advantage_ID
26861
+
26862
+ /**
26863
+ * The central advantage for Blessed Ones.
26864
+ */
26865
+ blessed: Advantage_ID
26866
+ }
26867
+
26543
26868
  export interface SexPractice {
26544
26869
  /**
26545
26870
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.