@optolith/database-schema 0.74.0 → 0.76.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (110) hide show
  1. package/CHANGELOG.md +30 -0
  2. package/gen/types.d.ts +495 -94
  3. package/lib/cache/activatableSelectOptions.js +74 -33
  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 +123 -2
  12. package/lib/types/AnimalDisease.d.ts +6 -3
  13. package/lib/types/Ceremony.d.ts +13 -4
  14. package/lib/types/Disadvantage.d.ts +123 -2
  15. package/lib/types/Disease.d.ts +6 -3
  16. package/lib/types/LiturgicalChant.d.ts +13 -4
  17. package/lib/types/Locale.d.ts +4 -2
  18. package/lib/types/Locale.js +4 -2
  19. package/lib/types/Profession.d.ts +7 -0
  20. package/lib/types/Profession.js +8 -1
  21. package/lib/types/Ritual.d.ts +13 -4
  22. package/lib/types/Settings.d.ts +129 -0
  23. package/lib/types/Settings.js +83 -0
  24. package/lib/types/Spell.d.ts +13 -4
  25. package/lib/types/_ActivatableAdventurePointsValue.d.ts +2 -0
  26. package/lib/types/_ActivatableMagical.d.ts +2 -0
  27. package/lib/types/_ActivatableMagical.js +2 -0
  28. package/lib/types/_ActivatableNonMundane.d.ts +5 -0
  29. package/lib/types/_ActivatableSelectOptionCategory.d.ts +240 -4
  30. package/lib/types/_ActivatableSelectOptionCategory.js +19 -7
  31. package/lib/types/_ActivatableSelectOptions.d.ts +120 -2
  32. package/lib/types/_ActivatableSkill.d.ts +10 -0
  33. package/lib/types/_ActivatableSkillCost.d.ts +5 -0
  34. package/lib/types/_ActivatableSkillParameterMap.d.ts +2 -0
  35. package/lib/types/_ActivatableSkillParameterMap.js +13 -3
  36. package/lib/types/_DiseasePoison.d.ts +12 -6
  37. package/lib/types/_DiseasePoison.js +40 -5
  38. package/lib/types/_Identifier.d.ts +1 -0
  39. package/lib/types/_Identifier.js +2 -1
  40. package/lib/types/_SkillCheck.d.ts +9 -4
  41. package/lib/types/_SkillCheck.js +51 -5
  42. package/lib/types/equipment/item/Poison.d.ts +6 -3
  43. package/lib/types/index.d.ts +1 -0
  44. package/lib/types/index.js +1 -0
  45. package/lib/types/magicalActions/AnimistPower.d.ts +9 -4
  46. package/lib/types/magicalActions/Bannzeichen.d.ts +1 -0
  47. package/lib/types/magicalActions/Curse.d.ts +9 -4
  48. package/lib/types/magicalActions/DominationRitual.d.ts +9 -4
  49. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +9 -4
  50. package/lib/types/magicalActions/GeodeRitual.d.ts +1 -0
  51. package/lib/types/magicalActions/GoblinRitual.d.ts +9 -4
  52. package/lib/types/magicalActions/JesterTrick.d.ts +9 -4
  53. package/lib/types/magicalActions/MagicalMelody.d.ts +9 -4
  54. package/lib/types/magicalActions/ZibiljaRitual.d.ts +11 -4
  55. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +121 -2
  56. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +121 -2
  57. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +121 -2
  58. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +121 -2
  59. package/lib/types/specialAbility/AncestorGlyph.d.ts +121 -2
  60. package/lib/types/specialAbility/BlessedTradition.d.ts +121 -2
  61. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +121 -2
  62. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +121 -2
  63. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +121 -2
  64. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +121 -2
  65. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +121 -2
  66. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +121 -2
  67. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +121 -2
  68. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +121 -2
  69. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +121 -2
  70. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +121 -2
  71. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +121 -2
  72. package/lib/types/specialAbility/LycantropicGift.d.ts +121 -2
  73. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +121 -2
  74. package/lib/types/specialAbility/MagicalSign.d.ts +1 -0
  75. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +121 -2
  76. package/lib/types/specialAbility/MagicalTradition.d.ts +121 -2
  77. package/lib/types/specialAbility/PactGift.d.ts +121 -2
  78. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +121 -2
  79. package/lib/types/specialAbility/Sermon.d.ts +121 -2
  80. package/lib/types/specialAbility/SexSpecialAbility.d.ts +121 -2
  81. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +121 -2
  82. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +121 -2
  83. package/lib/types/specialAbility/VampiricGift.d.ts +121 -2
  84. package/lib/types/specialAbility/Vision.d.ts +121 -2
  85. package/lib/types/specialAbility/sub/TradeSecret.d.ts +121 -2
  86. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +124 -2
  87. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +124 -2
  88. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +124 -2
  89. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +124 -2
  90. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +124 -2
  91. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +124 -2
  92. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +124 -2
  93. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +124 -2
  94. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +124 -2
  95. package/lib/types/traditionArtifacts/Hauerkettenzauber.d.ts +4 -0
  96. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +124 -2
  97. package/lib/types/traditionArtifacts/Keulenzauber.d.ts +4 -0
  98. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +124 -2
  99. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +124 -2
  100. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +124 -2
  101. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +124 -2
  102. package/lib/types/traditionArtifacts/Schweinetrommelzauber.d.ts +4 -0
  103. package/lib/types/traditionArtifacts/SickleRitual.d.ts +124 -2
  104. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +124 -2
  105. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +124 -2
  106. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +124 -2
  107. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +124 -2
  108. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +123 -2
  109. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +124 -2
  110. package/package.json +6 -3
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"]]
@@ -256,6 +260,7 @@ export type EnumMap = {
256
260
  BlessedCommonProfessionConstraint: BlessedCommonProfessionConstraint
257
261
  BlessedTraditionPrerequisiteRestriction: BlessedTraditionPrerequisiteRestriction
258
262
  BlessedTraditionType: BlessedTraditionType
263
+ BlessedTraditionTypeForSelectOptionCategory: BlessedTraditionTypeForSelectOptionCategory
259
264
  BlessingDuration: BlessingDuration
260
265
  BlessingRange: BlessingRange
261
266
  BookContentQuality: BookContentQuality
@@ -298,6 +303,7 @@ export type EnumMap = {
298
303
  DerivedCharacteristicModifierPrerequisiteGroup: DerivedCharacteristicModifierPrerequisiteGroup
299
304
  DerivedCharacteristicPrerequisiteGroup: DerivedCharacteristicPrerequisiteGroup
300
305
  DerivedCharacteristicPrimaryAttributeValue: DerivedCharacteristicPrimaryAttributeValue
306
+ DerivedCharacteristicSkillCheckPenalty: DerivedCharacteristicSkillCheckPenalty
301
307
  DerivedCharacteristicType: DerivedCharacteristicType
302
308
  DisplayOption: DisplayOption
303
309
  DominationRitualDuration: DominationRitualDuration
@@ -445,6 +451,7 @@ export type EnumMap = {
445
451
  SlowPerformanceParameters: SlowPerformanceParameters
446
452
  SlowSkillCastingTimeUnit: SlowSkillCastingTimeUnit
447
453
  SpecialAbilityGroup: SpecialAbilityGroup
454
+ SpecialAbilityIdentifier: SpecialAbilityIdentifier
448
455
  SpecificAffectedTargetCategoryIdentifier: SpecificAffectedTargetCategoryIdentifier
449
456
  SpecificFromSkillSelectOptionCategoryCategoryOperation: SpecificFromSkillSelectOptionCategoryCategoryOperation
450
457
  SpellFilter: SpellFilter
@@ -603,6 +610,7 @@ export type TypeAliasMap = {
603
610
  DerivedCharacteristicPrerequisites: DerivedCharacteristicPrerequisites
604
611
  DerivedCharacteristicPurchase: DerivedCharacteristicPurchase
605
612
  DerivedEnhancementAdventurePoints: DerivedEnhancementAdventurePoints
613
+ DerivedTradeSecretsSettings: DerivedTradeSecretsSettings
606
614
  Dice: Dice
607
615
  DiceBasedIntoxicantAddictionInterval: DiceBasedIntoxicantAddictionInterval
608
616
  DieType: DieType
@@ -748,10 +756,12 @@ export type TypeAliasMap = {
748
756
  MagicalSkillRating: MagicalSkillRating
749
757
  MagicalTraditionConstraint: MagicalTraditionConstraint
750
758
  MagicalTraditionPrerequisite: MagicalTraditionPrerequisite
759
+ MaximumDerivedCharacteristicSkillCheckPenalty: MaximumDerivedCharacteristicSkillCheckPenalty
751
760
  MeleeDamage: MeleeDamage
752
761
  MeleeWeapon: MeleeWeapon
753
762
  MineralPoison: MineralPoison
754
763
  MinimumCollectorsValue: MinimumCollectorsValue
764
+ MinimumResistance: MinimumResistance
755
765
  ModifiableCastingTime: ModifiableCastingTime
756
766
  ModifiableOneTimeCost: ModifiableOneTimeCost
757
767
  ModifiableOneTimeCostMap: ModifiableOneTimeCostMap
@@ -887,9 +897,11 @@ export type TypeAliasMap = {
887
897
  ShamanisticBlessedTradition: ShamanisticBlessedTradition
888
898
  Since: Since
889
899
  SingleBannzeichenCost: SingleBannzeichenCost
900
+ SingleDerivedCharacteristicSkillCheckPenalty: SingleDerivedCharacteristicSkillCheckPenalty
890
901
  SingleMagicalRuneCost: SingleMagicalRuneCost
891
902
  SinglePenalty: SinglePenalty
892
903
  SinglePrimaryAttributeDamageThreshold: SinglePrimaryAttributeDamageThreshold
904
+ SingleResistance: SingleResistance
893
905
  SkillAdjustment: SkillAdjustment
894
906
  SkillAnimalPower: SkillAnimalPower
895
907
  SkillApplicationOrUse: SkillApplicationOrUse
@@ -927,6 +939,8 @@ export type TypeAliasMap = {
927
939
  StatePrerequisite: StatePrerequisite
928
940
  StructurePoints: StructurePoints
929
941
  StructurePointsComponent: StructurePointsComponent
942
+ StyleSpecialAbilitySettings: StyleSpecialAbilitySettings
943
+ SupernaturalBaseAdvantageSettings: SupernaturalBaseAdvantageSettings
930
944
  SustainedAnimistPowerPerformanceParameters: SustainedAnimistPowerPerformanceParameters
931
945
  SustainedPerformanceParameters: SustainedPerformanceParameters<unknown>
932
946
  TalismanActivation: TalismanActivation
@@ -1217,8 +1231,24 @@ export interface BlessedTraditionsSelectOptionCategory {
1217
1231
  * Should the principles (code) of the tradition be required to select the respective tradition?
1218
1232
  */
1219
1233
  require_principles?: boolean
1234
+
1235
+ /**
1236
+ * If set, only includes traditions of the specified type.
1237
+ */
1238
+ onlyType?: BlessedTraditionTypeForSelectOptionCategory
1220
1239
  }
1221
1240
 
1241
+ /**
1242
+ * The type of the tradition. May be either church or shamanistic.
1243
+ */
1244
+ export type BlessedTraditionTypeForSelectOptionCategory =
1245
+ | {
1246
+ kind: "Church"
1247
+ }
1248
+ | {
1249
+ kind: "Shamanistic"
1250
+ }
1251
+
1222
1252
  export interface ElementsSelectOptionCategory {
1223
1253
  /**
1224
1254
  * Only include entries with the listed identifiers.
@@ -1995,7 +2025,7 @@ export interface Locale {
1995
2025
  "magicalactions.animistforces.tribes.general": string
1996
2026
  " (modified by {$modifier})": string & { __params: { "modifier": string } }
1997
2027
  " (−{$modifier})": string & { __params: { "modifier": string } }
1998
- "{$first} or {$second}, depending on which value is higher": string & { __params: { "first": string; "second": string } }
2028
+ "{$values :list type=disjunction}, depending on which value is higher": string & { __params: { "values": string[] } }
1999
2029
  "Invocation Difficulty": string
2000
2030
  "ID": string
2001
2031
  "Creation Difficulty": string
@@ -2467,6 +2497,8 @@ export interface Locale {
2467
2497
  "Magical Punishment": string
2468
2498
  "Blessed Rank": string
2469
2499
  "Blessed Title": string
2500
+ "Blessed Honor": string
2501
+ "Blessed Punishment": string
2470
2502
  ".input {$ord :number} {{{$ord}. attack}}": string & { __params: { "ord": number } }
2471
2503
  ".input {$ord :number} {{{$ord}. throw}}": string & { __params: { "ord": number } }
2472
2504
  "depending on the level of the special ability {$name}": string & { __params: { "name": string } }
@@ -2631,7 +2663,7 @@ export interface Locale {
2631
2663
  "Witch kitchen": string
2632
2664
  "Alchemist’s laboratory": string
2633
2665
  "Resistance": string
2634
- "{$first} or {$second}, depending on which value is lower": string & { __params: { "first": string; "second": string } }
2666
+ "{$values :list type=disjunction}, depending on which value is lower": string & { __params: { "values": string[] } }
2635
2667
  "Start": string
2636
2668
  "immediate": string
2637
2669
  "instant": string
@@ -2813,9 +2845,9 @@ export interface LocaleMeasurementAdjustments {
2813
2845
 
2814
2846
  export interface PropertiesSelectOptionCategory {
2815
2847
  /**
2816
- * Does each property require its corresponding property knowledge?
2848
+ * Does each property require it to be active as a selection on an instance?
2817
2849
  */
2818
- require_knowledge?: boolean
2850
+ requireActiveSelectionOnEntry?: ActivatableIdentifier
2819
2851
 
2820
2852
  /**
2821
2853
  * Require a minimum number of spellworks of the respective property to be on a minimum skill rating.
@@ -2823,78 +2855,6 @@ export interface PropertiesSelectOptionCategory {
2823
2855
  require_minimum_spellworks_on?: RequiredMinimumSkillsToBeOnSkillRating
2824
2856
  }
2825
2857
 
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
2858
  export type ActivatableIdentifier =
2899
2859
  | {
2900
2860
  kind: "Advantage"
@@ -3253,6 +3213,12 @@ export type AdvantageDisadvantageSubtype =
3253
3213
  | {
3254
3214
  kind: "BlessedTitle"
3255
3215
  }
3216
+ | {
3217
+ kind: "BlessedHonor"
3218
+ }
3219
+ | {
3220
+ kind: "BlessedPunishment"
3221
+ }
3256
3222
 
3257
3223
  export interface GeneralSelectOption {
3258
3224
  /**
@@ -5405,7 +5371,7 @@ export interface Disease {
5405
5371
  level: number
5406
5372
 
5407
5373
  /**
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.
5374
+ * 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
5375
  */
5410
5376
  resistance: Resistance
5411
5377
 
@@ -5502,19 +5468,38 @@ export interface DiseaseTranslation {
5502
5468
  }
5503
5469
 
5504
5470
  /**
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.
5471
+ * 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
5472
  */
5507
5473
  export type Resistance =
5508
5474
  | {
5509
- kind: "Spirit"
5510
- }
5511
- | {
5512
- kind: "Toughness"
5475
+ kind: "Single"
5476
+ Single: SingleResistance
5513
5477
  }
5514
5478
  | {
5515
- kind: "LowerOfSpiritAndToughness"
5479
+ kind: "Minimum"
5480
+ Minimum: MinimumResistance
5516
5481
  }
5517
5482
 
5483
+ /**
5484
+ * A single derived characteristic that classifies as a resistance.
5485
+ */
5486
+ export interface SingleResistance {
5487
+ /**
5488
+ * The derived characteristic that is used for the skill check.
5489
+ */
5490
+ derivedCharacteristic: DerivedCharacteristic_ID
5491
+ }
5492
+
5493
+ /**
5494
+ * Multiple derived characteristics that classify as resistances whose minimum value represents the actual resistance against the disease.
5495
+ */
5496
+ export interface MinimumResistance {
5497
+ /**
5498
+ * The derived characteristic that is used for the skill check.
5499
+ */
5500
+ derivedCharacteristics: DerivedCharacteristic_ID[]
5501
+ }
5502
+
5518
5503
  /**
5519
5504
  * 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
5505
  */
@@ -6664,27 +6649,57 @@ export interface LiturgicalChantTranslation {
6664
6649
  */
6665
6650
  export type SkillCheckPenalty =
6666
6651
  | {
6667
- kind: "Spirit"
6652
+ kind: "DerivedCharacteristic"
6653
+ DerivedCharacteristic: DerivedCharacteristicSkillCheckPenalty
6668
6654
  }
6669
6655
  | {
6670
- kind: "HalfOfSpirit"
6671
- }
6672
- | {
6673
- kind: "Toughness"
6656
+ kind: "SummoningDifficulty"
6674
6657
  }
6675
6658
  | {
6676
- kind: "HigherOfSpiritAndToughness"
6659
+ kind: "CreationDifficulty"
6677
6660
  }
6678
6661
  | {
6679
- kind: "SummoningDifficulty"
6662
+ kind: "Object"
6680
6663
  }
6664
+
6665
+ /**
6666
+ * A derived characteristic that classifies as a resistance that represents a penalty for the associated skill check.
6667
+ */
6668
+ export type DerivedCharacteristicSkillCheckPenalty =
6681
6669
  | {
6682
- kind: "CreationDifficulty"
6670
+ kind: "Single"
6671
+ Single: SingleDerivedCharacteristicSkillCheckPenalty
6683
6672
  }
6684
6673
  | {
6685
- kind: "Object"
6674
+ kind: "Maximum"
6675
+ Maximum: MaximumDerivedCharacteristicSkillCheckPenalty
6686
6676
  }
6687
6677
 
6678
+ /**
6679
+ * 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.
6680
+ */
6681
+ export interface SingleDerivedCharacteristicSkillCheckPenalty {
6682
+ /**
6683
+ * The derived characteristic that is used for the skill check.
6684
+ */
6685
+ derivedCharacteristic: DerivedCharacteristic_ID
6686
+
6687
+ /**
6688
+ * Is the penalty halved for this skill check?
6689
+ */
6690
+ halved: boolean
6691
+ }
6692
+
6693
+ /**
6694
+ * Multiple derived characteristics that classify as resistances whose maximum value represents a penalty for the associated skill check.
6695
+ */
6696
+ export interface MaximumDerivedCharacteristicSkillCheckPenalty {
6697
+ /**
6698
+ * The derived characteristic that is used for the skill check.
6699
+ */
6700
+ derivedCharacteristics: DerivedCharacteristic_ID[]
6701
+ }
6702
+
6688
6703
  export type FastPerformanceParameters =
6689
6704
  | {
6690
6705
  kind: "OneTime"
@@ -7045,7 +7060,13 @@ export interface ValueMapTranslation {
7045
7060
  }
7046
7061
 
7047
7062
  /**
7048
- * The style of the generated string. It may either be displayed in a compressed way (e.g. `1/2/3 AE for a small/medium/large object`) or in a verbose way (e.g. `1 AE for a small object, 2 AE for a medium object, 3 AE for a large object`).
7063
+ * The style of the generated string. It may be displayed
7064
+ *
7065
+ * - in a `compressed` way (e.g. *1/1/2 AE for a small/medium/large object*),
7066
+ * - in a `verbose` way (e.g. *1 AE for a small object, 1 AE for a medium object, 2 AE for a large object*),
7067
+ * - or in a `grouped` way (e.g. *small/medium object: 1 AE, large object: 2 AE*).
7068
+ *
7069
+ * A `grouped` style only really makes sense if multiple options share the same value.
7049
7070
  */
7050
7071
  export type ValueMapStyle =
7051
7072
  | {
@@ -7054,6 +7075,9 @@ export type ValueMapStyle =
7054
7075
  | {
7055
7076
  kind: "Verbose"
7056
7077
  }
7078
+ | {
7079
+ kind: "Grouped"
7080
+ }
7057
7081
 
7058
7082
  export interface ParameterMapOption<Value> {
7059
7083
  /**
@@ -18316,6 +18340,11 @@ export interface ProfessionMagicalActionIdentifier {
18316
18340
  * The identifier of the magical action to provide the rating for.
18317
18341
  */
18318
18342
  id: MagicalActionIdentifier
18343
+
18344
+ /**
18345
+ * Some Bannzeichen have options that can be selected. If the magical action has an option, this property can be set to specify the option.
18346
+ */
18347
+ option?: BannzeichenOption_ID
18319
18348
  }
18320
18349
 
18321
18350
  export type MagicalActionIdentifier =
@@ -20986,6 +21015,78 @@ export type TradeSecretSelectOptionCategory =
20986
21015
  TargetCategories: TargetCategoriesSelectOptionCategory
20987
21016
  }
20988
21017
 
21018
+ export interface AspectSelectOptionCategory {
21019
+ /**
21020
+ * Does each aspect require it to be active as a selection on an instance?
21021
+ */
21022
+ requireActiveSelectionOnEntry?: ActivatableIdentifier
21023
+
21024
+ /**
21025
+ * 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.
21026
+ */
21027
+ use_master_of_suffix_as_name?: boolean
21028
+
21029
+ /**
21030
+ * Require a minimum number of liturgies of the respective aspect to be on a minimum skill rating.
21031
+ */
21032
+ require_minimum_liturgies_on?: RequiredMinimumSkillsToBeOnSkillRating
21033
+ }
21034
+
21035
+ /**
21036
+ * Require a minimum number of spellworks/liturgies of the respective property/aspect to be on a minimum skill rating.
21037
+ */
21038
+ export interface RequiredMinimumSkillsToBeOnSkillRating {
21039
+ /**
21040
+ * The minimum number of liturgies that need to be on the defined minimum skill rating.
21041
+ */
21042
+ number: number
21043
+
21044
+ /**
21045
+ * The minimum skill rating the defined minimum number of liturgies need to be on.
21046
+ */
21047
+ rating: number
21048
+ }
21049
+
21050
+ export interface DiseasesPoisonsSelectOptionCategory {
21051
+ /**
21052
+ * Only convert half the disease/poison level into the AP value.
21053
+ */
21054
+ use_half_level_as_ap_value?: boolean
21055
+ }
21056
+
21057
+ export interface LanguagesSelectOptionCategory {
21058
+ /**
21059
+ * Generate prerequisites for each entry of the category.
21060
+ */
21061
+ prerequisites?: LanguagesSelectOptionCategoryPrerequisite[]
21062
+ }
21063
+
21064
+ export type LanguagesSelectOptionCategoryPrerequisite =
21065
+ | {
21066
+ kind: "SelectOption"
21067
+ SelectOption: OptionPrerequisite
21068
+ }
21069
+
21070
+ /**
21071
+ * The entry requires or prohibits itself as a select option of another entry.
21072
+ */
21073
+ export interface OptionPrerequisite {
21074
+ /**
21075
+ * The target entry's identifier.
21076
+ */
21077
+ id: ActivatableIdentifier
21078
+
21079
+ /**
21080
+ * Is the select option required (`true`) or prohibited (`false`)?
21081
+ */
21082
+ active: boolean
21083
+
21084
+ /**
21085
+ * The required level, if any.
21086
+ */
21087
+ level?: number
21088
+ }
21089
+
20989
21090
  export interface SkillsSelectOptionCategory {
20990
21091
  /**
20991
21092
  * A list of skill categories.
@@ -22506,7 +22607,7 @@ export interface AnimalDisease {
22506
22607
  level: number
22507
22608
 
22508
22609
  /**
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.
22610
+ * 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
22611
  */
22511
22612
  resistance: Resistance
22512
22613
 
@@ -26540,6 +26641,306 @@ export type ServiceAvailability =
26540
26641
  kind: "Monstrosities"
26541
26642
  }
26542
26643
 
26644
+ export interface Settings {
26645
+ /**
26646
+ * The default experience level for new characters and profession packages.
26647
+ */
26648
+ defaultExperienceLevel: ExperienceLevel_ID
26649
+
26650
+ /**
26651
+ * Which derived characteristics are affected by additional armor penalties.
26652
+ */
26653
+ additionalArmorPenalties: DerivedCharacteristic_ID[]
26654
+
26655
+ /**
26656
+ * Settings for derived trade secrets.
26657
+ */
26658
+ derivedTradeSecrets: DerivedTradeSecretsSettings
26659
+
26660
+ /**
26661
+ * Settings for supernatural base advantages.
26662
+ */
26663
+ supernaturalBaseAdvantages: SupernaturalBaseAdvantageSettings
26664
+
26665
+ /**
26666
+ * Style Special Abilities and Advanced Special Abilities are part of focus rules. This type defines which focus rule must be enabled in order to use any of these special abilities. Essentially, this is a default prerequisite all of these special abilities must meet, but manually inserting them with every special ability is a lot of work and error-prone. Therefore, in order to use any of these special abilities, prerequisites for the respective focus rule must be generated for every entry.
26667
+ */
26668
+ styles: StyleSpecialAbilitySettings
26669
+ }
26670
+
26671
+ /**
26672
+ * Settings for derived trade secrets.
26673
+ */
26674
+ export interface DerivedTradeSecretsSettings {
26675
+ /**
26676
+ * The special ability required to buy derived trade secrets for weapons.
26677
+ */
26678
+ requiredSpecialAbilityForWeapons: SpecialAbilityIdentifier
26679
+
26680
+ /**
26681
+ * The special ability required to buy derived trade secrets for armor.
26682
+ */
26683
+ requiredSpecialAbilityForArmor: SpecialAbilityIdentifier
26684
+ }
26685
+
26686
+ export type SpecialAbilityIdentifier =
26687
+ | {
26688
+ kind: "AdvancedCombatSpecialAbility"
26689
+ AdvancedCombatSpecialAbility: AdvancedCombatSpecialAbility_ID
26690
+ }
26691
+ | {
26692
+ kind: "AdvancedKarmaSpecialAbility"
26693
+ AdvancedKarmaSpecialAbility: AdvancedKarmaSpecialAbility_ID
26694
+ }
26695
+ | {
26696
+ kind: "AdvancedMagicalSpecialAbility"
26697
+ AdvancedMagicalSpecialAbility: AdvancedMagicalSpecialAbility_ID
26698
+ }
26699
+ | {
26700
+ kind: "AdvancedSkillSpecialAbility"
26701
+ AdvancedSkillSpecialAbility: AdvancedSkillSpecialAbility_ID
26702
+ }
26703
+ | {
26704
+ kind: "AncestorGlyph"
26705
+ AncestorGlyph: AncestorGlyph_ID
26706
+ }
26707
+ | {
26708
+ kind: "ArcaneOrbEnchantment"
26709
+ ArcaneOrbEnchantment: ArcaneOrbEnchantment_ID
26710
+ }
26711
+ | {
26712
+ kind: "AttireEnchantment"
26713
+ AttireEnchantment: AttireEnchantment_ID
26714
+ }
26715
+ | {
26716
+ kind: "Beutelzauber"
26717
+ Beutelzauber: Beutelzauber_ID
26718
+ }
26719
+ | {
26720
+ kind: "BlessedTradition"
26721
+ BlessedTradition: BlessedTradition_ID
26722
+ }
26723
+ | {
26724
+ kind: "BowlEnchantment"
26725
+ BowlEnchantment: BowlEnchantment_ID
26726
+ }
26727
+ | {
26728
+ kind: "BrawlingSpecialAbility"
26729
+ BrawlingSpecialAbility: BrawlingSpecialAbility_ID
26730
+ }
26731
+ | {
26732
+ kind: "CauldronEnchantment"
26733
+ CauldronEnchantment: CauldronEnchantment_ID
26734
+ }
26735
+ | {
26736
+ kind: "CeremonialItemSpecialAbility"
26737
+ CeremonialItemSpecialAbility: CeremonialItemSpecialAbility_ID
26738
+ }
26739
+ | {
26740
+ kind: "ChronicleEnchantment"
26741
+ ChronicleEnchantment: ChronicleEnchantment_ID
26742
+ }
26743
+ | {
26744
+ kind: "CombatSpecialAbility"
26745
+ CombatSpecialAbility: CombatSpecialAbility_ID
26746
+ }
26747
+ | {
26748
+ kind: "CombatStyleSpecialAbility"
26749
+ CombatStyleSpecialAbility: CombatStyleSpecialAbility_ID
26750
+ }
26751
+ | {
26752
+ kind: "CommandSpecialAbility"
26753
+ CommandSpecialAbility: CommandSpecialAbility_ID
26754
+ }
26755
+ | {
26756
+ kind: "DaggerRitual"
26757
+ DaggerRitual: DaggerRitual_ID
26758
+ }
26759
+ | {
26760
+ kind: "FamiliarSpecialAbility"
26761
+ FamiliarSpecialAbility: FamiliarSpecialAbility_ID
26762
+ }
26763
+ | {
26764
+ kind: "FatePointSexSpecialAbility"
26765
+ FatePointSexSpecialAbility: FatePointSexSpecialAbility_ID
26766
+ }
26767
+ | {
26768
+ kind: "FatePointSpecialAbility"
26769
+ FatePointSpecialAbility: FatePointSpecialAbility_ID
26770
+ }
26771
+ | {
26772
+ kind: "FoolsHatEnchantment"
26773
+ FoolsHatEnchantment: FoolsHatEnchantment_ID
26774
+ }
26775
+ | {
26776
+ kind: "GeneralSpecialAbility"
26777
+ GeneralSpecialAbility: GeneralSpecialAbility_ID
26778
+ }
26779
+ | {
26780
+ kind: "Haubenzauber"
26781
+ Haubenzauber: Haubenzauber_ID
26782
+ }
26783
+ | {
26784
+ kind: "Hauerkettenzauber"
26785
+ Hauerkettenzauber: Hauerkettenzauber_ID
26786
+ }
26787
+ | {
26788
+ kind: "InstrumentEnchantment"
26789
+ InstrumentEnchantment: InstrumentEnchantment_ID
26790
+ }
26791
+ | {
26792
+ kind: "KarmaSpecialAbility"
26793
+ KarmaSpecialAbility: KarmaSpecialAbility_ID
26794
+ }
26795
+ | {
26796
+ kind: "Keulenzauber"
26797
+ Keulenzauber: Keulenzauber_ID
26798
+ }
26799
+ | {
26800
+ kind: "Krallenkettenzauber"
26801
+ Krallenkettenzauber: Krallenkettenzauber_ID
26802
+ }
26803
+ | {
26804
+ kind: "Kristallkugelzauber"
26805
+ Kristallkugelzauber: Kristallkugelzauber_ID
26806
+ }
26807
+ | {
26808
+ kind: "LiturgicalStyleSpecialAbility"
26809
+ LiturgicalStyleSpecialAbility: LiturgicalStyleSpecialAbility_ID
26810
+ }
26811
+ | {
26812
+ kind: "LycantropicGift"
26813
+ LycantropicGift: LycantropicGift_ID
26814
+ }
26815
+ | {
26816
+ kind: "MagicalSign"
26817
+ MagicalSign: MagicalSign_ID
26818
+ }
26819
+ | {
26820
+ kind: "MagicalSpecialAbility"
26821
+ MagicalSpecialAbility: MagicalSpecialAbility_ID
26822
+ }
26823
+ | {
26824
+ kind: "MagicalTradition"
26825
+ MagicalTradition: MagicalTradition_ID
26826
+ }
26827
+ | {
26828
+ kind: "MagicStyleSpecialAbility"
26829
+ MagicStyleSpecialAbility: MagicStyleSpecialAbility_ID
26830
+ }
26831
+ | {
26832
+ kind: "OrbEnchantment"
26833
+ OrbEnchantment: OrbEnchantment_ID
26834
+ }
26835
+ | {
26836
+ kind: "PactGift"
26837
+ PactGift: PactGift_ID
26838
+ }
26839
+ | {
26840
+ kind: "ProtectiveWardingCircleSpecialAbility"
26841
+ ProtectiveWardingCircleSpecialAbility: ProtectiveWardingCircleSpecialAbility_ID
26842
+ }
26843
+ | {
26844
+ kind: "RingEnchantment"
26845
+ RingEnchantment: RingEnchantment_ID
26846
+ }
26847
+ | {
26848
+ kind: "Schweinetrommelzauber"
26849
+ Schweinetrommelzauber: Schweinetrommelzauber_ID
26850
+ }
26851
+ | {
26852
+ kind: "Sermon"
26853
+ Sermon: Sermon_ID
26854
+ }
26855
+ | {
26856
+ kind: "SexSpecialAbility"
26857
+ SexSpecialAbility: SexSpecialAbility_ID
26858
+ }
26859
+ | {
26860
+ kind: "SickleRitual"
26861
+ SickleRitual: SickleRitual_ID
26862
+ }
26863
+ | {
26864
+ kind: "SikaryanDrainSpecialAbility"
26865
+ SikaryanDrainSpecialAbility: SikaryanDrainSpecialAbility_ID
26866
+ }
26867
+ | {
26868
+ kind: "SkillStyleSpecialAbility"
26869
+ SkillStyleSpecialAbility: SkillStyleSpecialAbility_ID
26870
+ }
26871
+ | {
26872
+ kind: "SpellSwordEnchantment"
26873
+ SpellSwordEnchantment: SpellSwordEnchantment_ID
26874
+ }
26875
+ | {
26876
+ kind: "StaffEnchantment"
26877
+ StaffEnchantment: StaffEnchantment_ID
26878
+ }
26879
+ | {
26880
+ kind: "ToyEnchantment"
26881
+ ToyEnchantment: ToyEnchantment_ID
26882
+ }
26883
+ | {
26884
+ kind: "Trinkhornzauber"
26885
+ Trinkhornzauber: Trinkhornzauber_ID
26886
+ }
26887
+ | {
26888
+ kind: "VampiricGift"
26889
+ VampiricGift: VampiricGift_ID
26890
+ }
26891
+ | {
26892
+ kind: "Vision"
26893
+ Vision: Vision_ID
26894
+ }
26895
+ | {
26896
+ kind: "WandEnchantment"
26897
+ WandEnchantment: WandEnchantment_ID
26898
+ }
26899
+ | {
26900
+ kind: "WeaponEnchantment"
26901
+ WeaponEnchantment: WeaponEnchantment_ID
26902
+ }
26903
+
26904
+ /**
26905
+ * Settings for supernatural base advantages.
26906
+ */
26907
+ export interface SupernaturalBaseAdvantageSettings {
26908
+ /**
26909
+ * The central advantage for spellcasters.
26910
+ */
26911
+ spellcasters: Advantage_ID
26912
+
26913
+ /**
26914
+ * The central advantage for Blessed Ones.
26915
+ */
26916
+ blessed: Advantage_ID
26917
+ }
26918
+
26919
+ /**
26920
+ * Style Special Abilities and Advanced Special Abilities are part of focus rules. This type defines which focus rule must be enabled in order to use any of these special abilities. Essentially, this is a default prerequisite all of these special abilities must meet, but manually inserting them with every special ability is a lot of work and error-prone. Therefore, in order to use any of these special abilities, prerequisites for the respective focus rule must be generated for every entry.
26921
+ */
26922
+ export interface StyleSpecialAbilitySettings {
26923
+ /**
26924
+ * The focus rule for skill style special abilities and its advanced complements.
26925
+ */
26926
+ skill: FocusRule_ID
26927
+
26928
+ /**
26929
+ * The focus rule for combat style special abilities and its advanced complements.
26930
+ */
26931
+ combat: FocusRule_ID
26932
+
26933
+ /**
26934
+ * The focus rule for magic style special abilities and its advanced complements.
26935
+ */
26936
+ magic: FocusRule_ID
26937
+
26938
+ /**
26939
+ * The focus rule for liturgical style special abilities and its advanced complements.
26940
+ */
26941
+ liturgical: FocusRule_ID
26942
+ }
26943
+
26543
26944
  export interface SexPractice {
26544
26945
  /**
26545
26946
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.