@optolith/database-schema 0.89.0 → 0.90.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/gen/types.d.ts +404 -314
  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.js +1 -1
  42. package/lib/types/equipment/item/HerbalAid.js +2 -2
  43. package/lib/types/equipment/item/HerbalPreservation.js +3 -3
  44. package/lib/types/equipment/item/Plant.js +2 -2
  45. package/lib/types/equipment/item/Poison.js +1 -1
  46. package/lib/types/equipment/item/_Item.js +1 -1
  47. package/lib/types/equipment/item/sub/BotanicRegion.js +1 -1
  48. package/lib/types/equipment/item/sub/SubBiome.js +1 -1
  49. package/lib/types/magicalActions/AnimistPower_Tribe.js +1 -1
  50. package/lib/types/magicalActions/MagicalDance.d.ts +2 -2
  51. package/lib/types/magicalActions/MagicalMelody.d.ts +2 -2
  52. package/lib/types/magicalActions/_MusicTradition.d.ts +2 -2
  53. package/lib/types/magicalActions/_MusicTradition.js +2 -2
  54. package/lib/types/prerequisites/PrerequisiteGroups.js +7 -9
  55. package/lib/types/prerequisites/single/AnySpecialAbilityOfGroupPrerequisite.js +4 -6
  56. package/lib/types/source/Publication.js +1 -1
  57. package/lib/types/specialAbility/sub/MagicalTraditionSubgroup.js +1 -1
  58. package/lib/types/traditionArtifacts/_shared.js +1 -1
  59. 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,367 +21381,185 @@ 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
21384
  /**
21398
- * Description and examples of the area knowledge.
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.
21399
21386
  */
21400
- export interface AreaKnowledgeTranslation {
21401
- /**
21402
- * The full description without examples in parenthesis.
21403
- */
21404
- description: string
21387
+ export type CommonnessSelectOptionIdentifier =
21388
+ | {
21389
+ kind: "General"
21390
+ General: GeneralSelectOption_ID
21391
+ }
21392
+ | {
21393
+ kind: "Race"
21394
+ Race: Race_ID
21395
+ }
21396
+ | {
21397
+ kind: "Skill"
21398
+ Skill: Skill_ID
21399
+ }
21400
+ | {
21401
+ kind: "SkillApplication"
21402
+ SkillApplication: SkillApplication_ID
21403
+ }
21404
+ | {
21405
+ kind: "CloseCombatTechnique"
21406
+ CloseCombatTechnique: CloseCombatTechnique_ID
21407
+ }
21408
+ | {
21409
+ kind: "RangedCombatTechnique"
21410
+ RangedCombatTechnique: RangedCombatTechnique_ID
21411
+ }
21412
+ | {
21413
+ kind: "Property"
21414
+ Property: Property_ID
21415
+ }
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
21447
+ }
21448
+ | {
21449
+ kind: "Ritual"
21450
+ Ritual: Ritual_ID
21451
+ }
21452
+ | {
21453
+ kind: "TradeSecret"
21454
+ TradeSecret: TradeSecret_ID
21455
+ }
21456
+ | {
21457
+ kind: "ArcaneBardTradition"
21458
+ ArcaneBardTradition: ArcaneBardTradition_ID
21459
+ }
21460
+ | {
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
21471
+ }
21405
21472
 
21473
+ export interface TradeSecret {
21406
21474
  /**
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.
21475
+ * Definitions for possible options for the activatable entry.
21476
+ *
21477
+ * 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.
21408
21478
  */
21409
- abbreviated: string
21479
+ select_options?: TradeSecretSelectOptions
21410
21480
 
21411
21481
  /**
21412
- * Examples of areas, if applicable.
21482
+ * The trade secret’s adventure point value
21413
21483
  */
21414
- examples?: AreaKnowledgeExample[]
21415
- }
21416
-
21417
- export interface AreaKnowledgeExample {
21418
- area: string
21419
- }
21484
+ ap_value: TradeSecretAdventurePointsValue
21420
21485
 
