@optolith/database-schema 0.89.0 → 0.91.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 (60) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/gen/types.d.ts +435 -345
  3. package/lib/cache/activatableSelectOptions.js +21 -19
  4. package/lib/cache/ancestorBloodAdvantages.js +4 -1
  5. package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.js +21 -22
  6. package/lib/cache/newApplicationsAndUses.js +4 -1
  7. package/lib/cache/tradeSecrets.js +1 -1
  8. package/lib/test.js +1 -0
  9. package/lib/types/AnimalDisease.js +1 -1
  10. package/lib/types/Attribute.js +1 -1
  11. package/lib/types/Culture.d.ts +8 -4
  12. package/lib/types/DerivedCharacteristic.js +3 -1
  13. package/lib/types/Disease.js +1 -1
  14. package/lib/types/Lessons.js +1 -1
  15. package/lib/types/Locale.js +1 -0
  16. package/lib/types/PatronCategory.js +1 -1
  17. package/lib/types/PersonalityTrait.js +1 -1
  18. package/lib/types/Profession.d.ts +16 -8
  19. package/lib/types/Race.d.ts +16 -8
  20. package/lib/types/TargetCategory.js +1 -1
  21. package/lib/types/_ActivatableNonMundane.js +1 -1
  22. package/lib/types/_ActivatableSelectOptionCategory.js +1 -1
  23. package/lib/types/_ActivatableSelectOptions.js +1 -1
  24. package/lib/types/_ActivatableSkill.d.ts +1 -1
  25. package/lib/types/_ActivatableSkill.js +1 -1
  26. package/lib/types/_ActivatableSkillApplicationsAndUses.js +1 -1
  27. package/lib/types/_ActivatableSkillCastingTime.js +2 -2
  28. package/lib/types/_ActivatableSkillDuration.js +2 -2
  29. package/lib/types/_ActivatableSkillTargetCategory.js +1 -1
  30. package/lib/types/_ArcaneTradition.js +1 -1
  31. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +2 -1
  32. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +2 -2
  33. package/lib/types/_DiseasePoison.js +1 -1
  34. package/lib/types/_Enhancements.d.ts +1 -1
  35. package/lib/types/_Enhancements.js +1 -1
  36. package/lib/types/_IdentifierGroup.d.ts +23 -0
  37. package/lib/types/_IdentifierGroup.js +9 -1
  38. package/lib/types/_Prerequisite.d.ts +1 -1
  39. package/lib/types/_Prerequisite.js +1 -1
  40. package/lib/types/_ResponsiveText.js +2 -2
  41. package/lib/types/equipment/item/Elixir.d.ts +1 -1
  42. package/lib/types/equipment/item/Elixir.js +2 -2
  43. package/lib/types/equipment/item/HerbalAid.js +2 -2
  44. package/lib/types/equipment/item/HerbalPreservation.js +3 -3
  45. package/lib/types/equipment/item/Plant.js +2 -2
  46. package/lib/types/equipment/item/Poison.js +1 -1
  47. package/lib/types/equipment/item/_Item.js +1 -1
  48. package/lib/types/equipment/item/sub/BotanicRegion.js +1 -1
  49. package/lib/types/equipment/item/sub/SubBiome.js +1 -1
  50. package/lib/types/magicalActions/AnimistPower_Tribe.js +1 -1
  51. package/lib/types/magicalActions/MagicalDance.d.ts +2 -2
  52. package/lib/types/magicalActions/MagicalMelody.d.ts +2 -2
  53. package/lib/types/magicalActions/_MusicTradition.d.ts +2 -2
  54. package/lib/types/magicalActions/_MusicTradition.js +2 -2
  55. package/lib/types/prerequisites/PrerequisiteGroups.js +7 -9
  56. package/lib/types/prerequisites/single/AnySpecialAbilityOfGroupPrerequisite.js +4 -6
  57. package/lib/types/source/Publication.js +1 -1
  58. package/lib/types/specialAbility/sub/MagicalTraditionSubgroup.js +1 -1
  59. package/lib/types/traditionArtifacts/_shared.js +1 -1
  60. package/package.json +10 -12
