@optolith/database-schema 0.73.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 (116) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/gen/types.d.ts +468 -110
  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 -1
  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 +6 -2
  18. package/lib/types/Locale.js +6 -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/_Identifier.d.ts +0 -1
  29. package/lib/types/_Identifier.js +0 -2
  30. package/lib/types/_SkillCheck.d.ts +9 -4
  31. package/lib/types/_SkillCheck.js +51 -5
  32. package/lib/types/equipment/item/Armor.d.ts +13 -2
  33. package/lib/types/equipment/item/Armor.js +59 -7
  34. package/lib/types/equipment/item/BandageOrRemedy.d.ts +1 -1
  35. package/lib/types/equipment/item/CeremonialItem.d.ts +1 -1
  36. package/lib/types/equipment/item/Clothes.d.ts +1 -1
  37. package/lib/types/equipment/item/Container.d.ts +1 -1
  38. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +1 -1
  39. package/lib/types/equipment/item/IlluminationLightSource.d.ts +1 -1
  40. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +1 -1
  41. package/lib/types/equipment/item/Liebesspielzeug.d.ts +1 -1
  42. package/lib/types/equipment/item/LuxuryGood.d.ts +1 -1
  43. package/lib/types/equipment/item/MagicalArtifact.d.ts +1 -1
  44. package/lib/types/equipment/item/MusicalInstrument.d.ts +1 -1
  45. package/lib/types/equipment/item/OrienteeringAid.d.ts +1 -1
  46. package/lib/types/equipment/item/Poison.d.ts +6 -3
  47. package/lib/types/equipment/item/RopeOrChain.d.ts +1 -1
  48. package/lib/types/equipment/item/Stationery.d.ts +1 -1
  49. package/lib/types/equipment/item/ThievesTool.d.ts +1 -1
  50. package/lib/types/equipment/item/TravelGearOrTool.d.ts +1 -1
  51. package/lib/types/equipment/item/WeaponAccessory.d.ts +1 -1
  52. package/lib/types/equipment/item/_Item.d.ts +2 -2
  53. package/lib/types/index.d.ts +1 -1
  54. package/lib/types/index.js +1 -1
  55. package/lib/types/magicalActions/AnimistPower.d.ts +9 -4
  56. package/lib/types/magicalActions/Curse.d.ts +9 -4
  57. package/lib/types/magicalActions/DominationRitual.d.ts +9 -4
  58. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +9 -4
  59. package/lib/types/magicalActions/GoblinRitual.d.ts +9 -4
  60. package/lib/types/magicalActions/JesterTrick.d.ts +9 -4
  61. package/lib/types/magicalActions/MagicalMelody.d.ts +9 -4
  62. package/lib/types/magicalActions/ZibiljaRitual.d.ts +9 -4
  63. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +116 -2
  64. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +116 -2
  65. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +116 -2
  66. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +116 -2
  67. package/lib/types/specialAbility/AncestorGlyph.d.ts +116 -2
  68. package/lib/types/specialAbility/BlessedTradition.d.ts +116 -2
  69. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +116 -2
  70. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +116 -2
  71. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +116 -2
  72. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +116 -2
  73. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +116 -2
  74. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +116 -2
  75. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +116 -2
  76. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +116 -2
  77. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +116 -2
  78. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +116 -2
  79. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +116 -2
  80. package/lib/types/specialAbility/LycantropicGift.d.ts +116 -2
  81. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +116 -2
  82. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +116 -2
  83. package/lib/types/specialAbility/MagicalTradition.d.ts +116 -2
  84. package/lib/types/specialAbility/PactGift.d.ts +116 -2
  85. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +116 -2
  86. package/lib/types/specialAbility/Sermon.d.ts +116 -2
  87. package/lib/types/specialAbility/SexSpecialAbility.d.ts +116 -2
  88. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +116 -2
  89. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +116 -2
  90. package/lib/types/specialAbility/VampiricGift.d.ts +116 -2
  91. package/lib/types/specialAbility/Vision.d.ts +116 -2
  92. package/lib/types/specialAbility/sub/TradeSecret.d.ts +116 -2
  93. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +116 -2
  94. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +116 -2
  95. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +116 -2
  96. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +116 -2
  97. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +116 -2
  98. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +116 -2
  99. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +116 -2
  100. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +116 -2
  101. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +116 -2
  102. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +116 -2
  103. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +116 -2
  104. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +116 -2
  105. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +116 -2
  106. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +116 -2
  107. package/lib/types/traditionArtifacts/SickleRitual.d.ts +116 -2
  108. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +116 -2
  109. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +116 -2
  110. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +116 -2
  111. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +116 -2
  112. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +116 -2
  113. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +116 -2
  114. package/package.json +6 -3
  115. package/lib/types/equipment/item/sub/ArmorType.d.ts +0 -7
  116. package/lib/types/equipment/item/sub/ArmorType.js +0 -25
