optolith-database-schema 0.20.5 → 0.21.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 (119) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/gen/types.d.ts +1500 -1131
  3. package/lib/types/Advantage.d.ts +185 -159
  4. package/lib/types/Advantage.js +2 -1
  5. package/lib/types/Aspect.js +1 -1
  6. package/lib/types/Cantrip.d.ts +1 -1
  7. package/lib/types/Cantrip.js +1 -1
  8. package/lib/types/Disadvantage.d.ts +185 -159
  9. package/lib/types/Disadvantage.js +2 -1
  10. package/lib/types/Patron.js +2 -4
  11. package/lib/types/_Activatable.d.ts +188 -162
  12. package/lib/types/_Activatable.js +7 -5
  13. package/lib/types/_Prerequisite.d.ts +48 -0
  14. package/lib/types/_Prerequisite.js +9 -1
  15. package/lib/types/equipment/item/Poison.d.ts +54 -0
  16. package/lib/types/equipment/item/Poison.js +4 -0
  17. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +25 -1
  18. package/lib/types/magicalActions/AnimistPower_Tribe.js +6 -1
  19. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +69 -0
  20. package/lib/types/prerequisites/PrerequisiteGroups.js +14 -0
  21. package/lib/types/rule/FocusRule.d.ts +24 -0
  22. package/lib/types/rule/FocusRule.js +4 -0
  23. package/lib/types/rule/OptionalRule.d.ts +24 -0
  24. package/lib/types/rule/OptionalRule.js +4 -0
  25. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +185 -159
  26. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
  27. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +185 -159
  28. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
  29. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +185 -159
  30. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
  31. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +185 -159
  32. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
  33. package/lib/types/specialAbility/AncestorGlyph.d.ts +185 -159
  34. package/lib/types/specialAbility/AncestorGlyph.js +2 -1
  35. package/lib/types/specialAbility/BlessedTradition.d.ts +185 -159
  36. package/lib/types/specialAbility/BlessedTradition.js +2 -1
  37. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +185 -159
  38. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
  39. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +185 -159
  40. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
  41. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +185 -159
  42. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
  43. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +185 -159
  44. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -1
  45. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +185 -159
  46. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -1
  47. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +185 -159
  48. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
  49. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +185 -159
  50. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
  51. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +185 -159
  52. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
  53. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +185 -159
  54. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
  55. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +185 -159
  56. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
  57. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +185 -159
  58. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -1
  59. package/lib/types/specialAbility/LycantropicGift.d.ts +185 -159
  60. package/lib/types/specialAbility/LycantropicGift.js +2 -1
  61. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +185 -159
  62. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
  63. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +185 -159
  64. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
  65. package/lib/types/specialAbility/MagicalTradition.d.ts +185 -159
  66. package/lib/types/specialAbility/MagicalTradition.js +2 -1
  67. package/lib/types/specialAbility/PactGift.d.ts +185 -159
  68. package/lib/types/specialAbility/PactGift.js +2 -1
  69. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +185 -159
  70. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
  71. package/lib/types/specialAbility/Sermon.d.ts +185 -159
  72. package/lib/types/specialAbility/Sermon.js +2 -1
  73. package/lib/types/specialAbility/SexSpecialAbility.d.ts +185 -159
  74. package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
  75. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +185 -159
  76. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
  77. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +185 -159
  78. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -1
  79. package/lib/types/specialAbility/VampiricGift.d.ts +185 -159
  80. package/lib/types/specialAbility/VampiricGift.js +2 -1
  81. package/lib/types/specialAbility/Vision.d.ts +185 -159
  82. package/lib/types/specialAbility/Vision.js +2 -1
  83. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +185 -159
  84. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -1
  85. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +185 -159
  86. package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -1
  87. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +185 -159
  88. package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -1
  89. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +185 -159
  90. package/lib/types/traditionArtifacts/CauldronEnchantment.js +2 -1
  91. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +185 -159
  92. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -1
  93. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +185 -159
  94. package/lib/types/traditionArtifacts/DaggerRitual.js +2 -1
  95. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +185 -159
  96. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -1
  97. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +185 -159
  98. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -1
  99. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +185 -159
  100. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -1
  101. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +185 -159
  102. package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -1
  103. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +185 -159
  104. package/lib/types/traditionArtifacts/RingEnchantment.js +2 -1
  105. package/lib/types/traditionArtifacts/SickleRitual.d.ts +185 -159
  106. package/lib/types/traditionArtifacts/SickleRitual.js +2 -1
  107. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +185 -159
  108. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -1
  109. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +185 -159
  110. package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -1
  111. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +185 -159
  112. package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -1
  113. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +185 -159
  114. package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -1
  115. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +185 -159
  116. package/lib/types/traditionArtifacts/WandEnchantment.js +2 -1
  117. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +185 -159
  118. package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -1
  119. package/package.json +1 -1