21421
- /**
21422
- * Structured description of common names.
21423
- */
21424
- export interface CommonNames {
21425
21486
  /**
21426
- * First names can be gender-neutral, but they can also be for a specific binary sex. They are sorted into groups.
21487
+ * Is this trade secret considered secret knowledge?
21427
21488
  */
21428
- first_name_groups?: CommonNameGroup[]
21489
+ is_secret_knowledge: boolean
21429
21490
 
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[]
21491
+ prerequisites?: PlainGeneralPrerequisites
21434
21492
 
21435
21493
  /**
21436
- * Special naming rules.
21494
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
21437
21495
  */
21438
- naming_rules?: string
21439
- }
21496
+ src: PublicationRefs
21440
21497
 
21441
- export interface CommonNameGroup {
21442
21498
  /**
21443
- * The group label.
21499
+ * All translations for the entry, identified by IETF language tag (BCP47).
21444
21500
  */
21445
- label: string
21501
+ translations: {
21502
+ [localeId: string]: TradeSecretTranslation
21503
+ }
21504
+ }
21446
21505
 
21447
- /**
21448
- * The binary sex if the group is only for a certain binary sex.
21449
- */
21450
- sex?: BinarySex
21506
+ /**
21507
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
21508
+ */
21509
+ export type TradeSecret_ID = string
21451
21510
 
21511
+ export interface TradeSecretTranslation {
21452
21512
  /**
21453
- * The names from the group.
21513
+ * The trade secret’s name.
21454
21514
  */
21455
- names: CommonName[]
21456
- }
21457
-
21458
- export interface CommonName {
21459
21515
  name: string
21460
21516
 
21461
21517
  /**
21462
- * Additional information about the name, appended in parenthesis.
21518
+ * 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.
21463
21519
  */
21464
- note?: string
21465
- }
21520
+ name_in_library?: string
21466
21521
 
21467
- export interface RatedMinimumNumberPrerequisite {
21468
21522
  /**
21469
- * The minimum number of skills that need to be on the defined minimum skill rating.
21523
+ * The description of the trade secret.
21470
21524
  */
21471
- number: number
21525
+ description?: string
21472
21526
 
21473
- /**
21474
- * The minimum skill rating the defined minimum number of skills need to be on.
21475
- */
21476
- value: number
21527
+ errata?: Errata
21528
+ }
21477
21529
 
21530
+ /**
21531
+ * 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.
21532
+ *
21533
+ * 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.
21534
+ */
21535
+ export interface TradeSecretSelectOptions {
21478
21536
  /**
21479
- * The targets that contribute to satisfying the prerequisite.
21537
+ * 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.
21480
21538
  */
21481
- targets: RatedMinimumNumberPrerequisiteTarget
21482
-
21483
- display_option?: DisplayOption
21539
+ derived?: TradeSecretSelectOptionCategory
21484
21540
  }
21485
21541
 
21486
- export type RatedMinimumNumberPrerequisiteTarget =
21542
+ export type TradeSecretSelectOptionCategory =
21487
21543
  | {
21488
- kind: "Skills"
21489
- Skills: RatedMinimumNumberPrerequisiteSkillsTarget
21544
+ kind: "Blessings"
21490
21545
  }
21491
21546
  | {
21492
- kind: "CombatTechniques"
21493
- CombatTechniques: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
21547
+ kind: "Cantrips"
21494
21548
  }
21495
21549
  | {
21496
- kind: "Spellworks"
21497
- Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
21550
+ kind: "Scripts"
21498
21551
  }
21499
21552
  | {
21500
- kind: "Liturgies"
21501
- Liturgies: RatedMinimumNumberPrerequisiteLiturgiesTarget
21553
+ kind: "AnimalShapes"
21502
21554
  }
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
21555
  | {
21520
- kind: "All"
21556
+ kind: "ArcaneBardTraditions"
21521
21557
  }
21522
21558
  | {
21523
- kind: "Close"
21559
+ kind: "ArcaneDancerTraditions"
21524
21560
  }