package/gen/types.d.ts CHANGED
@@ -292,6 +292,7 @@ export type EnumMap = {
292
292
  CombatUse: CombatUse
293
293
  CommonCantripNote: CommonCantripNote
294
294
  CommonnessRatedAdvantageDisadvantageLevel: CommonnessRatedAdvantageDisadvantageLevel
295
+ CommonnessSelectOptionIdentifier: CommonnessSelectOptionIdentifier
295
296
  CommonnessWeight: CommonnessWeight
296
297
  CommonProfessionConstraintsOperation: CommonProfessionConstraintsOperation
297
298
  CommonProfessions: CommonProfessions
@@ -21337,7 +21338,7 @@ export interface CommonnessRatedAdvantageDisadvantage<Identifier> {
21337
21338
  /**
21338
21339
  * The options the commonness rating applies to.
21339
21340
  */
21340
- options?: RequirableSelectOptionIdentifier[]
21341
+ options?: CommonnessSelectOptionIdentifier[]
21341
21342
 
21342
21343
  /**
21343
21344
  * All translations for the entry, identified by IETF language tag (BCP47).
@@ -21380,276 +21381,94 @@ export type CommonnessRatedAdvantageDisadvantageLevel =
21380
21381
  }
21381
21382
  }
21382
21383
 
21383
- export type CommonnessRatedSkill = Skill_ID
21384
-
21385
- export interface CulturalPackageItem {
21386
- /**
21387
- * The skill’s identifier.
21388
- */
21389
- id: Skill_ID
21390
-
21391
- /**
21392
- * The skill points for the respective skill you get for buying the cultural package.
21393
- */
21394
- points: number
21395
- }
21396
-
21397
- /**
21398
- * Description and examples of the area knowledge.
21399
- */
21400
- export interface AreaKnowledgeTranslation {
21401
- /**
21402
- * The full description without examples in parenthesis.
21403
- */
21404
- description: string
21405
-
21406
- /**
21407
- * 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.
21408
- */
21409
- abbreviated: string
21410
-
21411
- /**
21412
- * Examples of areas, if applicable.
21413
- */
21414
- examples?: AreaKnowledgeExample[]
21415
- }
21416
-
21417
- export interface AreaKnowledgeExample {
21418
- area: string
21419
- }
21420
-
21421
21384
  /**
21422
- * Structured description of common names.
21385
+ * A skill group can be chosen as an option for commonness-rated advantages and disadvantages, but it refers to all skills within that group, rather than being a select option itself.
21423
21386
  */
21424
- export interface CommonNames {
21425
- /**
21426
- * First names can be gender-neutral, but they can also be for a specific binary sex. They are sorted into groups.
21427
- */
21428
- first_name_groups?: CommonNameGroup[]
21429
-
21430
- /**
21431
- * Last names can be gender-neutral, like family names, but they can also be for a specific binary sex. They are sorted into groups.
21432
- */
21433
- last_name_groups?: CommonNameGroup[]
21434
-
21435
- /**
21436
- * Special naming rules.
21437
- */
21438
- naming_rules?: string
21439
- }
21440
-
21441
- export interface CommonNameGroup {
21442
- /**
21443
- * The group label.
21444
- */
21445
- label: string
21446
-
21447
- /**
21448
- * The binary sex if the group is only for a certain binary sex.
21449
- */
21450
- sex?: BinarySex
21451
-
21452
- /**
21453
- * The names from the group.
21454
- */
21455
- names: CommonName[]
21456
- }
21457
-
21458
- export interface CommonName {
21459
- name: string
21460
-
21461
- /**
21462
- * Additional information about the name, appended in parenthesis.
21463
- */
21464
- note?: string
21465
- }
21466
-
21467
- export interface RatedMinimumNumberPrerequisite {
21468
- /**
21469
- * The minimum number of skills that need to be on the defined minimum skill rating.
21470
- */
21471
- number: number
21472
-
21473
- /**
21474
- * The minimum skill rating the defined minimum number of skills need to be on.
21475
- */
21476
- value: number
21477
-
21478
- /**
21479
- * The targets that contribute to satisfying the prerequisite.
21480
- */
21481
- targets: RatedMinimumNumberPrerequisiteTarget
21482
-
21483
- display_option?: DisplayOption
21484
- }
21485
-
21486
- export type RatedMinimumNumberPrerequisiteTarget =
21387
+ export type CommonnessSelectOptionIdentifier =
21487
21388
  | {
21488
- kind: "Skills"
21489
- Skills: RatedMinimumNumberPrerequisiteSkillsTarget
21389
+ kind: "General"
21390
+ General: GeneralSelectOption_ID
21490
21391
  }
21491
21392
  | {
21492
- kind: "CombatTechniques"
21493
- CombatTechniques: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
21393
+ kind: "Race"
21394
+ Race: Race_ID
21494
21395
  }
21495
21396
  | {
21496
- kind: "Spellworks"
21497
- Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
21397
+ kind: "Skill"
21398
+ Skill: Skill_ID
21498
21399
  }
21499
21400
  | {
21500
- kind: "Liturgies"
21501
- Liturgies: RatedMinimumNumberPrerequisiteLiturgiesTarget
21401
+ kind: "SkillApplication"
21402
+ SkillApplication: SkillApplication_ID
21502
21403
  }
21503
-
21504
- export interface RatedMinimumNumberPrerequisiteSkillsTarget {
21505
- /**
21506
- * The skills that are taken into account for satisfying the prerequisite.
21507
- */
21508
- targets: Skill_ID[]
21509
- }
21510
-
21511
- export interface RatedMinimumNumberPrerequisiteCombatTechniquesTarget {
21512
- /**
21513
- * The skills that are taken into account for satisfying the prerequisite.
21514
- */
21515
- group: RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup
21516
- }
21517
-
21518
- export type RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup =
21519
21404
  | {
21520
- kind: "All"
21405
+ kind: "CloseCombatTechnique"
21406
+ CloseCombatTechnique: CloseCombatTechnique_ID
21521
21407
  }
21522
21408
  | {
21523
- kind: "Close"
21409
+ kind: "RangedCombatTechnique"
21410
+ RangedCombatTechnique: RangedCombatTechnique_ID
21524
21411
  }
21525
21412
  | {
21526
- kind: "Ranged"
21413
+ kind: "Property"
21414
+ Property: Property_ID
21527
21415
  }
21528
-
21529
- export interface RatedMinimumNumberPrerequisiteSpellworksTarget {
21530
- /**
21531
- * The skills that are taken into account for satisfying the prerequisite.
21532
- */
21533
- property: Property_ID
21534
- }
21535
-
21536
- export interface RatedMinimumNumberPrerequisiteLiturgiesTarget {
21537
- /**
21538
- * The skills that are taken into account for satisfying the prerequisite.
21539
- */
21540
- aspect: Aspect_ID
21541
- }
21542
-
21543
- export interface EnergyPrerequisite {
21544
- /**
21545
- * The energy’s identifier.
21546
- */
21547
- id: DerivedCharacteristic_ID
21548
-
21549
- /**
21550
- * The required value of additionally bought points.
21551
- */
21552
- value: number
21553
-
21554
- display_option?: DisplayOption
21555
- }
21556
-
21557
- /**
21558
- * In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package.
21559
- */
21560
- export interface ProfessionPackageOptions {
21561
- skill_specialization?: SkillSpecializationOptions
21562
- languages_scripts?: LanguagesScriptsOptions
21563
- specialAbilitiesForAdventurePoints?: SpecialAbilitiesForAdventurePointsOption
21564
- combat_techniques?: CombatTechniquesOptions
21565
- combatTechniquesForAdventurePoints?: CombatTechniquesForAdventurePointsOption
21566
- cantrips?: CantripsOptions
21567
- curses?: CursesOptions
21568
- skills?: SkillsOptions
21569
- spellworks?: SpellworksOptions
21570
- spellworksForChosenProperty?: SpellworksForChosenProperty
21571
- liturgies?: LiturgiesOptions
21572
- }
21573
-
21574
- export interface InfluenceEffect {
21575
- /**
21576
- * An optional label that is displayed and placed before the actual text.
21577
- */
21578
- label: string
21579
-
21580
- /**
21581
- * The effect text.
21582
- */
21583
- text: string
21584
- }
21585
-
21586
- export interface MagicalTraditionSubgroup {
21587
- /**
21588
- * The magical tradition this subgroup belongs to.
21589
- */
21590
- parent: MagicalTradition_ID
21591
-
21592
- /**
21593
- * All translations for the entry, identified by IETF language tag (BCP47).
21594
- */
21595
- translations: {
21596
- [localeId: string]: MagicalTraditionSubgroupTranslation
21416
+ | {
21417
+ kind: "Aspect"
21418
+ Aspect: Aspect_ID
21419
+ }
21420
+ | {
21421
+ kind: "Disease"
21422
+ Disease: Disease_ID
21423
+ }
21424
+ | {
21425
+ kind: "Poison"
21426
+ Poison: Poison_ID
21427
+ }
21428
+ | {
21429
+ kind: "Language"
21430
+ Language: Language_ID
21431
+ }
21432
+ | {
21433
+ kind: "AnimalShape"
21434
+ AnimalShape: AnimalShape_ID
21435
+ }
21436
+ | {
21437
+ kind: "LiturgicalChant"
21438
+ LiturgicalChant: LiturgicalChant_ID
21439
+ }
21440
+ | {
21441
+ kind: "Ceremony"
21442
+ Ceremony: Ceremony_ID
21443
+ }
21444
+ | {
21445
+ kind: "Spell"
21446
+ Spell: Spell_ID
21597
21447
  }
21598
- }
21599
-
21600
- /**
21601
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
21602
- */
21603
- export type MagicalTraditionSubgroup_ID = string
21604
-
21605
- export interface MagicalTraditionSubgroupTranslation {
21606
- /**
21607
- * The name of the ceremonial item. This should be the heading used in the respective publication.
21608
- */
21609
- name: string
21610
- }
21611
-
21612
- /**
21613
- * Defines how to determine the AP cost of an enhancement.
21614
- */
21615
- export type EnhancementAdventurePoints =
21616
21448
  | {
21617
- kind: "DerivedFromImprovementCost"
21618
- DerivedFromImprovementCost: DerivedEnhancementAdventurePoints
21449
+ kind: "Ritual"
21450
+ Ritual: Ritual_ID
21619
21451
  }
21620
21452
  | {
21621
- kind: "Constant"
21622
- Constant: number
21453
+ kind: "TradeSecret"
21454
+ TradeSecret: TradeSecret_ID
21623
21455
  }
21624
-
21625
- export interface DerivedEnhancementAdventurePoints {
21626
- /**
21627
- * The value to multiply with the numeric representation of the associated skill's improvement cost to form the final AP cost of this enhancement.
21628
- */
21629
- multiplier: number
21630
- }
21631
-
21632
- export type EnhancementPrerequisites = PlainPrerequisites<EnhancementPrerequisiteGroup>
21633
-
21634
- export type EnhancementPrerequisiteGroup =
21635
21456
  | {
21636
- kind: "Enhancement"
21637
- Enhancement: EnhancementPrerequisite
21457
+ kind: "ArcaneBardTradition"
21458
+ ArcaneBardTradition: ArcaneBardTradition_ID
21638
21459
  }
21639
21460
  | {
21640
- kind: "Rated"
21641
- Rated: RatedPrerequisite
21461
+ kind: "ArcaneDancerTradition"
21462
+ ArcaneDancerTradition: ArcaneDancerTradition_ID
21463
+ }
21464
+ | {
21465
+ kind: "Element"
21466
+ Element: Element_ID
21467
+ }
21468
+ | {
21469
+ kind: "SkillGroup"
21470
+ SkillGroup: SkillGroup_ID
21642
21471
  }
21643
-
21644
- /**
21645
- * Requires a specific enhancement from a skill.
21646
- */
21647
- export interface EnhancementPrerequisite {
21648
- /**
21649
- * The required enhancement.
21650
- */
21651
- id: Enhancement_ID
21652
- }
21653
21472
 
21654
21473
  export interface TradeSecret {
21655
21474
  /**
@@ -22005,189 +21824,460 @@ export type SelectOptionsAdventurePointsValue<Identifier> =
22005
21824
  }
22006
21825
 
22007
21826
  /**
22008
- * Derive the cost from the improvement cost of each entry. The AP value is calculated by multiplying the improvement cost with `multiplier` and then adding `offset`.
21827
+ * Derive the cost from the improvement cost of each entry. The AP value is calculated by multiplying the improvement cost with `multiplier` and then adding `offset`.
21828
+ */
21829
+ export interface SelectOptionsDeriveAdventurePointsValueFromImprovementCost {
21830
+ /**
21831
+ * This number is multiplied with the improvement cost of the entry (A = 1 to D = 4).
21832
+ */
21833
+ multiplier?: number
21834
+
21835
+ /**
21836
+ * This number is added to the multiplied improvement cost of the entry.
21837
+ */
21838
+ offset?: number
21839
+ }
21840
+
21841
+ export interface SelectOptionsFixedAdventurePointsValue<Identifier> {
21842
+ /**
21843
+ * A mapping of skill identifiers to their specific AP values.
21844
+ */
21845
+ map: SelectOptionsFixedAdventurePointsValueMapping<Identifier>[]
21846
+
21847
+ /**
21848
+ * The default value of an entry. Used as a fallback if no value is found in `list`.
21849
+ */
21850
+ default: number
21851
+ }
21852
+
21853
+ export interface SelectOptionsFixedAdventurePointsValueMapping<Identifier> {
21854
+ /**
21855
+ * The entry’s identifier.
21856
+ */
21857
+ id: Identifier
21858
+
21859
+ /**
21860
+ * The AP value for the specified entry.
21861
+ */
21862
+ ap_value: number
21863
+ }
21864
+
21865
+ export interface GenericSkillsSelectOptionCategoryCategory<Ref> {
21866
+ /**
21867
+ * Only include (`Intersection`) or exclude (`Difference`) specific entries.
21868
+ */
21869
+ specific?: SpecificFromSkillSelectOptionCategoryCategory<Ref>
21870
+
21871
+ /**
21872
+ * Generate prerequisites for each entry of the category.
21873
+ */
21874
+ prerequisites?: SkillSelectOptionCategoryPrerequisite[]
21875
+ }
21876
+
21877
+ export type SpellFilter =
21878
+ | {
21879
+ kind: "Single"
21880
+ Single: Spell_ID
21881
+ }
21882
+ | {
21883
+ kind: "Property"
21884
+ Property: Property_ID
21885
+ }
21886
+
21887
+ export type RitualFilter =
21888
+ | {
21889
+ kind: "Single"
21890
+ Single: Ritual_ID
21891
+ }
21892
+ | {
21893
+ kind: "Property"
21894
+ Property: Property_ID
21895
+ }
21896
+
21897
+ export type SkillishIdentifier =
21898
+ | {
21899
+ kind: "Skill"
21900
+ Skill: Skill_ID
21901
+ }
21902
+ | {
21903
+ kind: "Spell"
21904
+ Spell: Spell_ID
21905
+ }
21906
+ | {
21907
+ kind: "Ritual"
21908
+ Ritual: Ritual_ID
21909
+ }
21910
+ | {
21911
+ kind: "LiturgicalChant"
21912
+ LiturgicalChant: LiturgicalChant_ID
21913
+ }
21914
+ | {
21915
+ kind: "Ceremony"
21916
+ Ceremony: Ceremony_ID
21917
+ }
21918
+
21919
+ export interface CombatTechniquesSelectOptionCategory {
21920
+ /**
21921
+ * A list of combat technique categories.
21922
+ */
21923
+ categories: CombatTechniquesSelectOptionCategoryCategory[]
21924
+
21925
+ /**
21926
+ * Generate binding cost values for each entry.
21927
+ *
21928
+ * *Note: This only works if the entry it is defined on supports binding costs, i.e. is a tradition artifact enchantment.*
21929
+ */
21930
+ bindingCost?: SelectOptionsBindingCostValue<CombatTechniqueIdentifier>
21931
+
21932
+ /**
21933
+ * Generate AP values for each entry.
21934
+ */
21935
+ ap_value?: SelectOptionsAdventurePointsValue<CombatTechniqueIdentifier>
21936
+ }
21937
+
21938
+ export type CombatTechniquesSelectOptionCategoryCategory =
21939
+ | {
21940
+ kind: "CloseCombatTechniques"
21941
+ CloseCombatTechniques: GenericSkillsSelectOptionCategoryCategory<CloseCombatTechnique_ID>
21942
+ }
21943
+ | {
21944
+ kind: "RangedCombatTechniques"
21945
+ RangedCombatTechniques: GenericSkillsSelectOptionCategoryCategory<RangedCombatTechnique_ID>
21946
+ }
21947
+
21948
+ /**
21949
+ * Generate binding cost for each entry.
21950
+ */
21951
+ export type SelectOptionsBindingCostValue<Identifier> =
21952
+ | {
21953
+ kind: "Fixed"
21954
+ Fixed: SelectOptionsFixedBindingCostValue<Identifier>
21955
+ }
21956
+
21957
+ export interface SelectOptionsFixedBindingCostValue<Identifier> {
21958
+ /**
21959
+ * A mapping of skill identifiers to their specific binding cost values.
21960
+ */
21961
+ map: SelectOptionsFixedBindingCostValueMapping<Identifier>[]
21962
+
21963
+ /**
21964
+ * The default value of an entry. Used as a fallback if no value is found in `list`.
21965
+ */
21966
+ default: number
21967
+ }
21968
+
21969
+ export interface SelectOptionsFixedBindingCostValueMapping<Identifier> {
21970
+ /**
21971
+ * The entry’s identifier.
21972
+ */
21973
+ id: Identifier
21974
+
21975
+ /**
21976
+ * The binding cost for the specified entry.
21977
+ */
21978
+ bindingCost: number
21979
+ }
21980
+
21981
+ export interface TargetCategoriesSelectOptionCategory {
21982
+ /**
21983
+ * A list of target categories.
21984
+ */
21985
+ list: SpecificTargetCategory[]
21986
+ }
21987
+
21988
+ export interface SpecificTargetCategory {
21989
+ /**
21990
+ * The target category’s identifier.
21991
+ */
21992
+ id: TargetCategory_ID
21993
+
21994
+ /**
21995
+ * The volume for this specific selection.
21996
+ */
21997
+ volume?: number
21998
+ }
21999
+
22000
+ export type TradeSecretAdventurePointsValue =
22001
+ | {
22002
+ kind: "Fixed"
22003
+ Fixed: FixedAdventurePointsValue
22004
+ }
22005
+ | {
22006
+ kind: "DependingOnActiveInstances"
22007
+ DependingOnActiveInstances: AdventurePointsDependingOnActiveInstances
22008
+ }
22009
+
22010
+ export type CommonnessRatedSkill = Skill_ID
22011
+
22012
+ export interface CulturalPackageItem {
22013
+ /**
22014
+ * The skill’s identifier.
22015
+ */
22016
+ id: Skill_ID
22017
+
22018
+ /**
22019
+ * The skill points for the respective skill you get for buying the cultural package.
22020
+ */
22021
+ points: number
22022
+ }
22023
+
22024
+ /**
22025
+ * Description and examples of the area knowledge.
22026
+ */
22027
+ export interface AreaKnowledgeTranslation {
22028
+ /**
22029
+ * The full description without examples in parenthesis.
22030
+ */
22031
+ description: string
22032
+
22033
+ /**
22034
+ * 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.
22035
+ */
22036
+ abbreviated: string
22037
+
22038
+ /**
22039
+ * Examples of areas, if applicable.
22040
+ */
22041
+ examples?: AreaKnowledgeExample[]
22042
+ }
22043
+
22044
+ export interface AreaKnowledgeExample {
22045
+ area: string
22046
+ }
22047
+
22048
+ /**
22049
+ * Structured description of common names.
22009
22050
  */
22010
- export interface SelectOptionsDeriveAdventurePointsValueFromImprovementCost {
22051
+ export interface CommonNames {
22011
22052
  /**
22012
- * This number is multiplied with the improvement cost of the entry (A = 1 to D = 4).
22053
+ * First names can be gender-neutral, but they can also be for a specific binary sex. They are sorted into groups.
22013
22054
  */
22014
- multiplier?: number
22055
+ first_name_groups?: CommonNameGroup[]
22015
22056
 
22016
22057
  /**
22017
- * This number is added to the multiplied improvement cost of the entry.
22058
+ * Last names can be gender-neutral, like family names, but they can also be for a specific binary sex. They are sorted into groups.
22018
22059
  */
22019
- offset?: number
22060
+ last_name_groups?: CommonNameGroup[]
22061
+
22062
+ /**
22063
+ * Special naming rules.
22064
+ */
22065
+ naming_rules?: string
22020
22066
  }
22021
22067
 
22022
- export interface SelectOptionsFixedAdventurePointsValue<Identifier> {
22068
+ export interface CommonNameGroup {
22023
22069
  /**
22024
- * A mapping of skill identifiers to their specific AP values.
22070
+ * The group label.
22025
22071
  */
22026
- map: SelectOptionsFixedAdventurePointsValueMapping<Identifier>[]
22072
+ label: string
22027
22073
 
22028
22074
  /**
22029
- * The default value of an entry. Used as a fallback if no value is found in `list`.
22075
+ * The binary sex if the group is only for a certain binary sex.
22030
22076
  */
22031
- default: number
22032
- }
22077
+ sex?: BinarySex
22033
22078
 
22034
- export interface SelectOptionsFixedAdventurePointsValueMapping<Identifier> {
22035
22079
  /**
22036
- * The entry’s identifier.
22080
+ * The names from the group.
22037
22081
  */
22038
- id: Identifier
22082
+ names: CommonName[]
22083
+ }
22084
+
22085
+ export interface CommonName {
22086
+ name: string
22039
22087
 
22040
22088
  /**
22041
- * The AP value for the specified entry.
22089
+ * Additional information about the name, appended in parenthesis.
22042
22090
  */
22043
- ap_value: number
22091
+ note?: string
22044
22092
  }
22045
22093
 
22046
- export interface GenericSkillsSelectOptionCategoryCategory<Ref> {
22094
+ export interface RatedMinimumNumberPrerequisite {
22047
22095
  /**
22048
- * Only include (`Intersection`) or exclude (`Difference`) specific entries.
22096
+ * The minimum number of skills that need to be on the defined minimum skill rating.
22049
22097
  */
22050
- specific?: SpecificFromSkillSelectOptionCategoryCategory<Ref>
22098
+ number: number
22051
22099
 
22052
22100
  /**
22053
- * Generate prerequisites for each entry of the category.
22101
+ * The minimum skill rating the defined minimum number of skills need to be on.
22054
22102
  */
22055
- prerequisites?: SkillSelectOptionCategoryPrerequisite[]
22103
+ value: number
22104
+
22105
+ /**
22106
+ * The targets that contribute to satisfying the prerequisite.
22107
+ */
22108
+ targets: RatedMinimumNumberPrerequisiteTarget
22109
+
22110
+ display_option?: DisplayOption
22056
22111
  }
22057
22112
 
22058
- export type SpellFilter =
22113
+ export type RatedMinimumNumberPrerequisiteTarget =
22059
22114
  | {
22060
- kind: "Single"
22061
- Single: Spell_ID
22115
+ kind: "Skills"
22116
+ Skills: RatedMinimumNumberPrerequisiteSkillsTarget
22062
22117
  }
22063
22118
  | {
22064
- kind: "Property"
22065
- Property: Property_ID
22119
+ kind: "CombatTechniques"
22120
+ CombatTechniques: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
22066
22121
  }
22067
-
22068
- export type RitualFilter =
22069
22122
  | {
22070
- kind: "Single"
22071
- Single: Ritual_ID
22123
+ kind: "Spellworks"
22124
+ Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
22072
22125
  }
22073
22126
  | {
22074
- kind: "Property"
22075
- Property: Property_ID
22127
+ kind: "Liturgies"
22128
+ Liturgies: RatedMinimumNumberPrerequisiteLiturgiesTarget
22076
22129
  }
22077
22130
 
22078
- export type SkillishIdentifier =
22079
- | {
22080
- kind: "Skill"
22081
- Skill: Skill_ID
22082
- }
22083
- | {
22084
- kind: "Spell"
22085
- Spell: Spell_ID
22086
- }
22131
+ export interface RatedMinimumNumberPrerequisiteSkillsTarget {
22132
+ /**
22133
+ * The skills that are taken into account for satisfying the prerequisite.
22134
+ */
22135
+ targets: Skill_ID[]
22136
+ }
22137
+
22138
+ export interface RatedMinimumNumberPrerequisiteCombatTechniquesTarget {
22139
+ /**
22140
+ * The skills that are taken into account for satisfying the prerequisite.
22141
+ */
22142
+ group: RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup
22143
+ }
22144
+
22145
+ export type RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup =
22087
22146
  | {
22088
- kind: "Ritual"
22089
- Ritual: Ritual_ID
22147
+ kind: "All"
22090
22148
  }
22091
22149
  | {
22092
- kind: "LiturgicalChant"
22093
- LiturgicalChant: LiturgicalChant_ID
22150
+ kind: "Close"
22094
22151
  }
22095
22152
  | {
22096
- kind: "Ceremony"
22097
- Ceremony: Ceremony_ID
22153
+ kind: "Ranged"
22098
22154
  }
22099
22155
 
22100
- export interface CombatTechniquesSelectOptionCategory {
22156
+ export interface RatedMinimumNumberPrerequisiteSpellworksTarget {
22101
22157
  /**
22102
- * A list of combat technique categories.
22158
+ * The skills that are taken into account for satisfying the prerequisite.
22103
22159
  */
22104
- categories: CombatTechniquesSelectOptionCategoryCategory[]
22160
+ property: Property_ID
22161
+ }
22162
+
22163
+ export interface RatedMinimumNumberPrerequisiteLiturgiesTarget {
22164
+ /**
22165
+ * The skills that are taken into account for satisfying the prerequisite.
22166
+ */
22167
+ aspect: Aspect_ID
22168
+ }
22105
22169
 
22170
+ export interface EnergyPrerequisite {
22106
22171
  /**
22107
- * Generate binding cost values for each entry.
22108
- *
22109
- * *Note: This only works if the entry it is defined on supports binding costs, i.e. is a tradition artifact enchantment.*
22172
+ * The energy’s identifier.
22110
22173
  */
22111
- bindingCost?: SelectOptionsBindingCostValue<CombatTechniqueIdentifier>
22174
+ id: DerivedCharacteristic_ID
22112
22175
 
22113
22176
  /**
22114
- * Generate AP values for each entry.
22177
+ * The required value of additionally bought points.
22115
22178
  */
22116
- ap_value?: SelectOptionsAdventurePointsValue<CombatTechniqueIdentifier>
22117
- }
22179
+ value: number
22118
22180
 
22119
- export type CombatTechniquesSelectOptionCategoryCategory =
22120
- | {
22121
- kind: "CloseCombatTechniques"
22122
- CloseCombatTechniques: GenericSkillsSelectOptionCategoryCategory<CloseCombatTechnique_ID>
22123
- }
22124
- | {
22125
- kind: "RangedCombatTechniques"
22126
- RangedCombatTechniques: GenericSkillsSelectOptionCategoryCategory<RangedCombatTechnique_ID>
22127
- }
22181
+ display_option?: DisplayOption
22182
+ }
22128
22183
 
22129
22184
  /**
22130
- * Generate binding cost for each entry.
22185
+ * In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package.
22131
22186
  */
22132
- export type SelectOptionsBindingCostValue<Identifier> =
22133
- | {
22134
- kind: "Fixed"
22135
- Fixed: SelectOptionsFixedBindingCostValue<Identifier>
22136
- }
22187
+ export interface ProfessionPackageOptions {
22188
+ skill_specialization?: SkillSpecializationOptions
22189
+ languages_scripts?: LanguagesScriptsOptions
22190
+ specialAbilitiesForAdventurePoints?: SpecialAbilitiesForAdventurePointsOption
22191
+ combat_techniques?: CombatTechniquesOptions
22192
+ combatTechniquesForAdventurePoints?: CombatTechniquesForAdventurePointsOption
22193
+ cantrips?: CantripsOptions
22194
+ curses?: CursesOptions
22195
+ skills?: SkillsOptions
22196
+ spellworks?: SpellworksOptions
22197
+ spellworksForChosenProperty?: SpellworksForChosenProperty
22198
+ liturgies?: LiturgiesOptions
22199
+ }
22137
22200
 
22138
- export interface SelectOptionsFixedBindingCostValue<Identifier> {
22201
+ export interface InfluenceEffect {
22139
22202
  /**
22140
- * A mapping of skill identifiers to their specific binding cost values.
22203
+ * An optional label that is displayed and placed before the actual text.
22141
22204
  */
22142
- map: SelectOptionsFixedBindingCostValueMapping<Identifier>[]
22205
+ label: string
22143
22206
 
22144
22207
  /**
22145
- * The default value of an entry. Used as a fallback if no value is found in `list`.
22208
+ * The effect text.
22146
22209
  */
22147
- default: number
22210
+ text: string
22148
22211
  }
22149
22212
 
22150
- export interface SelectOptionsFixedBindingCostValueMapping<Identifier> {
22213
+ export interface MagicalTraditionSubgroup {
22151
22214
  /**
22152
- * The entry’s identifier.
22215
+ * The magical tradition this subgroup belongs to.
22153
22216
  */
22154
- id: Identifier
22217
+ parent: MagicalTradition_ID
22155
22218
 
22156
22219
  /**
22157
- * The binding cost for the specified entry.
22220
+ * All translations for the entry, identified by IETF language tag (BCP47).
22158
22221
  */
22159
- bindingCost: number
22222
+ translations: {
22223
+ [localeId: string]: MagicalTraditionSubgroupTranslation
22224
+ }
22160
22225
  }
22161
22226
 
22162
- export interface TargetCategoriesSelectOptionCategory {
22227
+ /**
22228
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
22229
+ */
22230
+ export type MagicalTraditionSubgroup_ID = string
22231
+
22232
+ export interface MagicalTraditionSubgroupTranslation {
22163
22233
  /**
22164
- * A list of target categories.
22234
+ * The name of the ceremonial item. This should be the heading used in the respective publication.
22165
22235
  */
22166
- list: SpecificTargetCategory[]
22236
+ name: string
22167
22237
  }
22168
22238
 
22169
- export interface SpecificTargetCategory {
22170
- /**
22171
- * The target category’s identifier.
22172
- */
22173
- id: TargetCategory_ID
22239
+ /**
22240
+ * Defines how to determine the AP cost of an enhancement.
22241
+ */
22242
+ export type EnhancementAdventurePoints =
22243
+ | {
22244
+ kind: "DerivedFromImprovementCost"
22245
+ DerivedFromImprovementCost: DerivedEnhancementAdventurePoints
22246
+ }
22247
+ | {
22248
+ kind: "Constant"
22249
+ Constant: number
22250
+ }
22174
22251
 
22252
+ export interface DerivedEnhancementAdventurePoints {
22175
22253
  /**
22176
- * The volume for this specific selection.
22254
+ * The value to multiply with the numeric representation of the associated skill's improvement cost to form the final AP cost of this enhancement.
22177
22255
  */
22178
- volume?: number
22256
+ multiplier: number
22179
22257
  }
22180
22258
 
22181
- export type TradeSecretAdventurePointsValue =
22259
+ export type EnhancementPrerequisites = PlainPrerequisites<EnhancementPrerequisiteGroup>
22260
+
22261
+ export type EnhancementPrerequisiteGroup =
22182
22262
  | {
22183
- kind: "Fixed"
22184
- Fixed: FixedAdventurePointsValue
22263
+ kind: "Enhancement"
22264
+ Enhancement: EnhancementPrerequisite
22185
22265
  }
22186
22266
  | {
22187
- kind: "DependingOnActiveInstances"
22188
- DependingOnActiveInstances: AdventurePointsDependingOnActiveInstances
22267
+ kind: "Rated"
22268
+ Rated: RatedPrerequisite
22189
22269
  }
22190
22270
 
22271
+ /**
22272
+ * Requires a specific enhancement from a skill.
22273
+ */
22274
+ export interface EnhancementPrerequisite {
22275
+ /**
22276
+ * The required enhancement.
22277
+ */
22278
+ id: Enhancement_ID
22279
+ }
22280
+
22191
22281
  /**
22192
22282
  * A list of preconditions for the prerequisite it is defined on, so that it only takes effect if the prerequisites in this list are matched.
22193
22283
  *
@@ -24956,7 +25046,7 @@ export interface Elixir {
24956
25046
  /**
24957
25047
  * AP value and prerequisites of the elixir recipe’s trade secret.
24958
25048
  */
24959
- trade_secret: RecipeTradeSecret
25049
+ trade_secret?: RecipeTradeSecret
24960
25050
 
24961
25051
  /**
24962
25052
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.