package/gen/types.d.ts CHANGED
@@ -188,12 +188,19 @@ export interface AdvancedCombatSpecialAbility {
188
188
  usage_type: CombatSpecialAbilityUsageType
189
189
 
190
190
  /**
191
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
191
+ * Definitions for possible options for the activatable entry, derived from entry categories.
192
192
  *
193
193
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
194
194
  */
195
195
  select_options?: SelectOptions
196
196
 
197
+ /**
198
+ * Explicit definitions for possible options for the activatable entry.
199
+ *
200
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
201
+ */
202
+ explicit_select_options: GeneralSelectOption_ID[]
203
+
197
204
  /**
198
205
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
199
206
  */
@@ -305,11 +312,6 @@ export interface SelectOptions {
305
312
  * An entry category with optional further configuration. All available entries from the specified categories will be included as separate select options. You can also specify a set of groups that should only be included. Groups not mentioned will be excluded then.
306
313
  */
307
314
  derived?: SelectOptionCategory
308
-
309
- /**
310
- * A list of explicit select options. If the identifier has a specific type, its entry is the base of this select option, where values defined here override values from the base. Define the `src` property if the options are not derived from the rules text of the advantage/disadvantage/special ability but instead are listed in a separate block and/or on a separate page.
311
- */
312
- explicit?: ExplicitSelectOption[]
313
315
  }
314
316
 
315
317
  export type SelectOptionCategory =
@@ -1838,12 +1840,19 @@ export interface Advantage {
1838
1840
  levels?: number
1839
1841
 
1840
1842
  /**
1841
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
1843
+ * Definitions for possible options for the activatable entry, derived from entry categories.
1842
1844
  *
1843
1845
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
1844
1846
  */
1845
1847
  select_options?: SelectOptions
1846
1848
 
1849
+ /**
1850
+ * Explicit definitions for possible options for the activatable entry.
1851
+ *
1852
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
1853
+ */
1854
+ explicit_select_options: GeneralSelectOption_ID[]
1855
+
1847
1856
  /**
1848
1857
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
1849
1858
  */
@@ -1942,119 +1951,6 @@ export interface AdvantageTranslation {
1942
1951
  errata?: Errata
1943
1952
  }
1944
1953
 
1945
- /**
1946
- * Registers new skill applications, which get enabled once the referenced entry is activated. It specifies the skill(s) it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
1947
- */
1948
- export interface NewSkillApplication {
1949
- /**
1950
- * The entry that enables the new skill application.
1951
- */
1952
- parent: NewSkillApplicationOrUseParentIdentifier
1953
-
1954
- /**
1955
- * The skill(s) this application belongs to.
1956
- */
1957
- skills: Skill_ID[]
1958
-
1959
- /**
1960
- * If an application applies to multiple skills, it may need to ensure the respective skill is on a certain skill rating if the activatable entry cannot ensure this prerequisite.
1961
- */
1962
- required_skill_rating?: number
1963
-
1964
- /**
1965
- * All translations for the entry, identified by IETF language tag (BCP47).
1966
- */
1967
- translations?: {
1968
- [localeId: string]: NewSkillApplicationTranslation
1969
- }
1970
- }
1971
-
1972
- /**
1973
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
1974
- */
1975
- export type NewSkillApplication_ID = string
1976
-
1977
- export interface NewSkillApplicationTranslation {
1978
- /**
1979
- * The name of the application if different from the activatable entry’s name.
1980
- */
1981
- name: string
1982
- }
1983
-
1984
- export type NewSkillApplicationOrUseParentIdentifier =
1985
- | {
1986
- kind: "GeneralSelectOption"
1987
- GeneralSelectOption: GeneralSelectOption_ID
1988
- }
1989
- | {
1990
- kind: "Advantage"
1991
- Advantage: Advantage_ID
1992
- }
1993
- | {
1994
- kind: "Disadvantage"
1995
- Disadvantage: Disadvantage_ID
1996
- }
1997
- | {
1998
- kind: "AdvancedCombatSpecialAbility"
1999
- AdvancedCombatSpecialAbility: AdvancedCombatSpecialAbility_ID
2000
- }
2001
- | {
2002
- kind: "AdvancedKarmaSpecialAbility"
2003
- AdvancedKarmaSpecialAbility: AdvancedKarmaSpecialAbility_ID
2004
- }
2005
- | {
2006
- kind: "AdvancedMagicalSpecialAbility"
2007
- AdvancedMagicalSpecialAbility: AdvancedMagicalSpecialAbility_ID
2008
- }
2009
- | {
2010
- kind: "AdvancedSkillSpecialAbility"
2011
- AdvancedSkillSpecialAbility: AdvancedSkillSpecialAbility_ID
2012
- }
2013
- | {
2014
- kind: "BlessedTradition"
2015
- BlessedTradition: BlessedTradition_ID
2016
- }
2017
- | {
2018
- kind: "CeremonialItemSpecialAbility"
2019
- CeremonialItemSpecialAbility: CeremonialItemSpecialAbility_ID
2020
- }
2021
- | {
2022
- kind: "CombatSpecialAbility"
2023
- CombatSpecialAbility: CombatSpecialAbility_ID
2024
- }
2025
- | {
2026
- kind: "CombatStyleSpecialAbility"
2027
- CombatStyleSpecialAbility: CombatStyleSpecialAbility_ID
2028
- }
2029
- | {
2030
- kind: "FatePointSpecialAbility"
2031
- FatePointSpecialAbility: FatePointSpecialAbility_ID
2032
- }
2033
- | {
2034
- kind: "GeneralSpecialAbility"
2035
- GeneralSpecialAbility: GeneralSpecialAbility_ID
2036
- }
2037
- | {
2038
- kind: "LiturgicalStyleSpecialAbility"
2039
- LiturgicalStyleSpecialAbility: LiturgicalStyleSpecialAbility_ID
2040
- }
2041
- | {
2042
- kind: "MagicalSpecialAbility"
2043
- MagicalSpecialAbility: MagicalSpecialAbility_ID
2044
- }
2045
- | {
2046
- kind: "MagicalTradition"
2047
- MagicalTradition: MagicalTradition_ID
2048
- }
2049
- | {
2050
- kind: "MagicStyleSpecialAbility"
2051
- MagicStyleSpecialAbility: MagicStyleSpecialAbility_ID
2052
- }
2053
- | {
2054
- kind: "SexSpecialAbility"
2055
- SexSpecialAbility: SexSpecialAbility_ID
2056
- }
2057
-
2058
1954
  export interface GeneralSelectOption {
2059
1955
  /**
2060
1956
  * The entry that contains select option.
@@ -2341,12 +2237,19 @@ export interface Disadvantage {
2341
2237
  levels?: number
2342
2238
 
2343
2239
  /**
2344
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
2240
+ * Definitions for possible options for the activatable entry, derived from entry categories.
2345
2241
  *
2346
2242
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
2347
2243
  */
2348
2244
  select_options?: SelectOptions
2349
2245
 
2246
+ /**
2247
+ * Explicit definitions for possible options for the activatable entry.
2248
+ *
2249
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
2250
+ */
2251
+ explicit_select_options: GeneralSelectOption_ID[]
2252
+
2350
2253
  /**
2351
2254
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
2352
2255
  */
@@ -2445,21 +2348,21 @@ export interface DisadvantageTranslation {
2445
2348
  }
2446
2349
 
2447
2350
  /**
2448
- * Registers uses, which get enabled once this entry is activated. It specifies the skill(s) it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
2351
+ * Registers new skill applications, which get enabled once the referenced entry is activated. It specifies the skill(s) it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
2449
2352
  */
2450
- export interface SkillUse {
2353
+ export interface NewSkillApplication {
2451
2354
  /**
2452
- * The entry that enables the use.
2355
+ * The entry that enables the new skill application.
2453
2356
  */
2454
2357
  parent: NewSkillApplicationOrUseParentIdentifier
2455
2358
 
2456
2359
  /**
2457
- * The skill(s) this use belongs to.
2360
+ * The skill(s) this application belongs to.
2458
2361
  */
2459
2362
  skills: Skill_ID[]
2460
2363
 
2461
2364
  /**
2462
- * If a use applies to multiple skills, it may need to ensure the respective skill is on a certain skill rating if the activatable entry cannot ensure this prerequisite.
2365
+ * If an application applies to multiple skills, it may need to ensure the respective skill is on a certain skill rating if the activatable entry cannot ensure this prerequisite.
2463
2366
  */
2464
2367
  required_skill_rating?: number
2465
2368
 
@@ -2467,56 +2370,269 @@ export interface SkillUse {
2467
2370
  * All translations for the entry, identified by IETF language tag (BCP47).
2468
2371
  */
2469
2372
  translations?: {
2470
- [localeId: string]: SkillUseTranslation
2373
+ [localeId: string]: NewSkillApplicationTranslation
2471
2374
  }
2472
2375
  }
2473
2376
 
2474
2377
  /**
2475
2378
  * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
2476
2379
  */
2477
- export type SkillUse_ID = string
2380
+ export type NewSkillApplication_ID = string
2478
2381
 
2479
- export interface SkillUseTranslation {
2382
+ export interface NewSkillApplicationTranslation {
2480
2383
  /**
2481
- * The name of the use if different from the activatable entry’s name.
2384
+ * The name of the application if different from the activatable entry’s name.
2482
2385
  */
2483
2386
  name: string
2484
2387
  }
2485
2388
 
2486
- export interface Skill {
2487
- /**
2488
- * Lists the linked three attributes used to make a skill check.
2489
- */
2490
- check: SkillCheck
2389
+ export type NewSkillApplicationOrUseParentIdentifier =
2390
+ | {
2391
+ kind: "GeneralSelectOption"
2392
+ GeneralSelectOption: GeneralSelectOption_ID
2393
+ }
2394
+ | {
2395
+ kind: "Advantage"
2396
+ Advantage: Advantage_ID
2397
+ }
2398
+ | {
2399
+ kind: "Disadvantage"
2400
+ Disadvantage: Disadvantage_ID
2401
+ }
2402
+ | {
2403
+ kind: "AdvancedCombatSpecialAbility"
2404
+ AdvancedCombatSpecialAbility: AdvancedCombatSpecialAbility_ID
2405
+ }
2406
+ | {
2407
+ kind: "AdvancedKarmaSpecialAbility"
2408
+ AdvancedKarmaSpecialAbility: AdvancedKarmaSpecialAbility_ID
2409
+ }
2410
+ | {
2411
+ kind: "AdvancedMagicalSpecialAbility"
2412
+ AdvancedMagicalSpecialAbility: AdvancedMagicalSpecialAbility_ID
2413
+ }
2414
+ | {
2415
+ kind: "AdvancedSkillSpecialAbility"
2416
+ AdvancedSkillSpecialAbility: AdvancedSkillSpecialAbility_ID
2417
+ }
2418
+ | {
2419
+ kind: "BlessedTradition"
2420
+ BlessedTradition: BlessedTradition_ID
2421
+ }
2422
+ | {
2423
+ kind: "CeremonialItemSpecialAbility"
2424
+ CeremonialItemSpecialAbility: CeremonialItemSpecialAbility_ID
2425
+ }
2426
+ | {
2427
+ kind: "CombatSpecialAbility"
2428
+ CombatSpecialAbility: CombatSpecialAbility_ID
2429
+ }
2430
+ | {
2431
+ kind: "CombatStyleSpecialAbility"
2432
+ CombatStyleSpecialAbility: CombatStyleSpecialAbility_ID
2433
+ }
2434
+ | {
2435
+ kind: "FatePointSpecialAbility"
2436
+ FatePointSpecialAbility: FatePointSpecialAbility_ID
2437
+ }
2438
+ | {
2439
+ kind: "GeneralSpecialAbility"
2440
+ GeneralSpecialAbility: GeneralSpecialAbility_ID
2441
+ }
2442
+ | {
2443
+ kind: "LiturgicalStyleSpecialAbility"
2444
+ LiturgicalStyleSpecialAbility: LiturgicalStyleSpecialAbility_ID
2445
+ }
2446
+ | {
2447
+ kind: "MagicalSpecialAbility"
2448
+ MagicalSpecialAbility: MagicalSpecialAbility_ID
2449
+ }
2450
+ | {
2451
+ kind: "MagicalTradition"
2452
+ MagicalTradition: MagicalTradition_ID
2453
+ }
2454
+ | {
2455
+ kind: "MagicStyleSpecialAbility"
2456
+ MagicStyleSpecialAbility: MagicStyleSpecialAbility_ID
2457
+ }
2458
+ | {
2459
+ kind: "SexSpecialAbility"
2460
+ SexSpecialAbility: SexSpecialAbility_ID
2461
+ }
2491
2462
 
2463
+ /**
2464
+ * Karma Special Abilities that are being unlocked by Liturgical Style Special Abilities.
2465
+ */
2466
+ export interface AdvancedKarmaSpecialAbility {
2492
2467
  /**
2493
- * Lists applications for the skill, if any. This does not necessarily include all possible applications. There may also be new applications that could be purchased via certain advantages or special abilities.
2468
+ * Number of available levels.
2494
2469
  */
2495
- applications: Applications
2470
+ levels?: number
2496
2471
 
2497
2472
  /**
2498
- * Indicates whether encumbrance gives a penalty for checks with the skill.
2473
+ * Definitions for possible options for the activatable entry, derived from entry categories.
2474
+ *
2475
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
2499
2476
  */
2500
- encumbrance: EncumbranceInfluence
2477
+ select_options?: SelectOptions
2501
2478
 
2502
2479
  /**
2503
- * States which column is used to improve the skill.
2480
+ * Explicit definitions for possible options for the activatable entry.
2481
+ *
2482
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
2504
2483
  */
2505
- improvement_cost: ImprovementCost
2484
+ explicit_select_options: GeneralSelectOption_ID[]
2506
2485
 
2507
2486
  /**
2508
- * The skill group this skill belongs to.
2487
+ * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
2509
2488
  */
2510
- group: SkillGroup_ID
2489
+ skill_applications: NewSkillApplication_ID[]
2511
2490
 
2512
2491
  /**
2513
- * All translations for the entry, identified by IETF language tag (BCP47).
2492
+ * Registers uses, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
2514
2493
  */
2515
- src: PublicationRefs
2494
+ skill_uses: SkillUse_ID[]
2516
2495
 
2517
2496
  /**
2518
- * All translations for the entry, identified by IETF language tag (BCP47).
2519
- */
2497
+ * The number stating how often you can buy the entry. The **default** depends on the entry type:
2498
+ *
2499
+ * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
2500
+ * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
2501
+ * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
2502
+ *
2503
+ * The maximum is only set if it differs from the defaults specified above.
2504
+ */
2505
+ maximum?: number
2506
+
2507
+ prerequisites?: GeneralPrerequisites
2508
+
2509
+ /**
2510
+ * The adventure points value.
2511
+ */
2512
+ ap_value: AdventurePointsValue
2513
+
2514
+ /**
2515
+ * All translations for the entry, identified by IETF language tag (BCP47).
2516
+ */
2517
+ src: PublicationRefs
2518
+
2519
+ /**
2520
+ * All translations for the entry, identified by IETF language tag (BCP47).
2521
+ */
2522
+ translations: {
2523
+ [localeId: string]: AdvancedKarmaSpecialAbilityTranslation
2524
+ }
2525
+ }
2526
+
2527
+ /**
2528
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
2529
+ */
2530
+ export type AdvancedKarmaSpecialAbility_ID = string
2531
+
2532
+ export interface AdvancedKarmaSpecialAbilityTranslation {
2533
+ /**
2534
+ * Name of the activatable entry.
2535
+ */
2536
+ name: string
2537
+
2538
+ /**
2539
+ * The full name of the entry as stated in the sources. Only use when `name` needs to be different from full name for text generation purposes.
2540
+ */
2541
+ name_in_library?: string
2542
+
2543
+ /**
2544
+ * The rule text.
2545
+ */
2546
+ rules: string
2547
+
2548
+ /**
2549
+ * The string to append to the generated AP value text.
2550
+ * @deprecated
2551
+ */
2552
+ ap_value_append?: string
2553
+
2554
+ /**
2555
+ * The adventure points value.
2556
+ * @deprecated
2557
+ */
2558
+ ap_value?: string
2559
+
2560
+ errata?: Errata
2561
+ }
2562
+
2563
+ /**
2564
+ * Registers uses, which get enabled once this entry is activated. It specifies the skill(s) it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
2565
+ */
2566
+ export interface SkillUse {
2567
+ /**
2568
+ * The entry that enables the use.
2569
+ */
2570
+ parent: NewSkillApplicationOrUseParentIdentifier
2571
+
2572
+ /**
2573
+ * The skill(s) this use belongs to.
2574
+ */
2575
+ skills: Skill_ID[]
2576
+
2577
+ /**
2578
+ * If a use applies to multiple skills, it may need to ensure the respective skill is on a certain skill rating if the activatable entry cannot ensure this prerequisite.
2579
+ */
2580
+ required_skill_rating?: number
2581
+
2582
+ /**
2583
+ * All translations for the entry, identified by IETF language tag (BCP47).
2584
+ */
2585
+ translations?: {
2586
+ [localeId: string]: SkillUseTranslation
2587
+ }
2588
+ }
2589
+
2590
+ /**
2591
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
2592
+ */
2593
+ export type SkillUse_ID = string
2594
+
2595
+ export interface SkillUseTranslation {
2596
+ /**
2597
+ * The name of the use if different from the activatable entry’s name.
2598
+ */
2599
+ name: string
2600
+ }
2601
+
2602
+ export interface Skill {
2603
+ /**
2604
+ * Lists the linked three attributes used to make a skill check.
2605
+ */
2606
+ check: SkillCheck
2607
+
2608
+ /**
2609
+ * Lists applications for the skill, if any. This does not necessarily include all possible applications. There may also be new applications that could be purchased via certain advantages or special abilities.
2610
+ */
2611
+ applications: Applications
2612
+
2613
+ /**
2614
+ * Indicates whether encumbrance gives a penalty for checks with the skill.
2615
+ */
2616
+ encumbrance: EncumbranceInfluence
2617
+
2618
+ /**
2619
+ * States which column is used to improve the skill.
2620
+ */
2621
+ improvement_cost: ImprovementCost
2622
+
2623
+ /**
2624
+ * The skill group this skill belongs to.
2625
+ */
2626
+ group: SkillGroup_ID
2627
+
2628
+ /**
2629
+ * All translations for the entry, identified by IETF language tag (BCP47).
2630
+ */
2631
+ src: PublicationRefs
2632
+
2633
+ /**
2634
+ * All translations for the entry, identified by IETF language tag (BCP47).
2635
+ */
2520
2636
  translations: {
2521
2637
  [localeId: string]: SkillTranslation
2522
2638
  }
@@ -3017,7 +3133,7 @@ export interface Erratum {
3017
3133
  description: string
3018
3134
  }
3019
3135
 
3020
- export type AdvantageDisadvantagePrerequisites = PrerequisitesForLevels<AdvantageDisadvantagePrerequisiteGroup>
3136
+ export type GeneralPrerequisites = PrerequisitesForLevels<GeneralPrerequisiteGroup>
3021
3137
 
3022
3138
  export type PrerequisitesForLevels<T> = PrerequisiteForLevel<T>[]
3023
3139
 
@@ -3033,10 +3149,7 @@ export interface PrerequisiteForLevel<T> {
3033
3149
  prerequisite: PrerequisitesElement<T>
3034
3150
  }
3035
3151
 
3036
- export type AdvantageDisadvantagePrerequisiteGroup =
3037
- | {
3038
- kind: "CommonSuggestedByRCP"
3039
- }
3152
+ export type GeneralPrerequisiteGroup =
3040
3153
  | {
3041
3154
  kind: "Sex"
3042
3155
  Sex: SexPrerequisite
@@ -3101,9 +3214,6 @@ export type AdvantageDisadvantagePrerequisiteGroup =
3101
3214
  kind: "Text"
3102
3215
  Text: TextPrerequisite
3103
3216
  }
3104
- | {
3105
- kind: "NoOtherAncestorBloodAdvantage"
3106
- }
3107
3217
  | {
3108
3218
  kind: "SexualCharacteristic"
3109
3219
  SexualCharacteristic: SexualCharacteristicPrerequisite
@@ -4087,7 +4197,7 @@ export interface AspectTranslation {
4087
4197
  name: string
4088
4198
 
4089
4199
  /**
4090
- * The aspect’s name appended to the simple name (not `name_in_library`) of the special ability *Master of (Aspect)*.
4200
+ * In some languages, the aspect’s grammatical gender influences the full name of a *Master of (Aspect)* instance. To make this possible, the *name* (**not** the *name in library*) is joined with what is contained in this field.
4091
4201
  */
4092
4202
  master_of_aspect_suffix?: string
4093
4203
  }
@@ -5240,12 +5350,19 @@ export interface LiturgyTraditionWithAspects {
5240
5350
 
5241
5351
  export interface BlessedTradition {
5242
5352
  /**
5243
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
5353
+ * Definitions for possible options for the activatable entry, derived from entry categories.
5244
5354
  *
5245
5355
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
5246
5356
  */
5247
5357
  select_options?: SelectOptions
5248
5358
 
5359
+ /**
5360
+ * Explicit definitions for possible options for the activatable entry.
5361
+ *
5362
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
5363
+ */
5364
+ explicit_select_options: GeneralSelectOption_ID[]
5365
+
5249
5366
  /**
5250
5367
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
5251
5368
  */
@@ -5542,280 +5659,156 @@ export interface ShamanisticBlessedTradition {
5542
5659
  can_use_bone_mace_as_ceremonial_item: boolean
5543
5660
  }
5544
5661
 
5545
- export type GeneralPrerequisites = PrerequisitesForLevels<GeneralPrerequisiteGroup>
5546
-
5547
- export type GeneralPrerequisiteGroup =
5548
- | {
5549
- kind: "Sex"
5550
- Sex: SexPrerequisite
5551
- }
5552
- | {
5553
- kind: "Race"
5554
- Race: RacePrerequisite
5555
- }
5556
- | {
5557
- kind: "Culture"
5558
- Culture: CulturePrerequisite
5559
- }
5560
- | {
5561
- kind: "Pact"
5562
- Pact: PactPrerequisitePactPrerequisite
5563
- }
5564
- | {
5565
- kind: "SocialStatus"
5566
- SocialStatus: SocialStatusPrerequisite
5567
- }
5568
- | {
5569
- kind: "State"
5570
- State: StatePrerequisite
5571
- }
5572
- | {
5573
- kind: "Rule"
5574
- Rule: RulePrerequisite
5575
- }
5576
- | {
5577
- kind: "PrimaryAttribute"
5578
- PrimaryAttribute: PrimaryAttributePrerequisite
5579
- }
5580
- | {
5581
- kind: "Activatable"
5582
- Activatable: ActivatablePrerequisite
5583
- }
5584
- | {
5585
- kind: "BlessedTradition"
5586
- BlessedTradition: BlessedTraditionPrerequisite
5587
- }
5588
- | {
5589
- kind: "MagicalTradition"
5590
- MagicalTradition: MagicalTraditionPrerequisite
5591
- }
5592
- | {
5593
- kind: "Rated"
5594
- Rated: RatedPrerequisite
5595
- }
5662
+ export type AdventurePointsValue =
5596
5663
  | {
5597
- kind: "RatedMinimumNumber"
5598
- RatedMinimumNumber: RatedMinimumNumberPrerequisite
5664
+ kind: "Fixed"
5665
+ Fixed: FixedAdventurePointsValue
5599
5666
  }
5600
5667
  | {
5601
- kind: "RatedSum"
5602
- RatedSum: RatedSumPrerequisite
5668
+ kind: "ByLevel"
5669
+ ByLevel: AdventurePointsValueByLevel
5603
5670
  }
5604
5671
  | {
5605
- kind: "Enhancement"
5606
- Enhancement: EnhancementPrerequisite
5672
+ kind: "DerivedFromSelection"
5673
+ DerivedFromSelection: AdventurePointsDerivedFromSelection
5607
5674
  }
5608
5675
  | {
5609
- kind: "Text"
5610
- Text: TextPrerequisite
5676
+ kind: "DependingOnActiveInstances"
5677
+ DependingOnActiveInstances: AdventurePointsDependingOnActiveInstances
5611
5678
  }
5612
5679
  | {
5613
- kind: "SexualCharacteristic"
5614
- SexualCharacteristic: SexualCharacteristicPrerequisite
5680
+ kind: "Indefinite"
5615
5681
  }
5616
5682
 
5617
5683
  /**
5618
- * Requires a specific culture or one of a specific set of cultures.
5684
+ * A fixed adventure points value. If the entry has levels, this is the cost per level as well.
5619
5685
  */
5620
- export interface CulturePrerequisite {
5621
- /**
5622
- * The culture’s identifier.
5623
- */
5624
- id: Culture_ID
5686
+ export type FixedAdventurePointsValue = AdventurePointsSingleValue
5625
5687
 
5626
- display_option?: DisplayOption
5627
- }
5688
+ /**
5689
+ * A single adventure points value.
5690
+ */
5691
+ export type AdventurePointsSingleValue = number
5628
5692
 
5629
5693
  /**
5630
- * Requires a specific pact.
5694
+ * An entry with levels may have different costs for each level. The length of the list must match the amount of levels the special ability has.
5631
5695
  */
5632
- export interface PactPrerequisitePactPrerequisite {
5696
+ export type AdventurePointsValueByLevel = AdventurePointsSingleValue[]
5697
+
5698
+ /**
5699
+ * The adventure points value is derived from the selection of the special ability. Its display value may be able to be derived from the given information for the select options. If that is not the case or the generated text would not match the original one, a replacement text can be provided.
5700
+ */
5701
+ export interface AdventurePointsDerivedFromSelection {
5633
5702
  /**
5634
- * The required pact category.
5703
+ * All translations for the entry, identified by IETF language tag (BCP47).
5635
5704
  */
5636
- category: PactCategory_ID
5705
+ translations?: {
5706
+ [localeId: string]: AdventurePointsDerivedFromSelectionTranslation
5707
+ }
5708
+ }
5637
5709
 
5710
+ export interface AdventurePointsDerivedFromSelectionTranslation {
5638
5711
  /**
5639
- * The required domain(s).
5640
- */
5641
- domain?: PactDomain_ID[]
5642
-
5643
- /**
5644
- * The level to which the minimum value applies.
5645
- */
5646
- level?: number
5647
-
5648
- display_option?: DisplayOption
5649
- }
5650
-
5651
- export interface PactCategory {
5652
- /**
5653
- * Types of creatures in this category.
5654
- */
5655
- types: PactType_ID[]
5656
-
5657
- /**
5658
- * Domains in this category.
5659
- */
5660
- domains: PactDomain_ID[]
5661
-
5662
- /**
5663
- * All translations for the entry, identified by IETF language tag (BCP47).
5664
- */
5665
- src: PublicationRefs
5666
-
5667
- /**
5668
- * All translations for the entry, identified by IETF language tag (BCP47).
5712
+ * A replacement for the generated text if it would not match the original one.
5669
5713
  */
5670
- translations: {
5671
- [localeId: string]: PactCategoryTranslation
5672
- }
5714
+ replacement?: string
5673
5715
  }
5674
5716
 
5675
5717
  /**
5676
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
5718
+ * The adventure points cost depends on how many instances of the entry are already active.
5677
5719
  */
5678
- export type PactCategory_ID = string
5679
-
5680
- export interface PactCategoryTranslation {
5681
- /**
5682
- * The pact category’s name.
5683
- */
5684
- name: string
5685
-
5686
- errata?: Errata
5687
- }
5688
-
5689
- export interface PactType {
5690
- /**
5691
- * The pact category this type belongs to.
5692
- */
5693
- parent: PactCategory_ID
5694
-
5695
- /**
5696
- * All translations for the entry, identified by IETF language tag (BCP47).
5697
- */
5698
- translations: {
5699
- [localeId: string]: PactTypeTranslation
5720
+ export type AdventurePointsDependingOnActiveInstances =
5721
+ | {
5722
+ kind: "Threshold"
5723
+ Threshold: AdventurePointsDependingOnActiveInstancesThreshold
5700
5724
  }
5701
- }
5702
-
5703
- /**
5704
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
5705
- */
5706
- export type PactType_ID = string
5707
-
5708
- export interface PactTypeTranslation {
5709
- /**
5710
- * The type’s name.
5711
- */
5712
- name: string
5713
- }
5714
-
5715
- export interface PactDomain {
5716
- /**
5717
- * The pact category this domain belongs to.
5718
- */
5719
- parent: PactCategory_ID
5720
-
5721
- /**
5722
- * All translations for the entry, identified by IETF language tag (BCP47).
5723
- */
5724
- translations: {
5725
- [localeId: string]: PactDomainTranslation
5725
+ | {
5726
+ kind: "Expression"
5727
+ Expression: AdventurePointsDependingOnActiveInstancesExpression
5726
5728
  }
5727
- }
5728
-
5729
- /**
5730
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
5731
- */
5732
- export type PactDomain_ID = string
5733
-
5734
- export interface PactDomainTranslation {
5735
- /**
5736
- * The domain’s name.
5737
- */
5738
- name: string
5739
- }
5740
5729
 
5741
5730
  /**
5742
- * Requires a minimum social status.
5731
+ * The adventure points cost depends on how many instances of the entry are already active.
5743
5732
  */
5744
- export interface SocialStatusPrerequisite {
5733
+ export interface AdventurePointsDependingOnActiveInstancesThreshold {
5745
5734
  /**
5746
- * The minimum social status’s identifier.
5735
+ * The normal adventure points value.
5747
5736
  */
5748
- id: SocialStatus_ID
5749
-
5750
- display_option?: DisplayOption
5751
- }
5737
+ normal: number
5752
5738
 
5753
- export interface SocialStatus {
5754
5739
  /**
5755
- * The social status’ order. The higher the order, the more powerful the social status. This has to be a unique value.
5740
+ * The number of active instances **after** which the alternative cost applies.
5756
5741
  */
5757
- order: number
5742
+ threshold: number
5758
5743
 
5759
5744
  /**
5760
- * All translations for the entry, identified by IETF language tag (BCP47).
5745
+ * The alternative adventure points value.
5761
5746
  */
5762
- translations: {
5763
- [localeId: string]: SocialStatusTranslation
5764
- }
5747
+ alternative: number
5765
5748
  }
5766
5749
 
5767
5750
  /**
5768
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
5751
+ * The adventure points cost depends on how many instances of the entry are already active.
5769
5752
  */
5770
- export type SocialStatus_ID = string
5753
+ export type AdventurePointsDependingOnActiveInstancesExpression = MathOperation<AdventurePointsDependingOnActiveInstancesExpressionValue>
5771
5754
 
5772
- export interface SocialStatusTranslation {
5773
- /**
5774
- * The social status’ name.
5775
- */
5776
- name: string
5777
- }
5755
+ export type MathOperation<Value> =
5756
+ | {
5757
+ kind: "Value"
5758
+ Value: Value
5759
+ }
5760
+ | {
5761
+ kind: "Addition"
5762
+ Addition: MathOperation<Value>[]
5763
+ }
5764
+ | {
5765
+ kind: "Subtraction"
5766
+ Subtraction: MathOperation<Value>[]
5767
+ }
5768
+ | {
5769
+ kind: "Multiplication"
5770
+ Multiplication: MathOperation<Value>[]
5771
+ }
5772
+ | {
5773
+ kind: "Division"
5774
+ Division: MathOperation<Value>[]
5775
+ }
5776
+ | {
5777
+ kind: "Exponentiation"
5778
+ Exponentiation: MathOperation<Value>[]
5779
+ }
5778
5780
 
5779
5781
  /**
5780
- * Requires a specific state to be active.
5782
+ * The type of value allowed in the expression to calculate the AP value.
5781
5783
  */
5782
- export interface StatePrerequisite {
5783
- id: State_ID
5784
- display_option?: DisplayOption
5785
- }
5784
+ export type AdventurePointsDependingOnActiveInstancesExpressionValue =
5785
+ | {
5786
+ kind: "Constant"
5787
+ Constant: number
5788
+ }
5789
+ | {
5790
+ kind: "Active"
5791
+ }
5786
5792
 
5787
- export interface State {
5793
+ export interface SpecialRule {
5788
5794
  /**
5789
- * All translations for the entry, identified by IETF language tag (BCP47).
5795
+ * An optional label that is displayed and placed before the actual text.
5790
5796
  */
5791
- src: PublicationRefs
5797
+ label?: string
5792
5798
 
5793
5799
  /**
5794
- * All translations for the entry, identified by IETF language tag (BCP47).
5800
+ * The text of a special rule.
5795
5801
  */
5796
- translations: {
5797
- [localeId: string]: StateTranslation
5798
- }
5802
+ text: string
5799
5803
  }
5800
5804
 
5801
- /**
5802
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
5803
- */
5804
- export type State_ID = string
5805
-
5806
- export interface StateTranslation {
5807
- /**
5808
- * The state’s name.
5809
- */
5810
- name: string
5811
-
5812
- /**
5813
- * The description of the state.
5814
- */
5815
- description: string
5805
+ export type LiturgyPrerequisites = PlainPrerequisites<LiturgyPrerequisiteGroup>
5816
5806
 
5817
- errata?: Errata
5818
- }
5807
+ export type LiturgyPrerequisiteGroup =
5808
+ | {
5809
+ kind: "Rule"
5810
+ Rule: RulePrerequisite
5811
+ }
5819
5812
 
5820
5813
  /**
5821
5814
  * Requires a specific extension rule (focus rule or optional rule) to be used/active.
@@ -5851,6 +5844,8 @@ export interface FocusRule {
5851
5844
  */
5852
5845
  isMissingImplementation: boolean
5853
5846
 
5847
+ prerequisites?: RulePrerequisites
5848
+
5854
5849
  /**
5855
5850
  * All translations for the entry, identified by IETF language tag (BCP47).
5856
5851
  */
@@ -5907,12 +5902,22 @@ export interface SubjectTranslation {
5907
5902
  name: string
5908
5903
  }
5909
5904
 
5905
+ export type RulePrerequisites = PlainPrerequisites<RulePrerequisiteGroup>
5906
+
5907
+ export type RulePrerequisiteGroup =
5908
+ | {
5909
+ kind: "Rule"
5910
+ Rule: RulePrerequisite
5911
+ }
5912
+
5910
5913
  export interface OptionalRule {
5911
5914
  /**
5912
5915
  * Has the optional rule not been implemented in Optolith yet? This is also true if the optional rule does not (currently) apply to any Optolith feature.
5913
5916
  */
5914
5917
  isMissingImplementation: boolean
5915
5918
 
5919
+ prerequisites?: RulePrerequisites
5920
+
5916
5921
  /**
5917
5922
  * All translations for the entry, identified by IETF language tag (BCP47).
5918
5923
  */
@@ -5950,99 +5955,120 @@ export interface OptionalRuleTranslation {
5950
5955
  errata?: Errata
5951
5956
  }
5952
5957
 
5953
- export interface PrimaryAttributePrerequisite {
5954
- /**
5955
- * Is the required primary attribute for spellcasters or blessed ones?
5956
- */
5957
- category: PrimaryAttributeCategory
5958
-
5959
- /**
5960
- * Required value of the attribute.
5961
- */
5962
- value: number
5963
-
5964
- display_option?: DisplayOption
5965
- }
5966
-
5967
- export type PrimaryAttributeCategory =
5958
+ /**
5959
+ * The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.
5960
+ */
5961
+ export type ActivatableSkillEffect =
5968
5962
  | {
5969
- kind: "Blessed"
5963
+ kind: "Plain"
5964
+ Plain: ActivatableSkillPlainEffect
5970
5965
  }
5971
5966
  | {
5972
- kind: "Magical"
5967
+ kind: "ForEachQualityLevel"
5968
+ ForEachQualityLevel: ActivatableSkillEffectForEachQualityLevel
5969
+ }
5970
+ | {
5971
+ kind: "ForEachTwoQualityLevels"
5972
+ ForEachTwoQualityLevels: ActivatableSkillEffectForEachTwoQualityLevels
5973
5973
  }
5974
5974
 
5975
- export interface BlessedTraditionPrerequisite {
5975
+ export interface ActivatableSkillPlainEffect {
5976
5976
  /**
5977
- * The blessed tradition prerequisite may only be satified if the blessed tradition is either church or shamanistic.
5977
+ * The effect description.
5978
5978
  */
5979
- restriction?: BlessedTraditionPrerequisiteRestriction
5980
-
5981
- display_option?: DisplayOption
5979
+ text: string
5982
5980
  }
5983
5981
 
5984
- /**
5985
- * The blessed tradition prerequisite may only be satified if the blessed tradition is either church or shamanistic.
5986
- */
5987
- export type BlessedTraditionPrerequisiteRestriction =
5988
- | {
5989
- kind: "Church"
5990
- }
5991
- | {
5992
- kind: "Shamanistic"
5993
- }
5982
+ export interface ActivatableSkillEffectForEachQualityLevel {
5983
+ /**
5984
+ * The effect description before the list of effects for each quality level.
5985
+ */
5986
+ text_before: string
5994
5987
 
5995
- export interface MagicalTraditionPrerequisite {
5996
5988
  /**
5997
- * The magical tradition prerequisite may only be satified if the magical tradition can learn rituals or can bind familiars.
5989
+ * The list of effects for each quality level. The first element represents QL 1, the second element QL 2, and so on.
5998
5990
  */
5999
- restriction?: MagicalTraditionPrerequisiteRestriction
5991
+ quality_levels: string[]
6000
5992
 
6001
- display_option?: DisplayOption
5993
+ /**
5994
+ * The effect description after the list of effects for each quality level.
5995
+ */
5996
+ text_after?: string
5997
+ }
5998
+
5999
+ export interface ActivatableSkillEffectForEachTwoQualityLevels {
6000
+ /**
6001
+ * The effect description before the list of effects for each quality level.
6002
+ */
6003
+ text_before: string
6004
+
6005
+ /**
6006
+ * The list of effects for each two quality levels. The first element represents QL 1–2, the second element QL 3–4 and the third element QL 5–6.
6007
+ */
6008
+ quality_levels: string[]
6009
+
6010
+ /**
6011
+ * The effect description after the list of effects for each quality level.
6012
+ */
6013
+ text_after?: string
6014
+ }
6015
+
6016
+ export interface OldParameter {
6017
+ full: string
6018
+ abbr: string
6019
+ }
6020
+
6021
+ export interface Enhancement {
6022
+ /**
6023
+ * The spellwork or liturgy this enhancement belongs to
6024
+ */
6025
+ parent: SkillWithEnhancementsIdentifier
6026
+
6027
+ /**
6028
+ * The skill rating required to learn this enhancement.
6029
+ */
6030
+ skill_rating: number
6031
+
6032
+ /**
6033
+ * The value to multiply with the numeric representation of the associated skill's improvement cost to form the final AP cost of this enhancement.
6034
+ */
6035
+ adventure_points_modifier: number
6036
+
6037
+ prerequisites?: EnhancementPrerequisites
6038
+
6039
+ /**
6040
+ * Only defined if different than the associated skill.
6041
+ */
6042
+ src?: PublicationRefs
6043
+
6044
+ /**
6045
+ * All translations for the entry, identified by IETF language tag (BCP47).
6046
+ */
6047
+ translations: {
6048
+ [localeId: string]: EnhancementTranslation
6049
+ }
6002
6050
  }
6003
6051
 
6004
6052
  /**
6005
- * The magical tradition prerequisite may only be satified if the magical tradition can learn rituals or can bind familiars.
6053
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
6006
6054
  */
6007
- export type MagicalTraditionPrerequisiteRestriction =
6008
- | {
6009
- kind: "CanLearnRituals"
6010
- }
6011
- | {
6012
- kind: "CanBindFamiliars"
6013
- }
6055
+ export type Enhancement_ID = string
6014
6056
 
6015
- export interface RatedPrerequisite {
6057
+ export interface EnhancementTranslation {
6016
6058
  /**
6017
- * The rated entry’s identifier.
6059
+ * The name of the enhancement.
6018
6060
  */
6019
- id: RatedIdentifier
6061
+ name: string
6020
6062
 
6021
6063
  /**
6022
- * The required minimum value.
6064
+ * The effect description.
6023
6065
  */
6024
- value: number
6066
+ effect: string
6025
6067
 
6026
- display_option?: DisplayOption
6068
+ errata?: Errata
6027
6069
  }
6028
6070
 
6029
- export type RatedIdentifier =
6030
- | {
6031
- kind: "Attribute"
6032
- Attribute: Attribute_ID
6033
- }
6034
- | {
6035
- kind: "Skill"
6036
- Skill: Skill_ID
6037
- }
6038
- | {
6039
- kind: "CloseCombatTechnique"
6040
- CloseCombatTechnique: CloseCombatTechnique_ID
6041
- }
6042
- | {
6043
- kind: "RangedCombatTechnique"
6044
- RangedCombatTechnique: RangedCombatTechnique_ID
6045
- }
6071
+ export type SkillWithEnhancementsIdentifier =
6046
6072
  | {
6047
6073
  kind: "Spell"
6048
6074
  Spell: Spell_ID
@@ -6164,12 +6190,19 @@ export interface MagicalTradition {
6164
6190
  levels?: number
6165
6191
 
6166
6192
  /**
6167
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
6193
+ * Definitions for possible options for the activatable entry, derived from entry categories.
6168
6194
  *
6169
6195
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
6170
6196
  */
6171
6197
  select_options?: SelectOptions
6172
6198
 
6199
+ /**
6200
+ * Explicit definitions for possible options for the activatable entry.
6201
+ *
6202
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
6203
+ */
6204
+ explicit_select_options: GeneralSelectOption_ID[]
6205
+
6173
6206
  /**
6174
6207
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
6175
6208
  */
@@ -6434,295 +6467,69 @@ export interface InfluenceEffect {
6434
6467
  text: string
6435
6468
  }
6436
6469
 
6437
- export type AdventurePointsValue =
6438
- | {
6439
- kind: "Fixed"
6440
- Fixed: FixedAdventurePointsValue
6441
- }
6442
- | {
6443
- kind: "ByLevel"
6444
- ByLevel: AdventurePointsValueByLevel
6445
- }
6446
- | {
6447
- kind: "DerivedFromSelection"
6448
- DerivedFromSelection: AdventurePointsDerivedFromSelection
6449
- }
6450
- | {
6451
- kind: "DependingOnActiveInstances"
6452
- DependingOnActiveInstances: AdventurePointsDependingOnActiveInstances
6453
- }
6454
- | {
6455
- kind: "Indefinite"
6456
- }
6457
-
6458
- /**
6459
- * A fixed adventure points value. If the entry has levels, this is the cost per level as well.
6460
- */
6461
- export type FixedAdventurePointsValue = AdventurePointsSingleValue
6462
-
6463
- /**
6464
- * A single adventure points value.
6465
- */
6466
- export type AdventurePointsSingleValue = number
6467
-
6468
- /**
6469
- * An entry with levels may have different costs for each level. The length of the list must match the amount of levels the special ability has.
6470
- */
6471
- export type AdventurePointsValueByLevel = AdventurePointsSingleValue[]
6472
-
6473
- /**
6474
- * The adventure points value is derived from the selection of the special ability. Its display value may be able to be derived from the given information for the select options. If that is not the case or the generated text would not match the original one, a replacement text can be provided.
6475
- */
6476
- export interface AdventurePointsDerivedFromSelection {
6477
- /**
6478
- * All translations for the entry, identified by IETF language tag (BCP47).
6479
- */
6480
- translations?: {
6481
- [localeId: string]: AdventurePointsDerivedFromSelectionTranslation
6482
- }
6483
- }
6484
-
6485
- export interface AdventurePointsDerivedFromSelectionTranslation {
6486
- /**
6487
- * A replacement for the generated text if it would not match the original one.
6488
- */
6489
- replacement?: string
6490
- }
6470
+ export type SpellworkPrerequisites = PlainPrerequisites<SpellworkPrerequisiteGroup>
6491
6471
 
6492
- /**
6493
- * The adventure points cost depends on how many instances of the entry are already active.
6494
- */
6495
- export type AdventurePointsDependingOnActiveInstances =
6472
+ export type SpellworkPrerequisiteGroup =
6496
6473
  | {
6497
- kind: "Threshold"
6498
- Threshold: AdventurePointsDependingOnActiveInstancesThreshold
6474
+ kind: "Rule"
6475
+ Rule: RulePrerequisite
6499
6476
  }
6500
6477
  | {
6501
- kind: "Expression"
6502
- Expression: AdventurePointsDependingOnActiveInstancesExpression
6478
+ kind: "Rated"
6479
+ Rated: RatedPrerequisite
6503
6480
  }
6504
6481
 
6505
- /**
6506
- * The adventure points cost depends on how many instances of the entry are already active.
6507
- */
6508
- export interface AdventurePointsDependingOnActiveInstancesThreshold {
6482
+ export interface RatedPrerequisite {
6509
6483
  /**
6510
- * The normal adventure points value.
6484
+ * The rated entry’s identifier.
6511
6485
  */
6512
- normal: number
6486
+ id: RatedIdentifier
6513
6487
 
6514
6488
  /**
6515
- * The number of active instances **after** which the alternative cost applies.
6489
+ * The required minimum value.
6516
6490
  */
6517
- threshold: number
6491
+ value: number
6518
6492
 
6519
- /**
6520
- * The alternative adventure points value.
6521
- */
6522
- alternative: number
6493
+ display_option?: DisplayOption
6523
6494
  }
6524
6495
 
6525
- /**
6526
- * The adventure points cost depends on how many instances of the entry are already active.
6527
- */
6528
- export type AdventurePointsDependingOnActiveInstancesExpression = MathOperation<AdventurePointsDependingOnActiveInstancesExpressionValue>
6529
-
6530
- export type MathOperation<Value> =
6496
+ export type RatedIdentifier =
6531
6497
  | {
6532
- kind: "Value"
6533
- Value: Value
6498
+ kind: "Attribute"
6499
+ Attribute: Attribute_ID
6534
6500
  }
6535
6501
  | {
6536
- kind: "Addition"
6537
- Addition: MathOperation<Value>[]
6502
+ kind: "Skill"
6503
+ Skill: Skill_ID
6538
6504
  }
6539
6505
  | {
6540
- kind: "Subtraction"
6541
- Subtraction: MathOperation<Value>[]
6506
+ kind: "CloseCombatTechnique"
6507
+ CloseCombatTechnique: CloseCombatTechnique_ID
6542
6508
  }
6543
6509
  | {
6544
- kind: "Multiplication"
6545
- Multiplication: MathOperation<Value>[]
6510
+ kind: "RangedCombatTechnique"
6511
+ RangedCombatTechnique: RangedCombatTechnique_ID
6546
6512
  }
6547
6513
  | {
6548
- kind: "Division"
6549
- Division: MathOperation<Value>[]
6514
+ kind: "Spell"
6515
+ Spell: Spell_ID
6550
6516
  }
6551
6517
  | {
6552
- kind: "Exponentiation"
6553
- Exponentiation: MathOperation<Value>[]
6518
+ kind: "Ritual"
6519
+ Ritual: Ritual_ID
6554
6520
  }
6555
-
6556
- /**
6557
- * The type of value allowed in the expression to calculate the AP value.
6558
- */
6559
- export type AdventurePointsDependingOnActiveInstancesExpressionValue =
6560
6521
  | {
6561
- kind: "Constant"
6562
- Constant: number
6522
+ kind: "LiturgicalChant"
6523
+ LiturgicalChant: LiturgicalChant_ID
6563
6524
  }
6564
6525
  | {
6565
- kind: "Active"
6526
+ kind: "Ceremony"
6527
+ Ceremony: Ceremony_ID
6566
6528
  }
6567
6529
 
6568
- export interface SpecialRule {
6530
+ export interface Ritual {
6569
6531
  /**
6570
- * An optional label that is displayed and placed before the actual text.
6571
- */
6572
- label?: string
6573
-
6574
- /**
6575
- * The text of a special rule.
6576
- */
6577
- text: string
6578
- }
6579
-
6580
- export type SpellworkPrerequisites = PlainPrerequisites<SpellworkPrerequisiteGroup>
6581
-
6582
- export type SpellworkPrerequisiteGroup =
6583
- | {
6584
- kind: "Rule"
6585
- Rule: RulePrerequisite
6586
- }
6587
- | {
6588
- kind: "Rated"
6589
- Rated: RatedPrerequisite
6590
- }
6591
-
6592
- /**
6593
- * The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.
6594
- */
6595
- export type ActivatableSkillEffect =
6596
- | {
6597
- kind: "Plain"
6598
- Plain: ActivatableSkillPlainEffect
6599
- }
6600
- | {
6601
- kind: "ForEachQualityLevel"
6602
- ForEachQualityLevel: ActivatableSkillEffectForEachQualityLevel
6603
- }
6604
- | {
6605
- kind: "ForEachTwoQualityLevels"
6606
- ForEachTwoQualityLevels: ActivatableSkillEffectForEachTwoQualityLevels
6607
- }
6608
-
6609
- export interface ActivatableSkillPlainEffect {
6610
- /**
6611
- * The effect description.
6612
- */
6613
- text: string
6614
- }
6615
-
6616
- export interface ActivatableSkillEffectForEachQualityLevel {
6617
- /**
6618
- * The effect description before the list of effects for each quality level.
6619
- */
6620
- text_before: string
6621
-
6622
- /**
6623
- * The list of effects for each quality level. The first element represents QL 1, the second element QL 2, and so on.
6624
- */
6625
- quality_levels: string[]
6626
-
6627
- /**
6628
- * The effect description after the list of effects for each quality level.
6629
- */
6630
- text_after?: string
6631
- }
6632
-
6633
- export interface ActivatableSkillEffectForEachTwoQualityLevels {
6634
- /**
6635
- * The effect description before the list of effects for each quality level.
6636
- */
6637
- text_before: string
6638
-
6639
- /**
6640
- * The list of effects for each two quality levels. The first element represents QL 1–2, the second element QL 3–4 and the third element QL 5–6.
6641
- */
6642
- quality_levels: string[]
6643
-
6644
- /**
6645
- * The effect description after the list of effects for each quality level.
6646
- */
6647
- text_after?: string
6648
- }
6649
-
6650
- export interface OldParameter {
6651
- full: string
6652
- abbr: string
6653
- }
6654
-
6655
- export interface Enhancement {
6656
- /**
6657
- * The spellwork or liturgy this enhancement belongs to
6658
- */
6659
- parent: SkillWithEnhancementsIdentifier
6660
-
6661
- /**
6662
- * The skill rating required to learn this enhancement.
6663
- */
6664
- skill_rating: number
6665
-
6666
- /**
6667
- * The value to multiply with the numeric representation of the associated skill's improvement cost to form the final AP cost of this enhancement.
6668
- */
6669
- adventure_points_modifier: number
6670
-
6671
- prerequisites?: EnhancementPrerequisites
6672
-
6673
- /**
6674
- * Only defined if different than the associated skill.
6675
- */
6676
- src?: PublicationRefs
6677
-
6678
- /**
6679
- * All translations for the entry, identified by IETF language tag (BCP47).
6680
- */
6681
- translations: {
6682
- [localeId: string]: EnhancementTranslation
6683
- }
6684
- }
6685
-
6686
- /**
6687
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
6688
- */
6689
- export type Enhancement_ID = string
6690
-
6691
- export interface EnhancementTranslation {
6692
- /**
6693
- * The name of the enhancement.
6694
- */
6695
- name: string
6696
-
6697
- /**
6698
- * The effect description.
6699
- */
6700
- effect: string
6701
-
6702
- errata?: Errata
6703
- }
6704
-
6705
- export type SkillWithEnhancementsIdentifier =
6706
- | {
6707
- kind: "Spell"
6708
- Spell: Spell_ID
6709
- }
6710
- | {
6711
- kind: "Ritual"
6712
- Ritual: Ritual_ID
6713
- }
6714
- | {
6715
- kind: "LiturgicalChant"
6716
- LiturgicalChant: LiturgicalChant_ID
6717
- }
6718
- | {
6719
- kind: "Ceremony"
6720
- Ceremony: Ceremony_ID
6721
- }
6722
-
6723
- export interface Ritual {
6724
- /**
6725
- * Lists the linked three attributes used to make a skill check.
6532
+ * Lists the linked three attributes used to make a skill check.
6726
6533
  */
6727
6534
  check: SkillCheck
6728
6535
 
@@ -6918,14 +6725,6 @@ export interface CeremonyTranslation {
6918
6725
  errata?: Errata
6919
6726
  }
6920
6727
 
6921
- export type LiturgyPrerequisites = PlainPrerequisites<LiturgyPrerequisiteGroup>
6922
-
6923
- export type LiturgyPrerequisiteGroup =
6924
- | {
6925
- kind: "Rule"
6926
- Rule: RulePrerequisite
6927
- }
6928
-
6929
6728
  export type EnhancementPrerequisites = PlainPrerequisites<EnhancementPrerequisiteGroup>
6930
6729
 
6931
6730
  export type EnhancementPrerequisiteGroup =
@@ -6944,194 +6743,89 @@ export interface EnhancementPrerequisite {
6944
6743
  id: Enhancement_ID
6945
6744
  }
6946
6745
 
6947
- export interface RatedMinimumNumberPrerequisite {
6746
+ export interface TradeSecret {
6948
6747
  /**
6949
- * The minimum number of skills that need to be on the defined minimum skill rating.
6748
+ * Definitions for possible options for the activatable entry.
6749
+ *
6750
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
6950
6751
  */
6951
- number: number
6752
+ select_options?: TradeSecretSelectOptions
6952
6753
 
6953
6754
  /**
6954
- * The minimum skill rating the defined minimum number of skills need to be on.
6755
+ * The trade secret’s adventure point value
6955
6756
  */
6956
- value: number
6757
+ ap_value: TradeSecretAdventurePointsValue
6957
6758
 
6958
6759
  /**
6959
- * The targets that contribute to satisfying the prerequisite.
6760
+ * Is this trade secret considered secret knowledge?
6960
6761
  */
6961
- targets: RatedMinimumNumberPrerequisiteTarget
6762
+ is_secret_knowledge: boolean
6962
6763
 
6963
- display_option?: DisplayOption
6964
- }
6764
+ prerequisites?: PlainGeneralPrerequisites
6965
6765
 
6966
- export type RatedMinimumNumberPrerequisiteTarget =
6967
- | {
6968
- kind: "Skills"
6969
- Skills: RatedMinimumNumberPrerequisiteSkillsTarget
6970
- }
6971
- | {
6972
- kind: "CombatTechniques"
6973
- CombatTechniques: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
6974
- }
6975
- | {
6976
- kind: "Spellworks"
6977
- Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
6978
- }
6979
- | {
6980
- kind: "Liturgies"
6981
- Liturgies: RatedMinimumNumberPrerequisiteLiturgiesTarget
6766
+ /**
6767
+ * All translations for the entry, identified by IETF language tag (BCP47).
6768
+ */
6769
+ src: PublicationRefs
6770
+
6771
+ /**
6772
+ * All translations for the entry, identified by IETF language tag (BCP47).
6773
+ */
6774
+ translations: {
6775
+ [localeId: string]: TradeSecretTranslation
6982
6776
  }
6777
+ }
6983
6778
 
6984
- export interface RatedMinimumNumberPrerequisiteSkillsTarget {
6779
+ /**
6780
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
6781
+ */
6782
+ export type TradeSecret_ID = string
6783
+
6784
+ export interface TradeSecretTranslation {
6985
6785
  /**
6986
- * The skills that are taken into account for satisfying the prerequisite.
6786
+ * The trade secret’s name.
6987
6787
  */
6988
- targets: Skill_ID[]
6788
+ name: string
6789
+
6790
+ /**
6791
+ * The description of the trade secret.
6792
+ */
6793
+ description?: string
6794
+
6795
+ errata?: Errata
6989
6796
  }
6990
6797
 
6991
- export interface RatedMinimumNumberPrerequisiteCombatTechniquesTarget {
6798
+ /**
6799
+ * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
6800
+ *
6801
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
6802
+ */
6803
+ export interface TradeSecretSelectOptions {
6992
6804
  /**
6993
- * The skills that are taken into account for satisfying the prerequisite.
6805
+ * A list of explicit select options. If the identifier has a specific type, its entry is the base of this select option, where values defined here override values from the base. Define the `src` property if the options are not derived from the rules text of the advantage/disadvantage/special ability but instead are listed in a separate block and/or on a separate page.
6994
6806
  */
6995
- group: RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup
6807
+ explicit?: ExplicitSelectOption[]
6996
6808
  }
6997
6809
 
6998
- export type RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup =
6810
+ export type ExplicitSelectOption =
6999
6811
  | {
7000
- kind: "All"
6812
+ kind: "General"
6813
+ General: GeneralSelectOption_ID
7001
6814
  }
7002
6815
  | {
7003
- kind: "Close"
6816
+ kind: "Skill"
6817
+ Skill: ExplicitSkillSelectOption
7004
6818
  }
7005
6819
  | {
7006
- kind: "Ranged"
6820
+ kind: "CombatTechnique"
6821
+ CombatTechnique: ExplicitCombatTechniqueSelectOption
7007
6822
  }
7008
6823
 
7009
- export interface RatedMinimumNumberPrerequisiteSpellworksTarget {
6824
+ export interface ExplicitSkillSelectOption {
7010
6825
  /**
7011
- * The skills that are taken into account for satisfying the prerequisite.
6826
+ * The skill’s identifier.
7012
6827
  */
7013
- property: Property_ID
7014
- }
7015
-
7016
- export interface RatedMinimumNumberPrerequisiteLiturgiesTarget {
7017
- /**
7018
- * The skills that are taken into account for satisfying the prerequisite.
7019
- */
7020
- aspect: Aspect_ID
7021
- }
7022
-
7023
- export interface RatedSumPrerequisite {
7024
- /**
7025
- * The minimum required sum of the targets’ ratings.
7026
- */
7027
- sum: number
7028
-
7029
- /**
7030
- * The targets that are included in calculating the sum.
7031
- */
7032
- targets: Skill_ID[]
7033
-
7034
- display_option?: DisplayOption
7035
- }
7036
-
7037
- /**
7038
- * Requires a specific sexual characteristic.
7039
- */
7040
- export interface SexualCharacteristicPrerequisite {
7041
- id: SexualCharacteristic
7042
- }
7043
-
7044
- export type SexualCharacteristic =
7045
- | {
7046
- kind: "Penis"
7047
- }
7048
- | {
7049
- kind: "Vagina"
7050
- }
7051
-
7052
- export interface TradeSecret {
7053
- /**
7054
- * Definitions for possible options for the activatable entry.
7055
- *
7056
- * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
7057
- */
7058
- select_options?: TradeSecretSelectOptions
7059
-
7060
- /**
7061
- * The trade secret’s adventure point value
7062
- */
7063
- ap_value: TradeSecretAdventurePointsValue
7064
-
7065
- /**
7066
- * Is this trade secret considered secret knowledge?
7067
- */
7068
- is_secret_knowledge: boolean
7069
-
7070
- prerequisites?: PlainGeneralPrerequisites
7071
-
7072
- /**
7073
- * All translations for the entry, identified by IETF language tag (BCP47).
7074
- */
7075
- src: PublicationRefs
7076
-
7077
- /**
7078
- * All translations for the entry, identified by IETF language tag (BCP47).
7079
- */
7080
- translations: {
7081
- [localeId: string]: TradeSecretTranslation
7082
- }
7083
- }
7084
-
7085
- /**
7086
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
7087
- */
7088
- export type TradeSecret_ID = string
7089
-
7090
- export interface TradeSecretTranslation {
7091
- /**
7092
- * The trade secret’s name.
7093
- */
7094
- name: string
7095
-
7096
- /**
7097
- * The description of the trade secret.
7098
- */
7099
- description?: string
7100
-
7101
- errata?: Errata
7102
- }
7103
-
7104
- /**
7105
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
7106
- *
7107
- * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
7108
- */
7109
- export interface TradeSecretSelectOptions {
7110
- /**
7111
- * A list of explicit select options. If the identifier has a specific type, its entry is the base of this select option, where values defined here override values from the base. Define the `src` property if the options are not derived from the rules text of the advantage/disadvantage/special ability but instead are listed in a separate block and/or on a separate page.
7112
- */
7113
- explicit?: ExplicitSelectOption[]
7114
- }
7115
-
7116
- export type ExplicitSelectOption =
7117
- | {
7118
- kind: "General"
7119
- General: GeneralSelectOption_ID
7120
- }
7121
- | {
7122
- kind: "Skill"
7123
- Skill: ExplicitSkillSelectOption
7124
- }
7125
- | {
7126
- kind: "CombatTechnique"
7127
- CombatTechnique: ExplicitCombatTechniqueSelectOption
7128
- }
7129
-
7130
- export interface ExplicitSkillSelectOption {
7131
- /**
7132
- * The skill’s identifier.
7133
- */
7134
- id: Skill_ID
6828
+ id: Skill_ID
7135
6829
 
7136
6830
  /**
7137
6831
  * Prerequisites for the select option.
@@ -7232,6 +6926,21 @@ export type PreconditionGroup =
7232
6926
  SexualCharacteristic: SexualCharacteristicPrerequisite
7233
6927
  }
7234
6928
 
6929
+ /**
6930
+ * Requires a specific sexual characteristic.
6931
+ */
6932
+ export interface SexualCharacteristicPrerequisite {
6933
+ id: SexualCharacteristic
6934
+ }
6935
+
6936
+ export type SexualCharacteristic =
6937
+ | {
6938
+ kind: "Penis"
6939
+ }
6940
+ | {
6941
+ kind: "Vagina"
6942
+ }
6943
+
7235
6944
  export interface AlternativeName {
7236
6945
  /**
7237
6946
  * An alternative name of the disease.
@@ -7307,6 +7016,32 @@ export interface AreaKnowledge {
7307
7016
  is_fixed: boolean
7308
7017
  }
7309
7018
 
7019
+ export interface SocialStatus {
7020
+ /**
7021
+ * The social status’ order. The higher the order, the more powerful the social status. This has to be a unique value.
7022
+ */
7023
+ order: number
7024
+
7025
+ /**
7026
+ * All translations for the entry, identified by IETF language tag (BCP47).
7027
+ */
7028
+ translations: {
7029
+ [localeId: string]: SocialStatusTranslation
7030
+ }
7031
+ }
7032
+
7033
+ /**
7034
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
7035
+ */
7036
+ export type SocialStatus_ID = string
7037
+
7038
+ export interface SocialStatusTranslation {
7039
+ /**
7040
+ * The social status’ name.
7041
+ */
7042
+ name: string
7043
+ }
7044
+
7310
7045
  /**
7311
7046
  * A list of professions that are typical for the culture, as well as professions that are rarely practiced or encountered in the culture. The list is either defined by group (as multiple lists) or plain (as a single list).
7312
7047
  */
@@ -7761,6 +7496,18 @@ export type ProfessionPrerequisiteGroup =
7761
7496
  Rated: RatedPrerequisite
7762
7497
  }
7763
7498
 
7499
+ /**
7500
+ * Requires a specific culture or one of a specific set of cultures.
7501
+ */
7502
+ export interface CulturePrerequisite {
7503
+ /**
7504
+ * The culture’s identifier.
7505
+ */
7506
+ id: Culture_ID
7507
+
7508
+ display_option?: DisplayOption
7509
+ }
7510
+
7764
7511
  export interface ProfessionPackage {
7765
7512
  /**
7766
7513
  * The associated profession version.
@@ -8093,7 +7840,7 @@ export interface CommonCantripTraditionNote {
8093
7840
  /**
8094
7841
  * All translations for the entry, identified by IETF language tag (BCP47).
8095
7842
  */
8096
- translations: {
7843
+ translations?: {
8097
7844
  [localeId: string]: CommonCantripTraditionNoteTranslation
8098
7845
  }
8099
7846
  }
@@ -8362,21 +8109,28 @@ export type SpecialAbilityIdentifier =
8362
8109
  }
8363
8110
 
8364
8111
  /**
8365
- * Karma Special Abilities that are being unlocked by Liturgical Style Special Abilities.
8112
+ * Magical Special Abilities that are being unlocked by Magic Style Special Abilities.
8366
8113
  */
8367
- export interface AdvancedKarmaSpecialAbility {
8114
+ export interface AdvancedMagicalSpecialAbility {
8368
8115
  /**
8369
8116
  * Number of available levels.
8370
8117
  */
8371
8118
  levels?: number
8372
8119
 
8373
8120
  /**
8374
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
8121
+ * Definitions for possible options for the activatable entry, derived from entry categories.
8375
8122
  *
8376
8123
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
8377
8124
  */
8378
8125
  select_options?: SelectOptions
8379
8126
 
8127
+ /**
8128
+ * Explicit definitions for possible options for the activatable entry.
8129
+ *
8130
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
8131
+ */
8132
+ explicit_select_options: GeneralSelectOption_ID[]
8133
+
8380
8134
  /**
8381
8135
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
8382
8136
  */
@@ -8414,16 +8168,16 @@ export interface AdvancedKarmaSpecialAbility {
8414
8168
  * All translations for the entry, identified by IETF language tag (BCP47).
8415
8169
  */
8416
8170
  translations: {
8417
- [localeId: string]: AdvancedKarmaSpecialAbilityTranslation
8171
+ [localeId: string]: AdvancedMagicalSpecialAbilityTranslation
8418
8172
  }
8419
8173
  }
8420
8174
 
8421
8175
  /**
8422
8176
  * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
8423
8177
  */
8424
- export type AdvancedKarmaSpecialAbility_ID = string
8178
+ export type AdvancedMagicalSpecialAbility_ID = string
8425
8179
 
8426
- export interface AdvancedKarmaSpecialAbilityTranslation {
8180
+ export interface AdvancedMagicalSpecialAbilityTranslation {
8427
8181
  /**
8428
8182
  * Name of the activatable entry.
8429
8183
  */
@@ -8455,21 +8209,28 @@ export interface AdvancedKarmaSpecialAbilityTranslation {
8455
8209
  }
8456
8210
 
8457
8211
  /**
8458
- * Magical Special Abilities that are being unlocked by Magic Style Special Abilities.
8212
+ * General Special Abilities that are being unlocked by Skill Style Special Abilities.
8459
8213
  */
8460
- export interface AdvancedMagicalSpecialAbility {
8214
+ export interface AdvancedSkillSpecialAbility {
8461
8215
  /**
8462
8216
  * Number of available levels.
8463
8217
  */
8464
8218
  levels?: number
8465
8219
 
8466
8220
  /**
8467
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
8221
+ * Definitions for possible options for the activatable entry, derived from entry categories.
8468
8222
  *
8469
8223
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
8470
8224
  */
8471
8225
  select_options?: SelectOptions
8472
8226
 
8227
+ /**
8228
+ * Explicit definitions for possible options for the activatable entry.
8229
+ *
8230
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
8231
+ */
8232
+ explicit_select_options: GeneralSelectOption_ID[]
8233
+
8473
8234
  /**
8474
8235
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
8475
8236
  */
@@ -8507,16 +8268,16 @@ export interface AdvancedMagicalSpecialAbility {
8507
8268
  * All translations for the entry, identified by IETF language tag (BCP47).
8508
8269
  */
8509
8270
  translations: {
8510
- [localeId: string]: AdvancedMagicalSpecialAbilityTranslation
8271
+ [localeId: string]: AdvancedSkillSpecialAbilityTranslation
8511
8272
  }
8512
8273
  }
8513
8274
 
8514
8275
  /**
8515
8276
  * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
8516
8277
  */
8517
- export type AdvancedMagicalSpecialAbility_ID = string
8278
+ export type AdvancedSkillSpecialAbility_ID = string
8518
8279
 
8519
- export interface AdvancedMagicalSpecialAbilityTranslation {
8280
+ export interface AdvancedSkillSpecialAbilityTranslation {
8520
8281
  /**
8521
8282
  * Name of the activatable entry.
8522
8283
  */
@@ -8548,30 +8309,27 @@ export interface AdvancedMagicalSpecialAbilityTranslation {
8548
8309
  }
8549
8310
 
8550
8311
  /**
8551
- * General Special Abilities that are being unlocked by Skill Style Special Abilities.
8312
+ * A type of magical signs, originating from Nostria.
8552
8313
  */
8553
- export interface AdvancedSkillSpecialAbility {
8314
+ export interface AncestorGlyph {
8554
8315
  /**
8555
8316
  * Number of available levels.
8556
8317
  */
8557
8318
  levels?: number
8558
8319
 
8559
8320
  /**
8560
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
8321
+ * Definitions for possible options for the activatable entry, derived from entry categories.
8561
8322
  *
8562
8323
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
8563
8324
  */
8564
8325
  select_options?: SelectOptions
8565
8326
 
8566
8327
  /**
8567
- * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
8568
- */
8569
- skill_applications: NewSkillApplication_ID[]
8570
-
8571
- /**
8572
- * Registers uses, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
8328
+ * Explicit definitions for possible options for the activatable entry.
8329
+ *
8330
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
8573
8331
  */
8574
- skill_uses: SkillUse_ID[]
8332
+ explicit_select_options: GeneralSelectOption_ID[]
8575
8333
 
8576
8334
  /**
8577
8335
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
@@ -8586,6 +8344,11 @@ export interface AdvancedSkillSpecialAbility {
8586
8344
 
8587
8345
  prerequisites?: GeneralPrerequisites
8588
8346
 
8347
+ /**
8348
+ * The AE cost of the ancestor glyph.
8349
+ */
8350
+ ae_cost: number
8351
+
8589
8352
  /**
8590
8353
  * The adventure points value.
8591
8354
  */
@@ -8600,16 +8363,16 @@ export interface AdvancedSkillSpecialAbility {
8600
8363
  * All translations for the entry, identified by IETF language tag (BCP47).
8601
8364
  */
8602
8365
  translations: {
8603
- [localeId: string]: AdvancedSkillSpecialAbilityTranslation
8366
+ [localeId: string]: AncestorGlyphTranslation
8604
8367
  }
8605
8368
  }
8606
8369
 
8607
8370
  /**
8608
8371
  * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
8609
8372
  */
8610
- export type AdvancedSkillSpecialAbility_ID = string
8373
+ export type AncestorGlyph_ID = string
8611
8374
 
8612
- export interface AdvancedSkillSpecialAbilityTranslation {
8375
+ export interface AncestorGlyphTranslation {
8613
8376
  /**
8614
8377
  * Name of the activatable entry.
8615
8378
  */
@@ -8640,22 +8403,26 @@ export interface AdvancedSkillSpecialAbilityTranslation {
8640
8403
  errata?: Errata
8641
8404
  }
8642
8405
 
8643
- /**
8644
- * A type of magical signs, originating from Nostria.
8645
- */
8646
- export interface AncestorGlyph {
8406
+ export interface ArcaneOrbEnchantment {
8647
8407
  /**
8648
8408
  * Number of available levels.
8649
8409
  */
8650
8410
  levels?: number
8651
8411
 
8652
8412
  /**
8653
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
8413
+ * Definitions for possible options for the activatable entry, derived from entry categories.
8654
8414
  *
8655
8415
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
8656
8416
  */
8657
8417
  select_options?: SelectOptions
8658
8418
 
8419
+ /**
8420
+ * Explicit definitions for possible options for the activatable entry.
8421
+ *
8422
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
8423
+ */
8424
+ explicit_select_options: GeneralSelectOption_ID[]
8425
+
8659
8426
  /**
8660
8427
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
8661
8428
  *
@@ -8670,9 +8437,19 @@ export interface AncestorGlyph {
8670
8437
  prerequisites?: GeneralPrerequisites
8671
8438
 
8672
8439
  /**
8673
- * The AE cost of the ancestor glyph.
8440
+ * The volume points the enchantment needs.
8674
8441
  */
8675
- ae_cost: number
8442
+ volume: Volume
8443
+
8444
+ /**
8445
+ * The cost when casting the entry.
8446
+ */
8447
+ cost?: EnchantmentCost
8448
+
8449
+ /**
8450
+ * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
8451
+ */
8452
+ property: PropertyDeclaration
8676
8453
 
8677
8454
  /**
8678
8455
  * The adventure points value.
@@ -8688,109 +8465,14 @@ export interface AncestorGlyph {
8688
8465
  * All translations for the entry, identified by IETF language tag (BCP47).
8689
8466
  */
8690
8467
  translations: {
8691
- [localeId: string]: AncestorGlyphTranslation
8468
+ [localeId: string]: ArcaneOrbEnchantmentTranslation
8692
8469
  }
8693
8470
  }
8694
8471
 
8695
8472
  /**
8696
8473
  * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
8697
8474
  */
8698
- export type AncestorGlyph_ID = string
8699
-
8700
- export interface AncestorGlyphTranslation {
8701
- /**
8702
- * Name of the activatable entry.
8703
- */
8704
- name: string
8705
-
8706
- /**
8707
- * The full name of the entry as stated in the sources. Only use when `name` needs to be different from full name for text generation purposes.
8708
- */
8709
- name_in_library?: string
8710
-
8711
- /**
8712
- * The rule text.
8713
- */
8714
- rules: string
8715
-
8716
- /**
8717
- * The string to append to the generated AP value text.
8718
- * @deprecated
8719
- */
8720
- ap_value_append?: string
8721
-
8722
- /**
8723
- * The adventure points value.
8724
- * @deprecated
8725
- */
8726
- ap_value?: string
8727
-
8728
- errata?: Errata
8729
- }
8730
-
8731
- export interface ArcaneOrbEnchantment {
8732
- /**
8733
- * Number of available levels.
8734
- */
8735
- levels?: number
8736
-
8737
- /**
8738
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
8739
- *
8740
- * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
8741
- */
8742
- select_options?: SelectOptions
8743
-
8744
- /**
8745
- * The number stating how often you can buy the entry. The **default** depends on the entry type:
8746
- *
8747
- * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
8748
- * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
8749
- * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
8750
- *
8751
- * The maximum is only set if it differs from the defaults specified above.
8752
- */
8753
- maximum?: number
8754
-
8755
- prerequisites?: GeneralPrerequisites
8756
-
8757
- /**
8758
- * The volume points the enchantment needs.
8759
- */
8760
- volume: Volume
8761
-
8762
- /**
8763
- * The cost when casting the entry.
8764
- */
8765
- cost?: EnchantmentCost
8766
-
8767
- /**
8768
- * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
8769
- */
8770
- property: PropertyDeclaration
8771
-
8772
- /**
8773
- * The adventure points value.
8774
- */
8775
- ap_value: AdventurePointsValue
8776
-
8777
- /**
8778
- * All translations for the entry, identified by IETF language tag (BCP47).
8779
- */
8780
- src: PublicationRefs
8781
-
8782
- /**
8783
- * All translations for the entry, identified by IETF language tag (BCP47).
8784
- */
8785
- translations: {
8786
- [localeId: string]: ArcaneOrbEnchantmentTranslation
8787
- }
8788
- }
8789
-
8790
- /**
8791
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
8792
- */
8793
- export type ArcaneOrbEnchantment_ID = string
8475
+ export type ArcaneOrbEnchantment_ID = string
8794
8476
 
8795
8477
  export interface ArcaneOrbEnchantmentTranslation {
8796
8478
  /**
@@ -9398,12 +9080,19 @@ export interface AttireEnchantment {
9398
9080
  levels?: number
9399
9081
 
9400
9082
  /**
9401
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
9083
+ * Definitions for possible options for the activatable entry, derived from entry categories.
9402
9084
  *
9403
9085
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
9404
9086
  */
9405
9087
  select_options?: SelectOptions
9406
9088
 
9089
+ /**
9090
+ * Explicit definitions for possible options for the activatable entry.
9091
+ *
9092
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
9093
+ */
9094
+ explicit_select_options: GeneralSelectOption_ID[]
9095
+
9407
9096
  /**
9408
9097
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
9409
9098
  *
@@ -9511,12 +9200,19 @@ export interface BowlEnchantment {
9511
9200
  levels?: number
9512
9201
 
9513
9202
  /**
9514
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
9203
+ * Definitions for possible options for the activatable entry, derived from entry categories.
9515
9204
  *
9516
9205
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
9517
9206
  */
9518
9207
  select_options?: SelectOptions
9519
9208
 
9209
+ /**
9210
+ * Explicit definitions for possible options for the activatable entry.
9211
+ *
9212
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
9213
+ */
9214
+ explicit_select_options: GeneralSelectOption_ID[]
9215
+
9520
9216
  /**
9521
9217
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
9522
9218
  *
@@ -9629,12 +9325,19 @@ export interface BrawlingSpecialAbility {
9629
9325
  usage_type: CombatSpecialAbilityUsageType
9630
9326
 
9631
9327
  /**
9632
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
9328
+ * Definitions for possible options for the activatable entry, derived from entry categories.
9633
9329
  *
9634
9330
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
9635
9331
  */
9636
9332
  select_options?: SelectOptions
9637
9333
 
9334
+ /**
9335
+ * Explicit definitions for possible options for the activatable entry.
9336
+ *
9337
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
9338
+ */
9339
+ explicit_select_options: GeneralSelectOption_ID[]
9340
+
9638
9341
  /**
9639
9342
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
9640
9343
  *
@@ -10408,12 +10111,19 @@ export interface CauldronEnchantment {
10408
10111
  levels?: number
10409
10112
 
10410
10113
  /**
10411
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
10114
+ * Definitions for possible options for the activatable entry, derived from entry categories.
10412
10115
  *
10413
10116
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
10414
10117
  */
10415
10118
  select_options?: SelectOptions
10416
10119
 
10120
+ /**
10121
+ * Explicit definitions for possible options for the activatable entry.
10122
+ *
10123
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
10124
+ */
10125
+ explicit_select_options: GeneralSelectOption_ID[]
10126
+
10417
10127
  /**
10418
10128
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
10419
10129
  *
@@ -10547,12 +10257,19 @@ export interface CeremonialItemSpecialAbility {
10547
10257
  levels?: number
10548
10258
 
10549
10259
  /**
10550
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
10260
+ * Definitions for possible options for the activatable entry, derived from entry categories.
10551
10261
  *
10552
10262
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
10553
10263
  */
10554
10264
  select_options?: SelectOptions
10555
10265
 
10266
+ /**
10267
+ * Explicit definitions for possible options for the activatable entry.
10268
+ *
10269
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
10270
+ */
10271
+ explicit_select_options: GeneralSelectOption_ID[]
10272
+
10556
10273
  /**
10557
10274
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
10558
10275
  */
@@ -10642,12 +10359,19 @@ export interface ChronicleEnchantment {
10642
10359
  levels?: number
10643
10360
 
10644
10361
  /**
10645
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
10362
+ * Definitions for possible options for the activatable entry, derived from entry categories.
10646
10363
  *
10647
10364
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
10648
10365
  */
10649
10366
  select_options?: SelectOptions
10650
10367
 
10368
+ /**
10369
+ * Explicit definitions for possible options for the activatable entry.
10370
+ *
10371
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
10372
+ */
10373
+ explicit_select_options: GeneralSelectOption_ID[]
10374
+
10651
10375
  /**
10652
10376
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
10653
10377
  *
@@ -10760,12 +10484,19 @@ export interface CombatSpecialAbility {
10760
10484
  usage_type: CombatSpecialAbilityUsageType
10761
10485
 
10762
10486
  /**
10763
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
10487
+ * Definitions for possible options for the activatable entry, derived from entry categories.
10764
10488
  *
10765
10489
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
10766
10490
  */
10767
10491
  select_options?: SelectOptions
10768
10492
 
10493
+ /**
10494
+ * Explicit definitions for possible options for the activatable entry.
10495
+ *
10496
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
10497
+ */
10498
+ explicit_select_options: GeneralSelectOption_ID[]
10499
+
10769
10500
  /**
10770
10501
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
10771
10502
  */
@@ -11046,12 +10777,19 @@ export interface CombatStyleSpecialAbility {
11046
10777
  type: CombatSpecialAbilityType
11047
10778
 
11048
10779
  /**
11049
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
10780
+ * Definitions for possible options for the activatable entry, derived from entry categories.
11050
10781
  *
11051
10782
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11052
10783
  */
11053
10784
  select_options?: SelectOptions
11054
10785
 
10786
+ /**
10787
+ * Explicit definitions for possible options for the activatable entry.
10788
+ *
10789
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
10790
+ */
10791
+ explicit_select_options: GeneralSelectOption_ID[]
10792
+
11055
10793
  /**
11056
10794
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
11057
10795
  */
@@ -11359,17 +11097,48 @@ export interface PatronCategoryTranslation {
11359
11097
  * The patron cultures the patron is or is not part of. If the patron is part of all patron cultures, the set should be empty and the operation should be difference.
11360
11098
  */
11361
11099
  export interface PatronCulture {
11100
+ set: Tribe_ID[]
11101
+ operation?: PatronCultureOperation
11102
+ }
11103
+
11104
+ export interface Tribe {
11362
11105
  /**
11363
- * The AE cost value.
11106
+ * The prerequisite(s) to be of this tribe.
11364
11107
  */
11365
- set: Culture_ID[]
11108
+ prerequisites: TribePrerequisites
11366
11109
 
11367
11110
  /**
11368
- * The interval in which you have to pay the AE cost again.
11111
+ * All translations for the entry, identified by IETF language tag (BCP47).
11369
11112
  */
11370
- operation?: PatronCultureOperation
11113
+ translations: {
11114
+ [localeId: string]: TribeTranslation
11115
+ }
11116
+ }
11117
+
11118
+ /**
11119
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
11120
+ */
11121
+ export type Tribe_ID = string
11122
+
11123
+ export interface TribeTranslation {
11124
+ /**
11125
+ * The tribe’s name.
11126
+ */
11127
+ name: string
11371
11128
  }
11372
11129
 
11130
+ export type TribePrerequisites = PlainPrerequisites<TribePrerequisiteGroup>
11131
+
11132
+ export type TribePrerequisiteGroup =
11133
+ | {
11134
+ kind: "Race"
11135
+ Race: RacePrerequisite
11136
+ }
11137
+ | {
11138
+ kind: "Culture"
11139
+ Culture: CulturePrerequisite
11140
+ }
11141
+
11373
11142
  /**
11374
11143
  * The set operation to combine the set of all patron cultures with the specified set of patron cultures: If they should intersect, the patron is only part of the given cultures. If they should differ, the patron is only part of the cultures that are not given.
11375
11144
  */
@@ -11500,12 +11269,19 @@ export interface CommandSpecialAbility {
11500
11269
  usage_type: CombatSpecialAbilityUsageType
11501
11270
 
11502
11271
  /**
11503
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
11272
+ * Definitions for possible options for the activatable entry, derived from entry categories.
11504
11273
  *
11505
11274
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11506
11275
  */
11507
11276
  select_options?: SelectOptions
11508
11277
 
11278
+ /**
11279
+ * Explicit definitions for possible options for the activatable entry.
11280
+ *
11281
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11282
+ */
11283
+ explicit_select_options: GeneralSelectOption_ID[]
11284
+
11509
11285
  /**
11510
11286
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
11511
11287
  *
@@ -11617,12 +11393,19 @@ export interface DaggerRitual {
11617
11393
  levels?: number
11618
11394
 
11619
11395
  /**
11620
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
11396
+ * Definitions for possible options for the activatable entry, derived from entry categories.
11621
11397
  *
11622
11398
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11623
11399
  */
11624
11400
  select_options?: SelectOptions
11625
11401
 
11402
+ /**
11403
+ * Explicit definitions for possible options for the activatable entry.
11404
+ *
11405
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11406
+ */
11407
+ explicit_select_options: GeneralSelectOption_ID[]
11408
+
11626
11409
  /**
11627
11410
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
11628
11411
  *
@@ -11755,12 +11538,19 @@ export interface FamiliarSpecialAbility {
11755
11538
  levels?: number
11756
11539
 
11757
11540
  /**
11758
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
11541
+ * Definitions for possible options for the activatable entry, derived from entry categories.
11759
11542
  *
11760
11543
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11761
11544
  */
11762
11545
  select_options?: SelectOptions
11763
11546
 
11547
+ /**
11548
+ * Explicit definitions for possible options for the activatable entry.
11549
+ *
11550
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11551
+ */
11552
+ explicit_select_options: GeneralSelectOption_ID[]
11553
+
11764
11554
  /**
11765
11555
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
11766
11556
  *
@@ -11835,12 +11625,19 @@ export interface FatePointSexSpecialAbility {
11835
11625
  levels?: number
11836
11626
 
11837
11627
  /**
11838
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
11628
+ * Definitions for possible options for the activatable entry, derived from entry categories.
11839
11629
  *
11840
11630
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11841
11631
  */
11842
11632
  select_options?: SelectOptions
11843
11633
 
11634
+ /**
11635
+ * Explicit definitions for possible options for the activatable entry.
11636
+ *
11637
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11638
+ */
11639
+ explicit_select_options: GeneralSelectOption_ID[]
11640
+
11844
11641
  /**
11845
11642
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
11846
11643
  *
@@ -11915,12 +11712,19 @@ export interface FatePointSpecialAbility {
11915
11712
  levels?: number
11916
11713
 
11917
11714
  /**
11918
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
11715
+ * Definitions for possible options for the activatable entry, derived from entry categories.
11919
11716
  *
11920
11717
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11921
11718
  */
11922
11719
  select_options?: SelectOptions
11923
11720
 
11721
+ /**
11722
+ * Explicit definitions for possible options for the activatable entry.
11723
+ *
11724
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11725
+ */
11726
+ explicit_select_options: GeneralSelectOption_ID[]
11727
+
11924
11728
  /**
11925
11729
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
11926
11730
  */
@@ -12005,12 +11809,19 @@ export interface FoolsHatEnchantment {
12005
11809
  levels?: number
12006
11810
 
12007
11811
  /**
12008
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
11812
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12009
11813
  *
12010
11814
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12011
11815
  */
12012
11816
  select_options?: SelectOptions
12013
11817
 
11818
+ /**
11819
+ * Explicit definitions for possible options for the activatable entry.
11820
+ *
11821
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11822
+ */
11823
+ explicit_select_options: GeneralSelectOption_ID[]
11824
+
12014
11825
  /**
12015
11826
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
12016
11827
  *
@@ -12118,12 +11929,19 @@ export interface GeneralSpecialAbility {
12118
11929
  levels?: number
12119
11930
 
12120
11931
  /**
12121
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
11932
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12122
11933
  *
12123
11934
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12124
11935
  */
12125
11936
  select_options?: SelectOptions
12126
11937
 
11938
+ /**
11939
+ * Explicit definitions for possible options for the activatable entry.
11940
+ *
11941
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
11942
+ */
11943
+ explicit_select_options: GeneralSelectOption_ID[]
11944
+
12127
11945
  /**
12128
11946
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
12129
11947
  */
@@ -12213,12 +12031,19 @@ export interface InstrumentEnchantment {
12213
12031
  levels?: number
12214
12032
 
12215
12033
  /**
12216
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
12034
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12217
12035
  *
12218
12036
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12219
12037
  */
12220
12038
  select_options?: SelectOptions
12221
12039
 
12040
+ /**
12041
+ * Explicit definitions for possible options for the activatable entry.
12042
+ *
12043
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12044
+ */
12045
+ explicit_select_options: GeneralSelectOption_ID[]
12046
+
12222
12047
  /**
12223
12048
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
12224
12049
  *
@@ -12326,12 +12151,19 @@ export interface KarmaSpecialAbility {
12326
12151
  levels?: number
12327
12152
 
12328
12153
  /**
12329
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
12154
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12330
12155
  *
12331
12156
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12332
12157
  */
12333
12158
  select_options?: SelectOptions
12334
12159
 
12160
+ /**
12161
+ * Explicit definitions for possible options for the activatable entry.
12162
+ *
12163
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12164
+ */
12165
+ explicit_select_options: GeneralSelectOption_ID[]
12166
+
12335
12167
  /**
12336
12168
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
12337
12169
  *
@@ -12406,12 +12238,19 @@ export interface Krallenkettenzauber {
12406
12238
  levels?: number
12407
12239
 
12408
12240
  /**
12409
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
12241
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12410
12242
  *
12411
12243
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12412
12244
  */
12413
12245
  select_options?: SelectOptions
12414
12246
 
12247
+ /**
12248
+ * Explicit definitions for possible options for the activatable entry.
12249
+ *
12250
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12251
+ */
12252
+ explicit_select_options: GeneralSelectOption_ID[]
12253
+
12415
12254
  /**
12416
12255
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
12417
12256
  *
@@ -12519,12 +12358,19 @@ export interface LiturgicalStyleSpecialAbility {
12519
12358
  levels?: number
12520
12359
 
12521
12360
  /**
12522
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
12361
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12523
12362
  *
12524
12363
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12525
12364
  */
12526
12365
  select_options?: SelectOptions
12527
12366
 
12367
+ /**
12368
+ * Explicit definitions for possible options for the activatable entry.
12369
+ *
12370
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12371
+ */
12372
+ explicit_select_options: GeneralSelectOption_ID[]
12373
+
12528
12374
  /**
12529
12375
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
12530
12376
  */
@@ -12614,12 +12460,19 @@ export interface LycantropicGift {
12614
12460
  levels?: number
12615
12461
 
12616
12462
  /**
12617
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
12463
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12618
12464
  *
12619
12465
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12620
12466
  */
12621
12467
  select_options?: SelectOptions
12622
12468
 
12469
+ /**
12470
+ * Explicit definitions for possible options for the activatable entry.
12471
+ *
12472
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12473
+ */
12474
+ explicit_select_options: GeneralSelectOption_ID[]
12475
+
12623
12476
  /**
12624
12477
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
12625
12478
  *
@@ -12756,12 +12609,19 @@ export interface MagicalSpecialAbility {
12756
12609
  levels?: number
12757
12610
 
12758
12611
  /**
12759
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
12612
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12760
12613
  *
12761
12614
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12762
12615
  */
12763
12616
  select_options?: SelectOptions
12764
12617
 
12618
+ /**
12619
+ * Explicit definitions for possible options for the activatable entry.
12620
+ *
12621
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12622
+ */
12623
+ explicit_select_options: GeneralSelectOption_ID[]
12624
+
12765
12625
  /**
12766
12626
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
12767
12627
  */
@@ -12851,12 +12711,19 @@ export interface MagicStyleSpecialAbility {
12851
12711
  levels?: number
12852
12712
 
12853
12713
  /**
12854
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
12714
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12855
12715
  *
12856
12716
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12857
12717
  */
12858
12718
  select_options?: SelectOptions
12859
12719
 
12720
+ /**
12721
+ * Explicit definitions for possible options for the activatable entry.
12722
+ *
12723
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12724
+ */
12725
+ explicit_select_options: GeneralSelectOption_ID[]
12726
+
12860
12727
  /**
12861
12728
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
12862
12729
  */
@@ -12946,12 +12813,19 @@ export interface OrbEnchantment {
12946
12813
  levels?: number
12947
12814
 
12948
12815
  /**
12949
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
12816
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12950
12817
  *
12951
12818
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12952
12819
  */
12953
12820
  select_options?: SelectOptions
12954
12821
 
12822
+ /**
12823
+ * Explicit definitions for possible options for the activatable entry.
12824
+ *
12825
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12826
+ */
12827
+ explicit_select_options: GeneralSelectOption_ID[]
12828
+
12955
12829
  /**
12956
12830
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
12957
12831
  *
@@ -13059,12 +12933,19 @@ export interface PactGift {
13059
12933
  levels?: number
13060
12934
 
13061
12935
  /**
13062
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
12936
+ * Definitions for possible options for the activatable entry, derived from entry categories.
13063
12937
  *
13064
12938
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13065
12939
  */
13066
12940
  select_options?: SelectOptions
13067
12941
 
12942
+ /**
12943
+ * Explicit definitions for possible options for the activatable entry.
12944
+ *
12945
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
12946
+ */
12947
+ explicit_select_options: GeneralSelectOption_ID[]
12948
+
13068
12949
  /**
13069
12950
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
13070
12951
  *
@@ -13224,12 +13105,19 @@ export interface ProtectiveWardingCircleSpecialAbility {
13224
13105
  levels?: number
13225
13106
 
13226
13107
  /**
13227
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
13108
+ * Definitions for possible options for the activatable entry, derived from entry categories.
13228
13109
  *
13229
13110
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13230
13111
  */
13231
13112
  select_options?: SelectOptions
13232
13113
 
13114
+ /**
13115
+ * Explicit definitions for possible options for the activatable entry.
13116
+ *
13117
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13118
+ */
13119
+ explicit_select_options: GeneralSelectOption_ID[]
13120
+
13233
13121
  /**
13234
13122
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
13235
13123
  *
@@ -13314,18 +13202,25 @@ export interface RingEnchantment {
13314
13202
  levels?: number
13315
13203
 
13316
13204
  /**
13317
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
13205
+ * Definitions for possible options for the activatable entry, derived from entry categories.
13318
13206
  *
13319
13207
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13320
13208
  */
13321
13209
  select_options?: SelectOptions
13322
13210
 
13323
13211
  /**
13324
- * The number stating how often you can buy the entry. The **default** depends on the entry type:
13212
+ * Explicit definitions for possible options for the activatable entry.
13325
13213
  *
13326
- * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
13327
- * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
13328
- * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
13214
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13215
+ */
13216
+ explicit_select_options: GeneralSelectOption_ID[]
13217
+
13218
+ /**
13219
+ * The number stating how often you can buy the entry. The **default** depends on the entry type:
13220
+ *
13221
+ * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
13222
+ * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
13223
+ * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
13329
13224
  *
13330
13225
  * The maximum is only set if it differs from the defaults specified above.
13331
13226
  */
@@ -13427,12 +13322,19 @@ export interface Sermon {
13427
13322
  levels?: number
13428
13323
 
13429
13324
  /**
13430
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
13325
+ * Definitions for possible options for the activatable entry, derived from entry categories.
13431
13326
  *
13432
13327
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13433
13328
  */
13434
13329
  select_options?: SelectOptions
13435
13330
 
13331
+ /**
13332
+ * Explicit definitions for possible options for the activatable entry.
13333
+ *
13334
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13335
+ */
13336
+ explicit_select_options: GeneralSelectOption_ID[]
13337
+
13436
13338
  /**
13437
13339
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
13438
13340
  *
@@ -13507,12 +13409,19 @@ export interface SexSpecialAbility {
13507
13409
  levels?: number
13508
13410
 
13509
13411
  /**
13510
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
13412
+ * Definitions for possible options for the activatable entry, derived from entry categories.
13511
13413
  *
13512
13414
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13513
13415
  */
13514
13416
  select_options?: SelectOptions
13515
13417
 
13418
+ /**
13419
+ * Explicit definitions for possible options for the activatable entry.
13420
+ *
13421
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13422
+ */
13423
+ explicit_select_options: GeneralSelectOption_ID[]
13424
+
13516
13425
  /**
13517
13426
  * Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.
13518
13427
  */
@@ -13597,12 +13506,19 @@ export interface SickleRitual {
13597
13506
  levels?: number
13598
13507
 
13599
13508
  /**
13600
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
13509
+ * Definitions for possible options for the activatable entry, derived from entry categories.
13601
13510
  *
13602
13511
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13603
13512
  */
13604
13513
  select_options?: SelectOptions
13605
13514
 
13515
+ /**
13516
+ * Explicit definitions for possible options for the activatable entry.
13517
+ *
13518
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13519
+ */
13520
+ explicit_select_options: GeneralSelectOption_ID[]
13521
+
13606
13522
  /**
13607
13523
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
13608
13524
  *
@@ -13710,12 +13626,19 @@ export interface SikaryanDrainSpecialAbility {
13710
13626
  levels?: number
13711
13627
 
13712
13628
  /**
13713
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
13629
+ * Definitions for possible options for the activatable entry, derived from entry categories.
13714
13630
  *
13715
13631
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13716
13632
  */
13717
13633
  select_options?: SelectOptions
13718
13634
 
13635
+ /**
13636
+ * Explicit definitions for possible options for the activatable entry.
13637
+ *
13638
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13639
+ */
13640
+ explicit_select_options: GeneralSelectOption_ID[]
13641
+
13719
13642
  /**
13720
13643
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
13721
13644
  *
@@ -13790,12 +13713,19 @@ export interface SkillStyleSpecialAbility {
13790
13713
  levels?: number
13791
13714
 
13792
13715
  /**
13793
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
13716
+ * Definitions for possible options for the activatable entry, derived from entry categories.
13794
13717
  *
13795
13718
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13796
13719
  */
13797
13720
  select_options?: SelectOptions
13798
13721
 
13722
+ /**
13723
+ * Explicit definitions for possible options for the activatable entry.
13724
+ *
13725
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13726
+ */
13727
+ explicit_select_options: GeneralSelectOption_ID[]
13728
+
13799
13729
  /**
13800
13730
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
13801
13731
  *
@@ -13875,12 +13805,19 @@ export interface SpellSwordEnchantment {
13875
13805
  levels?: number
13876
13806
 
13877
13807
  /**
13878
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
13808
+ * Definitions for possible options for the activatable entry, derived from entry categories.
13879
13809
  *
13880
13810
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13881
13811
  */
13882
13812
  select_options?: SelectOptions
13883
13813
 
13814
+ /**
13815
+ * Explicit definitions for possible options for the activatable entry.
13816
+ *
13817
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13818
+ */
13819
+ explicit_select_options: GeneralSelectOption_ID[]
13820
+
13884
13821
  /**
13885
13822
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
13886
13823
  *
@@ -13988,12 +13925,19 @@ export interface StaffEnchantment {
13988
13925
  levels?: number
13989
13926
 
13990
13927
  /**
13991
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
13928
+ * Definitions for possible options for the activatable entry, derived from entry categories.
13992
13929
  *
13993
13930
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13994
13931
  */
13995
13932
  select_options?: SelectOptions
13996
13933
 
13934
+ /**
13935
+ * Explicit definitions for possible options for the activatable entry.
13936
+ *
13937
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
13938
+ */
13939
+ explicit_select_options: GeneralSelectOption_ID[]
13940
+
13997
13941
  /**
13998
13942
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
13999
13943
  *
@@ -14106,12 +14050,19 @@ export interface ToyEnchantment {
14106
14050
  levels?: number
14107
14051
 
14108
14052
  /**
14109
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
14053
+ * Definitions for possible options for the activatable entry, derived from entry categories.
14110
14054
  *
14111
14055
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14112
14056
  */
14113
14057
  select_options?: SelectOptions
14114
14058
 
14059
+ /**
14060
+ * Explicit definitions for possible options for the activatable entry.
14061
+ *
14062
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14063
+ */
14064
+ explicit_select_options: GeneralSelectOption_ID[]
14065
+
14115
14066
  /**
14116
14067
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
14117
14068
  *
@@ -14219,12 +14170,19 @@ export interface Trinkhornzauber {
14219
14170
  levels?: number
14220
14171
 
14221
14172
  /**
14222
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
14173
+ * Definitions for possible options for the activatable entry, derived from entry categories.
14223
14174
  *
14224
14175
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14225
14176
  */
14226
14177
  select_options?: SelectOptions
14227
14178
 
14179
+ /**
14180
+ * Explicit definitions for possible options for the activatable entry.
14181
+ *
14182
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14183
+ */
14184
+ explicit_select_options: GeneralSelectOption_ID[]
14185
+
14228
14186
  /**
14229
14187
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
14230
14188
  *
@@ -14332,12 +14290,19 @@ export interface VampiricGift {
14332
14290
  levels?: number
14333
14291
 
14334
14292
  /**
14335
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
14293
+ * Definitions for possible options for the activatable entry, derived from entry categories.
14336
14294
  *
14337
14295
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14338
14296
  */
14339
14297
  select_options?: SelectOptions
14340
14298
 
14299
+ /**
14300
+ * Explicit definitions for possible options for the activatable entry.
14301
+ *
14302
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14303
+ */
14304
+ explicit_select_options: GeneralSelectOption_ID[]
14305
+
14341
14306
  /**
14342
14307
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
14343
14308
  *
@@ -14412,12 +14377,19 @@ export interface Vision {
14412
14377
  levels?: number
14413
14378
 
14414
14379
  /**
14415
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
14380
+ * Definitions for possible options for the activatable entry, derived from entry categories.
14416
14381
  *
14417
14382
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14418
14383
  */
14419
14384
  select_options?: SelectOptions
14420
14385
 
14386
+ /**
14387
+ * Explicit definitions for possible options for the activatable entry.
14388
+ *
14389
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14390
+ */
14391
+ explicit_select_options: GeneralSelectOption_ID[]
14392
+
14421
14393
  /**
14422
14394
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
14423
14395
  *
@@ -14492,12 +14464,19 @@ export interface WandEnchantment {
14492
14464
  levels?: number
14493
14465
 
14494
14466
  /**
14495
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
14467
+ * Definitions for possible options for the activatable entry, derived from entry categories.
14496
14468
  *
14497
14469
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14498
14470
  */
14499
14471
  select_options?: SelectOptions
14500
14472
 
14473
+ /**
14474
+ * Explicit definitions for possible options for the activatable entry.
14475
+ *
14476
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14477
+ */
14478
+ explicit_select_options: GeneralSelectOption_ID[]
14479
+
14501
14480
  /**
14502
14481
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
14503
14482
  *
@@ -14600,12 +14579,19 @@ export interface WeaponEnchantment {
14600
14579
  levels?: number
14601
14580
 
14602
14581
  /**
14603
- * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
14582
+ * Definitions for possible options for the activatable entry, derived from entry categories.
14604
14583
  *
14605
14584
  * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14606
14585
  */
14607
14586
  select_options?: SelectOptions
14608
14587
 
14588
+ /**
14589
+ * Explicit definitions for possible options for the activatable entry.
14590
+ *
14591
+ * Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
14592
+ */
14593
+ explicit_select_options: GeneralSelectOption_ID[]
14594
+
14609
14595
  /**
14610
14596
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
14611
14597
  *
@@ -15959,27 +15945,6 @@ export type SustainedAnimistPowerCost =
15959
15945
  ByPrimaryPatron: AnimistPowerCostByPrimaryPatron
15960
15946
  }
15961
15947
 
15962
- export interface Tribe {
15963
- /**
15964
- * All translations for the entry, identified by IETF language tag (BCP47).
15965
- */
15966
- translations: {
15967
- [localeId: string]: TribeTranslation
15968
- }
15969
- }
15970
-
15971
- /**
15972
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
15973
- */
15974
- export type Tribe_ID = string
15975
-
15976
- export interface TribeTranslation {
15977
- /**
15978
- * The tribe’s name.
15979
- */
15980
- name: string
15981
- }
15982
-
15983
15948
  export type AnimistPowerImprovementCost =
15984
15949
  | {
15985
15950
  kind: "Fixed"
@@ -16876,128 +16841,523 @@ export interface CulturalPackageItem {
16876
16841
  */
16877
16842
  export interface AreaKnowledgeTranslation {
16878
16843
  /**
16879
- * The full description without examples in parenthesis.
16844
+ * The full description without examples in parenthesis.
16845
+ */
16846
+ description: string
16847
+
16848
+ /**
16849
+ * A shorter version of the description, used in input fields and other UI elements where the space might be to small to use the full description.
16850
+ */
16851
+ abbreviated: string
16852
+
16853
+ /**
16854
+ * Examples of areas, if applicable.
16855
+ */
16856
+ examples?: AreaKnowledgeExample[]
16857
+ }
16858
+
16859
+ export interface AreaKnowledgeExample {
16860
+ area: string
16861
+ }
16862
+
16863
+ /**
16864
+ * Structured description of common names.
16865
+ */
16866
+ export interface CommonNames {
16867
+ /**
16868
+ * First names can be gender-neutral, but they can also be for a specific binary sex. They are sorted into groups.
16869
+ */
16870
+ first_name_groups?: CommonNameGroup[]
16871
+
16872
+ /**
16873
+ * Last names can be gender-neutral, like family names, but they can also be for a specific binary sex. They are sorted into groups.
16874
+ */
16875
+ last_name_groups?: CommonNameGroup[]
16876
+
16877
+ /**
16878
+ * Special naming rules.
16879
+ */
16880
+ naming_rules?: string
16881
+ }
16882
+
16883
+ export interface CommonNameGroup {
16884
+ /**
16885
+ * The group label.
16886
+ */
16887
+ label: string
16888
+
16889
+ /**
16890
+ * The binary sex if the group is only for a certain binary sex.
16891
+ */
16892
+ sex?: BinarySex
16893
+
16894
+ /**
16895
+ * The names from the group.
16896
+ */
16897
+ names: CommonName[]
16898
+ }
16899
+
16900
+ export interface CommonName {
16901
+ name: string
16902
+
16903
+ /**
16904
+ * Additional information about the name, appended in parenthesis.
16905
+ */
16906
+ note?: string
16907
+ }
16908
+
16909
+ export interface HairColor {
16910
+ /**
16911
+ * All translations for the entry, identified by IETF language tag (BCP47).
16912
+ */
16913
+ translations: {
16914
+ [localeId: string]: HairColorTranslation
16915
+ }
16916
+ }
16917
+
16918
+ /**
16919
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
16920
+ */
16921
+ export type HairColor_ID = string
16922
+
16923
+ export interface HairColorTranslation {
16924
+ /**
16925
+ * The hair color’s name.
16926
+ */
16927
+ name: string
16928
+ }
16929
+
16930
+ export interface EyeColor {
16931
+ /**
16932
+ * All translations for the entry, identified by IETF language tag (BCP47).
16933
+ */
16934
+ translations: {
16935
+ [localeId: string]: EyeColorTranslation
16936
+ }
16937
+ }
16938
+
16939
+ /**
16940
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
16941
+ */
16942
+ export type EyeColor_ID = string
16943
+
16944
+ export interface EyeColorTranslation {
16945
+ /**
16946
+ * The eye color’s name.
16947
+ */
16948
+ name: string
16949
+ }
16950
+
16951
+ /**
16952
+ * Configuration for random height generation.
16953
+ */
16954
+ export interface RandomHeightGeneration {
16955
+ /**
16956
+ * The base value used for random height.
16957
+ */
16958
+ base: number
16959
+
16960
+ /**
16961
+ * The dice used for random height.
16962
+ */
16963
+ random: Dice[]
16964
+ }
16965
+
16966
+ /**
16967
+ * Requires a specific pact.
16968
+ */
16969
+ export interface PactPrerequisitePactPrerequisite {
16970
+ /**
16971
+ * The required pact category.
16972
+ */
16973
+ category: PactCategory_ID
16974
+
16975
+ /**
16976
+ * The required domain(s).
16977
+ */
16978
+ domain?: PactDomain_ID[]
16979
+
16980
+ /**
16981
+ * The level to which the minimum value applies.
16982
+ */
16983
+ level?: number
16984
+
16985
+ display_option?: DisplayOption
16986
+ }
16987
+
16988
+ export interface PactCategory {
16989
+ /**
16990
+ * Types of creatures in this category.
16991
+ */
16992
+ types: PactType_ID[]
16993
+
16994
+ /**
16995
+ * Domains in this category.
16996
+ */
16997
+ domains: PactDomain_ID[]
16998
+
16999
+ /**
17000
+ * All translations for the entry, identified by IETF language tag (BCP47).
17001
+ */
17002
+ src: PublicationRefs
17003
+
17004
+ /**
17005
+ * All translations for the entry, identified by IETF language tag (BCP47).
17006
+ */
17007
+ translations: {
17008
+ [localeId: string]: PactCategoryTranslation
17009
+ }
17010
+ }
17011
+
17012
+ /**
17013
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
17014
+ */
17015
+ export type PactCategory_ID = string
17016
+
17017
+ export interface PactCategoryTranslation {
17018
+ /**
17019
+ * The pact category’s name.
17020
+ */
17021
+ name: string
17022
+
17023
+ errata?: Errata
17024
+ }
17025
+
17026
+ export interface PactType {
17027
+ /**
17028
+ * The pact category this type belongs to.
17029
+ */
17030
+ parent: PactCategory_ID
17031
+
17032
+ /**
17033
+ * All translations for the entry, identified by IETF language tag (BCP47).
17034
+ */
17035
+ translations: {
17036
+ [localeId: string]: PactTypeTranslation
17037
+ }
17038
+ }
17039
+
17040
+ /**
17041
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
17042
+ */
17043
+ export type PactType_ID = string
17044
+
17045
+ export interface PactTypeTranslation {
17046
+ /**
17047
+ * The type’s name.
17048
+ */
17049
+ name: string
17050
+ }
17051
+
17052
+ export interface PactDomain {
17053
+ /**
17054
+ * The pact category this domain belongs to.
17055
+ */
17056
+ parent: PactCategory_ID
17057
+
17058
+ /**
17059
+ * All translations for the entry, identified by IETF language tag (BCP47).
17060
+ */
17061
+ translations: {
17062
+ [localeId: string]: PactDomainTranslation
17063
+ }
17064
+ }
17065
+
17066
+ /**
17067
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
17068
+ */
17069
+ export type PactDomain_ID = string
17070
+
17071
+ export interface PactDomainTranslation {
17072
+ /**
17073
+ * The domain’s name.
17074
+ */
17075
+ name: string
17076
+ }
17077
+
17078
+ /**
17079
+ * Requires a minimum social status.
17080
+ */
17081
+ export interface SocialStatusPrerequisite {
17082
+ /**
17083
+ * The minimum social status’s identifier.
17084
+ */
17085
+ id: SocialStatus_ID
17086
+
17087
+ display_option?: DisplayOption
17088
+ }
17089
+
17090
+ /**
17091
+ * Requires a specific state to be active.
17092
+ */
17093
+ export interface StatePrerequisite {
17094
+ id: State_ID
17095
+ display_option?: DisplayOption
17096
+ }
17097
+
17098
+ export interface State {
17099
+ /**
17100
+ * All translations for the entry, identified by IETF language tag (BCP47).
17101
+ */
17102
+ src: PublicationRefs
17103
+
17104
+ /**
17105
+ * All translations for the entry, identified by IETF language tag (BCP47).
17106
+ */
17107
+ translations: {
17108
+ [localeId: string]: StateTranslation
17109
+ }
17110
+ }
17111
+
17112
+ /**
17113
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
17114
+ */
17115
+ export type State_ID = string
17116
+
17117
+ export interface StateTranslation {
17118
+ /**
17119
+ * The state’s name.
17120
+ */
17121
+ name: string
17122
+
17123
+ /**
17124
+ * The description of the state.
16880
17125
  */
16881
17126
  description: string
16882
17127
 
17128
+ errata?: Errata
17129
+ }
17130
+
17131
+ export interface PrimaryAttributePrerequisite {
16883
17132
  /**
16884
- * A shorter version of the description, used in input fields and other UI elements where the space might be to small to use the full description.
17133
+ * Is the required primary attribute for spellcasters or blessed ones?
16885
17134
  */
16886
- abbreviated: string
17135
+ category: PrimaryAttributeCategory
16887
17136
 
16888
17137
  /**
16889
- * Examples of areas, if applicable.
17138
+ * Required value of the attribute.
16890
17139
  */
16891
- examples?: AreaKnowledgeExample[]
17140
+ value: number
17141
+
17142
+ display_option?: DisplayOption
16892
17143
  }
16893
17144
 
16894
- export interface AreaKnowledgeExample {
16895
- area: string
17145
+ export type PrimaryAttributeCategory =
17146
+ | {
17147
+ kind: "Blessed"
17148
+ }
17149
+ | {
17150
+ kind: "Magical"
17151
+ }
17152
+
17153
+ export interface BlessedTraditionPrerequisite {
17154
+ /**
17155
+ * The blessed tradition prerequisite may only be satified if the blessed tradition is either church or shamanistic.
17156
+ */
17157
+ restriction?: BlessedTraditionPrerequisiteRestriction
17158
+
17159
+ display_option?: DisplayOption
16896
17160
  }
16897
17161
 
16898
17162
  /**
16899
- * Structured description of common names.
17163
+ * The blessed tradition prerequisite may only be satified if the blessed tradition is either church or shamanistic.
16900
17164
  */
16901
- export interface CommonNames {
16902
- /**
16903
- * First names can be gender-neutral, but they can also be for a specific binary sex. They are sorted into groups.
16904
- */
16905
- first_name_groups?: CommonNameGroup[]
17165
+ export type BlessedTraditionPrerequisiteRestriction =
17166
+ | {
17167
+ kind: "Church"
17168
+ }
17169
+ | {
17170
+ kind: "Shamanistic"
17171
+ }
16906
17172
 
17173
+ export interface MagicalTraditionPrerequisite {
16907
17174
  /**
16908
- * Last names can be gender-neutral, like family names, but they can also be for a specific binary sex. They are sorted into groups.
17175
+ * The magical tradition prerequisite may only be satified if the magical tradition can learn rituals or can bind familiars.
16909
17176
  */
16910
- last_name_groups?: CommonNameGroup[]
17177
+ restriction?: MagicalTraditionPrerequisiteRestriction
16911
17178
 
16912
- /**
16913
- * Special naming rules.
16914
- */
16915
- naming_rules?: string
17179
+ display_option?: DisplayOption
16916
17180
  }
16917
17181
 
16918
- export interface CommonNameGroup {
17182
+ /**
17183
+ * The magical tradition prerequisite may only be satified if the magical tradition can learn rituals or can bind familiars.
17184
+ */
17185
+ export type MagicalTraditionPrerequisiteRestriction =
17186
+ | {
17187
+ kind: "CanLearnRituals"
17188
+ }
17189
+ | {
17190
+ kind: "CanBindFamiliars"
17191
+ }
17192
+
17193
+ export interface RatedMinimumNumberPrerequisite {
16919
17194
  /**
16920
- * The group label.
17195
+ * The minimum number of skills that need to be on the defined minimum skill rating.
16921
17196
  */
16922
- label: string
17197
+ number: number
16923
17198
 
16924
17199
  /**
16925
- * The binary sex if the group is only for a certain binary sex.
17200
+ * The minimum skill rating the defined minimum number of skills need to be on.
16926
17201
  */
16927
- sex?: BinarySex
17202
+ value: number
16928
17203
 
16929
17204
  /**
16930
- * The names from the group.
17205
+ * The targets that contribute to satisfying the prerequisite.
16931
17206
  */
16932
- names: CommonName[]
17207
+ targets: RatedMinimumNumberPrerequisiteTarget
17208
+
17209
+ display_option?: DisplayOption
16933
17210
  }
16934
17211
 
16935
- export interface CommonName {
16936
- name: string
17212
+ export type RatedMinimumNumberPrerequisiteTarget =
17213
+ | {
17214
+ kind: "Skills"
17215
+ Skills: RatedMinimumNumberPrerequisiteSkillsTarget
17216
+ }
17217
+ | {
17218
+ kind: "CombatTechniques"
17219
+ CombatTechniques: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
17220
+ }
17221
+ | {
17222
+ kind: "Spellworks"
17223
+ Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
17224
+ }
17225
+ | {
17226
+ kind: "Liturgies"
17227
+ Liturgies: RatedMinimumNumberPrerequisiteLiturgiesTarget
17228
+ }
16937
17229
 
17230
+ export interface RatedMinimumNumberPrerequisiteSkillsTarget {
16938
17231
  /**
16939
- * Additional information about the name, appended in parenthesis.
17232
+ * The skills that are taken into account for satisfying the prerequisite.
16940
17233
  */
16941
- note?: string
17234
+ targets: Skill_ID[]
16942
17235
  }
16943
17236
 
16944
- export interface HairColor {
17237
+ export interface RatedMinimumNumberPrerequisiteCombatTechniquesTarget {
16945
17238
  /**
16946
- * All translations for the entry, identified by IETF language tag (BCP47).
17239
+ * The skills that are taken into account for satisfying the prerequisite.
16947
17240
  */
16948
- translations: {
16949
- [localeId: string]: HairColorTranslation
16950
- }
17241
+ group: RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup
16951
17242
  }
16952
17243
 
16953
- /**
16954
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
16955
- */
16956
- export type HairColor_ID = string
17244
+ export type RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup =
17245
+ | {
17246
+ kind: "All"
17247
+ }
17248
+ | {
17249
+ kind: "Close"
17250
+ }
17251
+ | {
17252
+ kind: "Ranged"
17253
+ }
16957
17254
 
16958
- export interface HairColorTranslation {
17255
+ export interface RatedMinimumNumberPrerequisiteSpellworksTarget {
16959
17256
  /**
16960
- * The hair color’s name.
17257
+ * The skills that are taken into account for satisfying the prerequisite.
16961
17258
  */
16962
- name: string
17259
+ property: Property_ID
16963
17260
  }
16964
17261
 
16965
- export interface EyeColor {
17262
+ export interface RatedMinimumNumberPrerequisiteLiturgiesTarget {
16966
17263
  /**
16967
- * All translations for the entry, identified by IETF language tag (BCP47).
17264
+ * The skills that are taken into account for satisfying the prerequisite.
16968
17265
  */
16969
- translations: {
16970
- [localeId: string]: EyeColorTranslation
16971
- }
17266
+ aspect: Aspect_ID
16972
17267
  }
16973
17268
 
16974
- /**
16975
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
16976
- */
16977
- export type EyeColor_ID = string
16978
-
16979
- export interface EyeColorTranslation {
17269
+ export interface RatedSumPrerequisite {
16980
17270
  /**
16981
- * The eye colors name.
17271
+ * The minimum required sum of the targetsratings.
16982
17272
  */
16983
- name: string
16984
- }
17273
+ sum: number
16985
17274
 
16986
- /**
16987
- * Configuration for random height generation.
16988
- */
16989
- export interface RandomHeightGeneration {
16990
17275
  /**
16991
- * The base value used for random height.
17276
+ * The targets that are included in calculating the sum.
16992
17277
  */
16993
- base: number
17278
+ targets: Skill_ID[]
16994
17279
 
16995
- /**
16996
- * The dice used for random height.
16997
- */
16998
- random: Dice[]
17280
+ display_option?: DisplayOption
16999
17281
  }
17000
17282
 
17283
+ export type AdvantageDisadvantagePrerequisites = PrerequisitesForLevels<AdvantageDisadvantagePrerequisiteGroup>
17284
+
17285
+ export type AdvantageDisadvantagePrerequisiteGroup =
17286
+ | {
17287
+ kind: "CommonSuggestedByRCP"
17288
+ }
17289
+ | {
17290
+ kind: "Sex"
17291
+ Sex: SexPrerequisite
17292
+ }
17293
+ | {
17294
+ kind: "Race"
17295
+ Race: RacePrerequisite
17296
+ }
17297
+ | {
17298
+ kind: "Culture"
17299
+ Culture: CulturePrerequisite
17300
+ }
17301
+ | {
17302
+ kind: "Pact"
17303
+ Pact: PactPrerequisitePactPrerequisite
17304
+ }
17305
+ | {
17306
+ kind: "SocialStatus"
17307
+ SocialStatus: SocialStatusPrerequisite
17308
+ }
17309
+ | {
17310
+ kind: "State"
17311
+ State: StatePrerequisite
17312
+ }
17313
+ | {
17314
+ kind: "Rule"
17315
+ Rule: RulePrerequisite
17316
+ }
17317
+ | {
17318
+ kind: "PrimaryAttribute"
17319
+ PrimaryAttribute: PrimaryAttributePrerequisite
17320
+ }
17321
+ | {
17322
+ kind: "Activatable"
17323
+ Activatable: ActivatablePrerequisite
17324
+ }
17325
+ | {
17326
+ kind: "BlessedTradition"
17327
+ BlessedTradition: BlessedTraditionPrerequisite
17328
+ }
17329
+ | {
17330
+ kind: "MagicalTradition"
17331
+ MagicalTradition: MagicalTraditionPrerequisite
17332
+ }
17333
+ | {
17334
+ kind: "Rated"
17335
+ Rated: RatedPrerequisite
17336
+ }
17337
+ | {
17338
+ kind: "RatedMinimumNumber"
17339
+ RatedMinimumNumber: RatedMinimumNumberPrerequisite
17340
+ }
17341
+ | {
17342
+ kind: "RatedSum"
17343
+ RatedSum: RatedSumPrerequisite
17344
+ }
17345
+ | {
17346
+ kind: "Enhancement"
17347
+ Enhancement: EnhancementPrerequisite
17348
+ }
17349
+ | {
17350
+ kind: "Text"
17351
+ Text: TextPrerequisite
17352
+ }
17353
+ | {
17354
+ kind: "NoOtherAncestorBloodAdvantage"
17355
+ }
17356
+ | {
17357
+ kind: "SexualCharacteristic"
17358
+ SexualCharacteristic: SexualCharacteristicPrerequisite
17359
+ }
17360
+
17001
17361
  export interface SkillsSelectOptionCategory {
17002
17362
  /**
17003
17363
  * A list of skill categories.
@@ -20156,6 +20516,11 @@ export interface AnimalVenom {
20156
20516
  * If `false`, the poison cannot be extracted.
20157
20517
  */
20158
20518
  is_extractable: boolean
20519
+
20520
+ /**
20521
+ * AP value and prerequisites of the poison’s trade secret.
20522
+ */
20523
+ trade_secret?: RecipeTradeSecret
20159
20524
  }
20160
20525
 
20161
20526
  export type AnimalVenomLevel =
@@ -21290,6 +21655,10 @@ export interface PersonalityTraitTranslation {
21290
21655
  export type PersonalityTraitPrerequisites = PlainPrerequisites<PersonalityTraitPrerequisiteGroup>
21291
21656
 
21292
21657
  export type PersonalityTraitPrerequisiteGroup =
21658
+ | {
21659
+ kind: "Race"
21660
+ Race: RacePrerequisite
21661
+ }
21293
21662
  | {
21294
21663
  kind: "Culture"
21295
21664
  Culture: CulturePrerequisite