package/gen/types.d.ts CHANGED
@@ -21,7 +21,6 @@ export type EntityMap = {
21
21
  ArcaneDancerTradition: ArcaneDancerTradition
22
22
  ArcaneOrbEnchantment: ArcaneOrbEnchantment
23
23
  Armor: Armor
24
- ArmorType: ArmorType
25
24
  Aspect: Aspect
26
25
  AttireEnchantment: AttireEnchantment
27
26
  Attribute: Attribute
@@ -191,6 +190,10 @@ export type EntityMap = {
191
190
  ZibiljaRitual: ZibiljaRitual
192
191
  }
193
192
 
193
+ export type SingletonEntityMap = {
194
+ Settings: Settings
195
+ }
196
+
194
197
  export type ChildEntityMap = {
195
198
  BannzeichenOption: [BannzeichenOption, "parent", BannzeichenOption["parent"]]
196
199
  BotanicRegion: [BotanicRegion, "parent", BotanicRegion["parent"]]
@@ -244,6 +247,7 @@ export type EnumMap = {
244
247
  ArcaneEnergyCostByLevelStyle: ArcaneEnergyCostByLevelStyle
245
248
  ArcaneTraditionPrerequisiteGroup: ArcaneTraditionPrerequisiteGroup
246
249
  ArmorComplexity: ArmorComplexity
250
+ ArmorType: ArmorType
247
251
  AttributeColor: AttributeColor
248
252
  AutomaticEntryAction: AutomaticEntryAction
249
253
  AutomaticEntryTarget: AutomaticEntryTarget
@@ -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
@@ -922,9 +933,12 @@ export type TypeAliasMap = {
922
933
  SpellworkPrerequisites: SpellworkPrerequisites
923
934
  SpellworksOptions: SpellworksOptions
924
935
  StandaloneCostMap: StandaloneCostMap
936
+ StandardArmorType: StandardArmorType
937
+ StandardVariantArmorType: StandardVariantArmorType
925
938
  StatePrerequisite: StatePrerequisite
926
939
  StructurePoints: StructurePoints
927
940
  StructurePointsComponent: StructurePointsComponent
941
+ SupernaturalBaseAdvantageSettings: SupernaturalBaseAdvantageSettings
928
942
  SustainedAnimistPowerPerformanceParameters: SustainedAnimistPowerPerformanceParameters
929
943
  SustainedPerformanceParameters: SustainedPerformanceParameters<unknown>
930
944
  TalismanActivation: TalismanActivation
@@ -941,6 +955,7 @@ export type TypeAliasMap = {
941
955
  TradeSecretSelectOptions: TradeSecretSelectOptions
942
956
  TribePrerequisites: TribePrerequisites
943
957
  ValueMap: ValueMap<unknown>
958
+ VariantArmorType: VariantArmorType
944
959
  VolumeByLevel: VolumeByLevel
945
960
  VolumeByLevelItem: VolumeByLevelItem
946
961
  VolumeDerivedFromSelection: VolumeDerivedFromSelection
@@ -1992,7 +2007,7 @@ export interface Locale {
1992
2007
  "magicalactions.animistforces.tribes.general": string
1993
2008
  " (modified by {$modifier})": string & { __params: { "modifier": string } }
1994
2009
  " (−{$modifier})": string & { __params: { "modifier": string } }
1995
- "{$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[] } }
1996
2011
  "Invocation Difficulty": string
1997
2012
  "ID": string
1998
2013
  "Creation Difficulty": string
@@ -2578,6 +2593,10 @@ export interface Locale {
2578
2593
  "Melee Weapons": string
2579
2594
  "Ranged Weapons": string
2580
2595
  "Armor": string
2596
+ "Standard Armor": string
2597
+ "Special Armor": string
2598
+ "Helmets": string
2599
+ "Pieces of Armor": string
2581
2600
  "Weapon Accessories": string
2582
2601
  "Clothes": string
2583
2602
  "Clothing Packages for Social Status": string
@@ -2624,7 +2643,7 @@ export interface Locale {
2624
2643
  "Witch kitchen": string
2625
2644
  "Alchemist’s laboratory": string
2626
2645
  "Resistance": string
2627
- "{$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[] } }
2628
2647
  "Start": string
2629
2648
  "immediate": string
2630
2649
  "instant": string
@@ -2806,9 +2825,9 @@ export interface LocaleMeasurementAdjustments {
2806
2825
 
2807
2826
  export interface PropertiesSelectOptionCategory {
2808
2827
  /**
2809
- * Does each property require its corresponding property knowledge?
2828
+ * Does each property require it to be active as a selection on an instance?
2810
2829
  */
2811
- require_knowledge?: boolean
2830
+ requireActiveSelectionOnEntry?: ActivatableIdentifier
2812
2831
 
2813
2832
  /**
2814
2833
  * Require a minimum number of spellworks of the respective property to be on a minimum skill rating.
@@ -2816,78 +2835,6 @@ export interface PropertiesSelectOptionCategory {
2816
2835
  require_minimum_spellworks_on?: RequiredMinimumSkillsToBeOnSkillRating
2817
2836
  }
2818
2837
 
2819
- /**
2820
- * Require a minimum number of spellworks/liturgies of the respective property/aspect to be on a minimum skill rating.
2821
- */
2822
- export interface RequiredMinimumSkillsToBeOnSkillRating {
2823
- /**
2824
- * The minimum number of liturgies that need to be on the defined minimum skill rating.
2825
- */
2826
- number: number
2827
-
2828
- /**
2829
- * The minimum skill rating the defined minimum number of liturgies need to be on.
2830
- */
2831
- rating: number
2832
- }
2833
-
2834
- export interface AspectSelectOptionCategory {
2835
- /**
2836
- * Does each aspect require its corresponding aspect knowledge?
2837
- */
2838
- require_knowledge?: boolean
2839
-
2840
- /**
2841
- * 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.
2842
- */
2843
- use_master_of_suffix_as_name?: boolean
2844
-
2845
- /**
2846
- * Require a minimum number of liturgies of the respective aspect to be on a minimum skill rating.
2847
- */
2848
- require_minimum_liturgies_on?: RequiredMinimumSkillsToBeOnSkillRating
2849
- }
2850
-
2851
- export interface DiseasesPoisonsSelectOptionCategory {
2852
- /**
2853
- * Only convert half the disease/poison level into the AP value.
2854
- */
2855
- use_half_level_as_ap_value?: boolean
2856
- }
2857
-
2858
- export interface LanguagesSelectOptionCategory {
2859
- /**
2860
- * Generate prerequisites for each entry of the category.
2861
- */
2862
- prerequisites?: LanguagesSelectOptionCategoryPrerequisite[]
2863
- }
2864
-
2865
- export type LanguagesSelectOptionCategoryPrerequisite =
2866
- | {
2867
- kind: "SelectOption"
2868
- SelectOption: OptionPrerequisite
2869
- }
2870
-
2871
- /**
2872
- * The entry requires or prohibits itself as a select option of another entry.
2873
- */
2874
- export interface OptionPrerequisite {
2875
- /**
2876
- * The target entry's identifier.
2877
- */
2878
- id: ActivatableIdentifier
2879
-
2880
- /**
2881
- * Is the select option required (`true`) or prohibited (`false`)?
2882
- */
2883
- active: boolean
2884
-
2885
- /**
2886
- * The required level, if any.
2887
- */
2888
- level?: number
2889
- }
2890
-
2891
2838
  export type ActivatableIdentifier =
2892
2839
  | {
2893
2840
  kind: "Advantage"
@@ -5398,7 +5345,7 @@ export interface Disease {
5398
5345
  level: number
5399
5346
 
5400
5347
  /**
5401
- * 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.
5402
5349
  */
5403
5350
  resistance: Resistance
5404
5351
 
@@ -5495,19 +5442,38 @@ export interface DiseaseTranslation {
5495
5442
  }
5496
5443
 
5497
5444
  /**
5498
- * 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.
5499
5446
  */
5500
5447
  export type Resistance =
5501
5448
  | {
5502
- kind: "Spirit"
5503
- }
5504
- | {
5505
- kind: "Toughness"
5449
+ kind: "Single"
5450
+ Single: SingleResistance
5506
5451
  }
5507
5452
  | {
5508
- kind: "LowerOfSpiritAndToughness"
5453
+ kind: "Minimum"
5454
+ Minimum: MinimumResistance
5509
5455
  }
5510
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
+
5511
5477
  /**
5512
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.
5513
5479
  */
@@ -6657,27 +6623,57 @@ export interface LiturgicalChantTranslation {
6657
6623
  */
6658
6624
  export type SkillCheckPenalty =
6659
6625
  | {
6660
- kind: "Spirit"
6626
+ kind: "DerivedCharacteristic"
6627
+ DerivedCharacteristic: DerivedCharacteristicSkillCheckPenalty
6661
6628
  }
6662
6629
  | {
6663
- kind: "HalfOfSpirit"
6664
- }
6665
- | {
6666
- kind: "Toughness"
6630
+ kind: "SummoningDifficulty"
6667
6631
  }
6668
6632
  | {
6669
- kind: "HigherOfSpiritAndToughness"
6633
+ kind: "CreationDifficulty"
6670
6634
  }
6671
6635
  | {
6672
- kind: "SummoningDifficulty"
6636
+ kind: "Object"
6673
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 =
6674
6643
  | {
6675
- kind: "CreationDifficulty"
6644
+ kind: "Single"
6645
+ Single: SingleDerivedCharacteristicSkillCheckPenalty
6676
6646
  }
6677
6647
  | {
6678
- kind: "Object"
6648
+ kind: "Maximum"
6649
+ Maximum: MaximumDerivedCharacteristicSkillCheckPenalty
6679
6650
  }
6680
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
+
6681
6677
  export type FastPerformanceParameters =
6682
6678
  | {
6683
6679
  kind: "OneTime"
@@ -20979,6 +20975,78 @@ export type TradeSecretSelectOptionCategory =
20979
20975
  TargetCategories: TargetCategoriesSelectOptionCategory
20980
20976
  }
20981
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
+
20982
21050
  export interface SkillsSelectOptionCategory {
20983
21051
  /**
20984
21052
  * A list of skill categories.
@@ -22499,7 +22567,7 @@ export interface AnimalDisease {
22499
22567
  level: number
22500
22568
 
22501
22569
  /**
22502
- * 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.
22503
22571
  */
22504
22572
  resistance: Resistance
22505
22573
 
@@ -22642,9 +22710,9 @@ export interface Armor {
22642
22710
  has_additional_penalties: HasAdditionalPenalties
22643
22711
 
22644
22712
  /**
22645
- * The armor type..
22713
+ * The armor type.
22646
22714
  */
22647
- armor_type: ArmorType_ID
22715
+ armorType: ArmorType
22648
22716
 
22649
22717
  /**
22650
22718
  * Specify if armor is only available for a specific hit zone.
@@ -22751,30 +22819,56 @@ export type Encumbrance = number
22751
22819
  */
22752
22820
  export type HasAdditionalPenalties = boolean
22753
22821
 
22754
- export interface ArmorType {
22822
+ /**
22823
+ * The armor type.
22824
+ */
22825
+ export type ArmorType =
22826
+ | {
22827
+ kind: "Standard"
22828
+ Standard: StandardArmorType
22829
+ }
22830
+ | {
22831
+ kind: "StandardVariant"
22832
+ StandardVariant: StandardVariantArmorType
22833
+ }
22834
+ | {
22835
+ kind: "Variant"
22836
+ Variant: VariantArmorType
22837
+ }
22838
+
22839
+ /**
22840
+ * A standard armor.
22841
+ */
22842
+ export interface StandardArmorType {
22755
22843
  /**
22756
22844
  * An armor type can have a *sturdiness rating*. The higher the rating, the more durable the armor. Rolling higher than this rating during a sturdiness check means the armor receives one level of the new condition *Wear*.
22757
22845
  */
22758
- sturdiness_rating?: number
22846
+ sturdinessRating: number
22847
+ }
22759
22848
 
22849
+ /**
22850
+ * The armor is a variant of a standard armor but still defines its own sturdiness rating and thus its own armor type.
22851
+ */
22852
+ export interface StandardVariantArmorType {
22760
22853
  /**
22761
- * All translations for the entry, identified by IETF language tag (BCP47).
22854
+ * The standard armor this armor is a variant of.
22762
22855
  */
22763
- translations: {
22764
- [localeId: string]: ArmorTypeTranslation
22765
- }
22856
+ variantOf: Armor_ID
22857
+
22858
+ /**
22859
+ * An armor type can have a *sturdiness rating*. The higher the rating, the more durable the armor. Rolling higher than this rating during a sturdiness check means the armor receives one level of the new condition *Wear*.
22860
+ */
22861
+ sturdinessRating: number
22766
22862
  }
22767
22863
 
22768
22864
  /**
22769
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
22865
+ * The armor is a variant of a standard armor but also defines its own .
22770
22866
  */
22771
- export type ArmorType_ID = string
22772
-
22773
- export interface ArmorTypeTranslation {
22867
+ export interface VariantArmorType {
22774
22868
  /**
22775
- * The armor type’s name.
22869
+ * The standard armor this armor is a variant of.
22776
22870
  */
22777
- name: string
22871
+ variantOf: Armor_ID
22778
22872
  }
22779
22873
 
22780
22874
  /**
@@ -22956,9 +23050,9 @@ export interface SecondaryArmor {
22956
23050
  has_additional_penalties: HasAdditionalPenalties
22957
23051
 
22958
23052
  /**
22959
- * The armor type..
23053
+ * The standard armor this armor is a variant of.
22960
23054
  */
22961
- armor_type: ArmorType_ID
23055
+ variantOf: Armor_ID
22962
23056
 
22963
23057
  /**
22964
23058
  * Specify if armor is only available for a specific hit zone.
@@ -26507,6 +26601,270 @@ export type ServiceAvailability =
26507
26601
  kind: "Monstrosities"
26508
26602
  }
26509
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
+
26510
26868
  export interface SexPractice {
26511
26869
  /**
26512
26870
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.