21525
21561
  | {
21526
- kind: "Ranged"
21527
- }
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
21597
- }
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
- | {
21617
- kind: "DerivedFromImprovementCost"
21618
- DerivedFromImprovementCost: DerivedEnhancementAdventurePoints
21619
- }
21620
- | {
21621
- kind: "Constant"
21622
- Constant: number
21623
- }
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
- | {
21636
- kind: "Enhancement"
21637
- Enhancement: EnhancementPrerequisite
21638
- }
21639
- | {
21640
- kind: "Rated"
21641
- Rated: RatedPrerequisite
21642
- }
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
-
21654
- export interface TradeSecret {
21655
- /**
21656
- * Definitions for possible options for the activatable entry.
21657
- *
21658
- * 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.
21659
- */
21660
- select_options?: TradeSecretSelectOptions
21661
-
21662
- /**
21663
- * The trade secret’s adventure point value
21664
- */
21665
- ap_value: TradeSecretAdventurePointsValue
21666
-
21667
- /**
21668
- * Is this trade secret considered secret knowledge?
21669
- */
21670
- is_secret_knowledge: boolean
21671
-
21672
- prerequisites?: PlainGeneralPrerequisites
21673
-
21674
- /**
21675
- * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
21676
- */
21677
- src: PublicationRefs
21678
-
21679
- /**
21680
- * All translations for the entry, identified by IETF language tag (BCP47).
21681
- */
21682
- translations: {
21683
- [localeId: string]: TradeSecretTranslation
21684
- }
21685
- }
21686
-
21687
- /**
21688
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
21689
- */
21690
- export type TradeSecret_ID = string
21691
-
21692
- export interface TradeSecretTranslation {
21693
- /**
21694
- * The trade secret’s name.
21695
- */
21696
- name: string
21697
-
21698
- /**
21699
- * 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.
21700
- */
21701
- name_in_library?: string
21702
-
21703
- /**
21704
- * The description of the trade secret.
21705
- */
21706
- description?: string
21707
-
21708
- errata?: Errata
21709
- }
21710
-
21711
- /**
21712
- * 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.
21713
- *
21714
- * 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.
21715
- */
21716
- export interface TradeSecretSelectOptions {
21717
- /**
21718
- * 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.
21719
- */
21720
- derived?: TradeSecretSelectOptionCategory
21721
- }
21722
-
21723
- export type TradeSecretSelectOptionCategory =
21724
- | {
21725
- kind: "Blessings"
21726
- }
21727
- | {
21728
- kind: "Cantrips"
21729
- }
21730
- | {
21731
- kind: "Scripts"
21732
- }
21733
- | {
21734
- kind: "AnimalShapes"
21735
- }
21736
- | {
21737
- kind: "ArcaneBardTraditions"
21738
- }
21739
- | {
21740
- kind: "ArcaneDancerTraditions"
21741
- }
21742
- | {
21743
- kind: "SexPractices"
21562
+ kind: "SexPractices"
21744
21563
  }
21745
21564
  | {
21746
21565
  kind: "Races"
@@ -22188,6 +22007,277 @@ export type TradeSecretAdventurePointsValue =
22188
22007
  DependingOnActiveInstances: AdventurePointsDependingOnActiveInstances
22189
22008
  }
22190
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.
22050
+ */
22051
+ export interface CommonNames {
22052
+ /**
22053
+ * First names can be gender-neutral, but they can also be for a specific binary sex. They are sorted into groups.
22054
+ */
22055
+ first_name_groups?: CommonNameGroup[]
22056
+
22057
+ /**
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.
22059
+ */
22060
+ last_name_groups?: CommonNameGroup[]
22061
+
22062
+ /**
22063
+ * Special naming rules.
22064
+ */
22065
+ naming_rules?: string
22066
+ }
22067
+
22068
+ export interface CommonNameGroup {
22069
+ /**
22070
+ * The group label.
22071
+ */
22072
+ label: string
22073
+
22074
+ /**
22075
+ * The binary sex if the group is only for a certain binary sex.
22076
+ */
22077
+ sex?: BinarySex
22078
+
22079
+ /**
22080
+ * The names from the group.
22081
+ */
22082
+ names: CommonName[]
22083
+ }
22084
+
22085
+ export interface CommonName {
22086
+ name: string
22087
+
22088
+ /**
22089
+ * Additional information about the name, appended in parenthesis.
22090
+ */
22091
+ note?: string
22092
+ }
22093
+
22094
+ export interface RatedMinimumNumberPrerequisite {
22095
+ /**
22096
+ * The minimum number of skills that need to be on the defined minimum skill rating.
22097
+ */
22098
+ number: number
22099
+
22100
+ /**
22101
+ * The minimum skill rating the defined minimum number of skills need to be on.
22102
+ */
22103
+ value: number
22104
+
22105
+ /**
22106
+ * The targets that contribute to satisfying the prerequisite.
22107
+ */
22108
+ targets: RatedMinimumNumberPrerequisiteTarget
22109
+
22110
+ display_option?: DisplayOption
22111
+ }
22112
+
22113
+ export type RatedMinimumNumberPrerequisiteTarget =
22114
+ | {
22115
+ kind: "Skills"
22116
+ Skills: RatedMinimumNumberPrerequisiteSkillsTarget
22117
+ }
22118
+ | {
22119
+ kind: "CombatTechniques"
22120
+ CombatTechniques: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
22121
+ }
22122
+ | {
22123
+ kind: "Spellworks"
22124
+ Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
22125
+ }
22126
+ | {
22127
+ kind: "Liturgies"
22128
+ Liturgies: RatedMinimumNumberPrerequisiteLiturgiesTarget
22129
+ }
22130
+
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 =
22146
+ | {
22147
+ kind: "All"
22148
+ }
22149
+ | {
22150
+ kind: "Close"
22151
+ }
22152
+ | {
22153
+ kind: "Ranged"
22154
+ }
22155
+
22156
+ export interface RatedMinimumNumberPrerequisiteSpellworksTarget {
22157
+ /**
22158
+ * The skills that are taken into account for satisfying the prerequisite.
22159
+ */
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
+ }
22169
+
22170
+ export interface EnergyPrerequisite {
22171
+ /**
22172
+ * The energy’s identifier.
22173
+ */
22174
+ id: DerivedCharacteristic_ID
22175
+
22176
+ /**
22177
+ * The required value of additionally bought points.
22178
+ */
22179
+ value: number
22180
+
22181
+ display_option?: DisplayOption
22182
+ }
22183
+
22184
+ /**
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.
22186
+ */
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
+ }
22200
+
22201
+ export interface InfluenceEffect {
22202
+ /**
22203
+ * An optional label that is displayed and placed before the actual text.
22204
+ */
22205
+ label: string
22206
+
22207
+ /**
22208
+ * The effect text.
22209
+ */
22210
+ text: string
22211
+ }
22212
+
22213
+ export interface MagicalTraditionSubgroup {
22214
+ /**
22215
+ * The magical tradition this subgroup belongs to.
22216
+ */
22217
+ parent: MagicalTradition_ID
22218
+
22219
+ /**
22220
+ * All translations for the entry, identified by IETF language tag (BCP47).
22221
+ */
22222
+ translations: {
22223
+ [localeId: string]: MagicalTraditionSubgroupTranslation
22224
+ }
22225
+ }
22226
+
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 {
22233
+ /**
22234
+ * The name of the ceremonial item. This should be the heading used in the respective publication.
22235
+ */
22236
+ name: string
22237
+ }
22238
+
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
+ }
22251
+
22252
+ export interface DerivedEnhancementAdventurePoints {
22253
+ /**
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.
22255
+ */
22256
+ multiplier: number
22257
+ }
22258
+
22259
+ export type EnhancementPrerequisites = PlainPrerequisites<EnhancementPrerequisiteGroup>
22260
+
22261
+ export type EnhancementPrerequisiteGroup =
22262
+ | {
22263
+ kind: "Enhancement"
22264
+ Enhancement: EnhancementPrerequisite
22265
+ }
22266
+ | {
22267
+ kind: "Rated"
22268
+ Rated: RatedPrerequisite
22269
+ }
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
  *