@optolith/database-schema 0.88.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 (69) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/gen/types.d.ts +463 -311
  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/main.js +1 -0
  9. package/lib/test.js +1 -0
  10. package/lib/types/AnimalDisease.js +1 -1
  11. package/lib/types/Attribute.js +1 -1
  12. package/lib/types/Culture.d.ts +9 -4
  13. package/lib/types/Culture.js +24 -1
  14. package/lib/types/DerivedCharacteristic.js +3 -1
  15. package/lib/types/Disease.js +1 -1
  16. package/lib/types/Lessons.js +1 -1
  17. package/lib/types/Locale.js +1 -0
  18. package/lib/types/PatronCategory.js +1 -1
  19. package/lib/types/PersonalityTrait.js +1 -1
  20. package/lib/types/Profession.d.ts +16 -8
  21. package/lib/types/Race.d.ts +16 -8
  22. package/lib/types/TargetCategory.js +1 -1
  23. package/lib/types/_ActivatableNonMundane.js +1 -1
  24. package/lib/types/_ActivatableSelectOptionCategory.js +1 -1
  25. package/lib/types/_ActivatableSelectOptions.js +1 -1
  26. package/lib/types/_ActivatableSkill.d.ts +1 -1
  27. package/lib/types/_ActivatableSkill.js +1 -1
  28. package/lib/types/_ActivatableSkillApplicationsAndUses.js +1 -1
  29. package/lib/types/_ActivatableSkillCastingTime.js +2 -2
  30. package/lib/types/_ActivatableSkillDuration.js +2 -2
  31. package/lib/types/_ActivatableSkillTargetCategory.js +1 -1
  32. package/lib/types/_ArcaneTradition.js +1 -1
  33. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +2 -1
  34. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +2 -2
  35. package/lib/types/_DiseasePoison.js +1 -1
  36. package/lib/types/_Enhancements.d.ts +1 -1
  37. package/lib/types/_Enhancements.js +1 -1
  38. package/lib/types/_Identifier.d.ts +1 -0
  39. package/lib/types/_Identifier.js +2 -0
  40. package/lib/types/_IdentifierGroup.d.ts +23 -0
  41. package/lib/types/_IdentifierGroup.js +9 -1
  42. package/lib/types/_Prerequisite.d.ts +1 -1
  43. package/lib/types/_Prerequisite.js +1 -1
  44. package/lib/types/_ResponsiveText.js +2 -2
  45. package/lib/types/equipment/item/Elixir.js +1 -1
  46. package/lib/types/equipment/item/HerbalAid.js +2 -2
  47. package/lib/types/equipment/item/HerbalPreservation.js +3 -3
  48. package/lib/types/equipment/item/Plant.js +2 -2
  49. package/lib/types/equipment/item/Poison.js +1 -1
  50. package/lib/types/equipment/item/_Item.js +1 -1
  51. package/lib/types/equipment/item/sub/BotanicRegion.js +1 -1
  52. package/lib/types/equipment/item/sub/SubBiome.js +1 -1
  53. package/lib/types/index.d.ts +1 -0
  54. package/lib/types/index.js +1 -0
  55. package/lib/types/magicalActions/AnimistPower_Tribe.js +1 -1
  56. package/lib/types/magicalActions/MagicalDance.d.ts +2 -2
  57. package/lib/types/magicalActions/MagicalMelody.d.ts +2 -2
  58. package/lib/types/magicalActions/_MusicTradition.d.ts +2 -2
  59. package/lib/types/magicalActions/_MusicTradition.js +2 -2
  60. package/lib/types/prerequisites/PrerequisiteGroups.js +7 -9
  61. package/lib/types/prerequisites/single/AnySpecialAbilityOfGroupPrerequisite.js +4 -6
  62. package/lib/types/source/Publication.js +1 -1
  63. package/lib/types/specialAbility/BlessedTradition.d.ts +1 -0
  64. package/lib/types/specialAbility/BlessedTradition.js +5 -1
  65. package/lib/types/specialAbility/sub/BlessedTraditionGroup.d.ts +7 -0
  66. package/lib/types/specialAbility/sub/BlessedTraditionGroup.js +25 -0
  67. package/lib/types/specialAbility/sub/MagicalTraditionSubgroup.js +1 -1
  68. package/lib/types/traditionArtifacts/_shared.js +1 -1
  69. package/package.json +10 -12
package/gen/types.d.ts CHANGED
@@ -30,6 +30,7 @@ export type EntityMap = {
30
30
  Beutelzauber: Beutelzauber
31
31
  Biome: Biome
32
32
  BlessedTradition: BlessedTradition
33
+ BlessedTraditionGroup: BlessedTraditionGroup
33
34
  Blessing: Blessing
34
35
  Book: Book
35
36
  BotanicRegion: BotanicRegion
@@ -291,6 +292,7 @@ export type EnumMap = {
291
292
  CombatUse: CombatUse
292
293
  CommonCantripNote: CommonCantripNote
293
294
  CommonnessRatedAdvantageDisadvantageLevel: CommonnessRatedAdvantageDisadvantageLevel
295
+ CommonnessSelectOptionIdentifier: CommonnessSelectOptionIdentifier
294
296
  CommonnessWeight: CommonnessWeight
295
297
  CommonProfessionConstraintsOperation: CommonProfessionConstraintsOperation
296
298
  CommonProfessions: CommonProfessions
@@ -563,6 +565,7 @@ export type TypeAliasMap = {
563
565
  BindingCostMapOptionValue: BindingCostMapOptionValue
564
566
  BindingCostPerLevel: BindingCostPerLevel
565
567
  BlessedTraditionConstraint: BlessedTraditionConstraint
568
+ BlessedTraditionGroupConstraint: BlessedTraditionGroupConstraint
566
569
  BlessedTraditionPrerequisite: BlessedTraditionPrerequisite
567
570
  BlessedTraditionsSelectOptionCategory: BlessedTraditionsSelectOptionCategory
568
571
  BlessingPerformanceParameters: BlessingPerformanceParameters
@@ -7855,6 +7858,11 @@ export interface LiturgyTraditionWithAspects {
7855
7858
  }
7856
7859
 
7857
7860
  export interface BlessedTradition {
7861
+ /**
7862
+ * The group of traditions this tradition belongs to.
7863
+ */
7864
+ group: BlessedTraditionGroup_ID
7865
+
7858
7866
  /**
7859
7867
  * Definitions for possible options for the activatable entry, derived from entry categories.
7860
7868
  *
@@ -7973,6 +7981,32 @@ export interface BlessedTraditionTranslation {
7973
7981
  errata?: Errata
7974
7982
  }
7975
7983
 
7984
+ export interface BlessedTraditionGroup {
7985
+ /**
7986
+ * All translations for the entry, identified by IETF language tag (BCP47).
7987
+ */
7988
+ translations: {
7989
+ [localeId: string]: BlessedTraditionGroupTranslation
7990
+ }
7991
+ }
7992
+
7993
+ /**
7994
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
7995
+ */
7996
+ export type BlessedTraditionGroup_ID = string
7997
+
7998
+ export interface BlessedTraditionGroupTranslation {
7999
+ /**
8000
+ * The name of the group.
8001
+ */
8002
+ name: string
8003
+
8004
+ /**
8005
+ * The text to use when all Blessed Ones of this group are recommended for a culture.
8006
+ */
8007
+ nameInCulture: string
8008
+ }
8009
+
7976
8010
  export interface Blessing {
7977
8011
  /**
7978
8012
  * Measurable parameters of a blessing.
@@ -9865,6 +9899,11 @@ export interface CultureTranslation {
9865
9899
  */
9866
9900
  nameInPrerequisites?: string
9867
9901
 
9902
+ /**
9903
+ * The name for people of this culture, if different from the normal culture’s name.
9904
+ */
9905
+ nameOfPeople?: string
9906
+
9868
9907
  /**
9869
9908
  * The description of the area knowledge.
9870
9909
  */
@@ -10119,6 +10158,9 @@ export type CommonnessWeight =
10119
10158
  | {
10120
10159
  kind: "Only"
10121
10160
  }
10161
+ | {
10162
+ kind: "ExceptFor"
10163
+ }
10122
10164
 
10123
10165
  export interface ProfessionVariant {
10124
10166
  /**
@@ -21237,6 +21279,10 @@ export type BlessedCommonProfessionConstraint =
21237
21279
  kind: "Profession"
21238
21280
  Profession: ProfessionConstraint
21239
21281
  }
21282
+ | {
21283
+ kind: "Group"
21284
+ Group: BlessedTraditionGroupConstraint
21285
+ }
21240
21286
  | {
21241
21287
  kind: "Religious"
21242
21288
  }
@@ -21258,6 +21304,23 @@ export interface BlessedTraditionConstraint {
21258
21304
  rarity?: Rarity
21259
21305
  }
21260
21306
 
21307
+ export interface BlessedTraditionGroupConstraint {
21308
+ /**
21309
+ * The blessed tradition group’s identifier.
21310
+ */
21311
+ id: BlessedTraditionGroup_ID
21312
+
21313
+ /**
21314
+ * Some traditions are more common than others. There may be cultures where some traditions are not represented at all.
21315
+ */
21316
+ weighted_professions?: Weighted<BlessedTradition_ID>
21317
+
21318
+ /**
21319
+ * Some traditions may be found in a culture, but are not that common.
21320
+ */
21321
+ rarity?: Rarity
21322
+ }
21323
+
21261
21324
  /**
21262
21325
  * Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.
21263
21326
  */
@@ -21275,7 +21338,7 @@ export interface CommonnessRatedAdvantageDisadvantage<Identifier> {
21275
21338
  /**
21276
21339
  * The options the commonness rating applies to.
21277
21340
  */
21278
- options?: RequirableSelectOptionIdentifier[]
21341
+ options?: CommonnessSelectOptionIdentifier[]
21279
21342
 
21280
21343
  /**
21281
21344
  * All translations for the entry, identified by IETF language tag (BCP47).
@@ -21318,358 +21381,176 @@ export type CommonnessRatedAdvantageDisadvantageLevel =
21318
21381
  }
21319
21382
  }
21320
21383
 
21321
- export type CommonnessRatedSkill = Skill_ID
21322
-
21323
- export interface CulturalPackageItem {
21324
- /**
21325
- * The skill’s identifier.
21326
- */
21327
- id: Skill_ID
21328
-
21329
- /**
21330
- * The skill points for the respective skill you get for buying the cultural package.
21331
- */
21332
- points: number
21333
- }
21334
-
21335
21384
  /**
21336
- * 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.
21337
21386
  */
21338
- export interface AreaKnowledgeTranslation {
21339
- /**
21340
- * The full description without examples in parenthesis.
21341
- */
21342
- 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
+ }
21343
21472
 
21473
+ export interface TradeSecret {
21344
21474
  /**
21345
- * 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.
21346
21478
  */
21347
- abbreviated: string
21479
+ select_options?: TradeSecretSelectOptions
21348
21480
 
21349
21481
  /**
21350
- * Examples of areas, if applicable.
21482
+ * The trade secret’s adventure point value
21351
21483
  */
21352
- examples?: AreaKnowledgeExample[]
21353
- }
21354
-
21355
- export interface AreaKnowledgeExample {
21356
- area: string
21357
- }
21484
+ ap_value: TradeSecretAdventurePointsValue
21358
21485
 
21359
- /**
21360
- * Structured description of common names.
21361
- */
21362
- export interface CommonNames {
21363
21486
  /**
21364
- * 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?
21365
21488
  */
21366
- first_name_groups?: CommonNameGroup[]
21489
+ is_secret_knowledge: boolean
21367
21490
 
21368
- /**
21369
- * Last names can be gender-neutral, like family names, but they can also be for a specific binary sex. They are sorted into groups.
21370
- */
21371
- last_name_groups?: CommonNameGroup[]
21491
+ prerequisites?: PlainGeneralPrerequisites
21372
21492
 
21373
21493
  /**
21374
- * 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.
21375
21495
  */
21376
- naming_rules?: string
21377
- }
21496
+ src: PublicationRefs
21378
21497
 
21379
- export interface CommonNameGroup {
21380
21498
  /**
21381
- * The group label.
21499
+ * All translations for the entry, identified by IETF language tag (BCP47).
21382
21500
  */
21383
- label: string
21501
+ translations: {
21502
+ [localeId: string]: TradeSecretTranslation
21503
+ }
21504
+ }
21384
21505
 
21385
- /**
21386
- * The binary sex if the group is only for a certain binary sex.
21387
- */
21388
- 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
21389
21510
 
21511
+ export interface TradeSecretTranslation {
21390
21512
  /**
21391
- * The names from the group.
21513
+ * The trade secret’s name.
21392
21514
  */
21393
- names: CommonName[]
21394
- }
21395
-
21396
- export interface CommonName {
21397
21515
  name: string
21398
21516
 
21399
21517
  /**
21400
- * 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.
21401
21519
  */
21402
- note?: string
21403
- }
21520
+ name_in_library?: string
21404
21521
 
21405
- export interface RatedMinimumNumberPrerequisite {
21406
21522
  /**
21407
- * The minimum number of skills that need to be on the defined minimum skill rating.
21523
+ * The description of the trade secret.
21408
21524
  */
21409
- number: number
21525
+ description?: string
21410
21526
 
21411
- /**
21412
- * The minimum skill rating the defined minimum number of skills need to be on.
21413
- */
21414
- value: number
21527
+ errata?: Errata
21528
+ }
21415
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 {
21416
21536
  /**
21417
- * 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.
21418
21538
  */
21419
- targets: RatedMinimumNumberPrerequisiteTarget
21420
-
21421
- display_option?: DisplayOption
21539
+ derived?: TradeSecretSelectOptionCategory
21422
21540
  }
21423
21541
 
21424
- export type RatedMinimumNumberPrerequisiteTarget =
21542
+ export type TradeSecretSelectOptionCategory =
21425
21543
  | {
21426
- kind: "Skills"
21427
- Skills: RatedMinimumNumberPrerequisiteSkillsTarget
21544
+ kind: "Blessings"
21428
21545
  }
21429
21546
  | {
21430
- kind: "CombatTechniques"
21431
- CombatTechniques: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
21547
+ kind: "Cantrips"
21432
21548
  }
21433
21549
  | {
21434
- kind: "Spellworks"
21435
- Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
21550
+ kind: "Scripts"
21436
21551
  }
21437
21552
  | {
21438
- kind: "Liturgies"
21439
- Liturgies: RatedMinimumNumberPrerequisiteLiturgiesTarget
21440
- }
21441
-
21442
- export interface RatedMinimumNumberPrerequisiteSkillsTarget {
21443
- /**
21444
- * The skills that are taken into account for satisfying the prerequisite.
21445
- */
21446
- targets: Skill_ID[]
21447
- }
21448
-
21449
- export interface RatedMinimumNumberPrerequisiteCombatTechniquesTarget {
21450
- /**
21451
- * The skills that are taken into account for satisfying the prerequisite.
21452
- */
21453
- group: RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup
21454
- }
21455
-
21456
- export type RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup =
21457
- | {
21458
- kind: "All"
21459
- }
21460
- | {
21461
- kind: "Close"
21462
- }
21463
- | {
21464
- kind: "Ranged"
21465
- }
21466
-
21467
- export interface RatedMinimumNumberPrerequisiteSpellworksTarget {
21468
- /**
21469
- * The skills that are taken into account for satisfying the prerequisite.
21470
- */
21471
- property: Property_ID
21472
- }
21473
-
21474
- export interface RatedMinimumNumberPrerequisiteLiturgiesTarget {
21475
- /**
21476
- * The skills that are taken into account for satisfying the prerequisite.
21477
- */
21478
- aspect: Aspect_ID
21479
- }
21480
-
21481
- export interface EnergyPrerequisite {
21482
- /**
21483
- * The energy’s identifier.
21484
- */
21485
- id: DerivedCharacteristic_ID
21486
-
21487
- /**
21488
- * The required value of additionally bought points.
21489
- */
21490
- value: number
21491
-
21492
- display_option?: DisplayOption
21493
- }
21494
-
21495
- /**
21496
- * In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package.
21497
- */
21498
- export interface ProfessionPackageOptions {
21499
- skill_specialization?: SkillSpecializationOptions
21500
- languages_scripts?: LanguagesScriptsOptions
21501
- specialAbilitiesForAdventurePoints?: SpecialAbilitiesForAdventurePointsOption
21502
- combat_techniques?: CombatTechniquesOptions
21503
- combatTechniquesForAdventurePoints?: CombatTechniquesForAdventurePointsOption
21504
- cantrips?: CantripsOptions
21505
- curses?: CursesOptions
21506
- skills?: SkillsOptions
21507
- spellworks?: SpellworksOptions
21508
- spellworksForChosenProperty?: SpellworksForChosenProperty
21509
- liturgies?: LiturgiesOptions
21510
- }
21511
-
21512
- export interface InfluenceEffect {
21513
- /**
21514
- * An optional label that is displayed and placed before the actual text.
21515
- */
21516
- label: string
21517
-
21518
- /**
21519
- * The effect text.
21520
- */
21521
- text: string
21522
- }
21523
-
21524
- export interface MagicalTraditionSubgroup {
21525
- /**
21526
- * The magical tradition this subgroup belongs to.
21527
- */
21528
- parent: MagicalTradition_ID
21529
-
21530
- /**
21531
- * All translations for the entry, identified by IETF language tag (BCP47).
21532
- */
21533
- translations: {
21534
- [localeId: string]: MagicalTraditionSubgroupTranslation
21535
- }
21536
- }
21537
-
21538
- /**
21539
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
21540
- */
21541
- export type MagicalTraditionSubgroup_ID = string
21542
-
21543
- export interface MagicalTraditionSubgroupTranslation {
21544
- /**
21545
- * The name of the ceremonial item. This should be the heading used in the respective publication.
21546
- */
21547
- name: string
21548
- }
21549
-
21550
- /**
21551
- * Defines how to determine the AP cost of an enhancement.
21552
- */
21553
- export type EnhancementAdventurePoints =
21554
- | {
21555
- kind: "DerivedFromImprovementCost"
21556
- DerivedFromImprovementCost: DerivedEnhancementAdventurePoints
21557
- }
21558
- | {
21559
- kind: "Constant"
21560
- Constant: number
21561
- }
21562
-
21563
- export interface DerivedEnhancementAdventurePoints {
21564
- /**
21565
- * The value to multiply with the numeric representation of the associated skill's improvement cost to form the final AP cost of this enhancement.
21566
- */
21567
- multiplier: number
21568
- }
21569
-
21570
- export type EnhancementPrerequisites = PlainPrerequisites<EnhancementPrerequisiteGroup>
21571
-
21572
- export type EnhancementPrerequisiteGroup =
21573
- | {
21574
- kind: "Enhancement"
21575
- Enhancement: EnhancementPrerequisite
21576
- }
21577
- | {
21578
- kind: "Rated"
21579
- Rated: RatedPrerequisite
21580
- }
21581
-
21582
- /**
21583
- * Requires a specific enhancement from a skill.
21584
- */
21585
- export interface EnhancementPrerequisite {
21586
- /**
21587
- * The required enhancement.
21588
- */
21589
- id: Enhancement_ID
21590
- }
21591
-
21592
- export interface TradeSecret {
21593
- /**
21594
- * Definitions for possible options for the activatable entry.
21595
- *
21596
- * 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.
21597
- */
21598
- select_options?: TradeSecretSelectOptions
21599
-
21600
- /**
21601
- * The trade secret’s adventure point value
21602
- */
21603
- ap_value: TradeSecretAdventurePointsValue
21604
-
21605
- /**
21606
- * Is this trade secret considered secret knowledge?
21607
- */
21608
- is_secret_knowledge: boolean
21609
-
21610
- prerequisites?: PlainGeneralPrerequisites
21611
-
21612
- /**
21613
- * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
21614
- */
21615
- src: PublicationRefs
21616
-
21617
- /**
21618
- * All translations for the entry, identified by IETF language tag (BCP47).
21619
- */
21620
- translations: {
21621
- [localeId: string]: TradeSecretTranslation
21622
- }
21623
- }
21624
-
21625
- /**
21626
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
21627
- */
21628
- export type TradeSecret_ID = string
21629
-
21630
- export interface TradeSecretTranslation {
21631
- /**
21632
- * The trade secret’s name.
21633
- */
21634
- name: string
21635
-
21636
- /**
21637
- * 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.
21638
- */
21639
- name_in_library?: string
21640
-
21641
- /**
21642
- * The description of the trade secret.
21643
- */
21644
- description?: string
21645
-
21646
- errata?: Errata
21647
- }
21648
-
21649
- /**
21650
- * 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.
21651
- *
21652
- * 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.
21653
- */
21654
- export interface TradeSecretSelectOptions {
21655
- /**
21656
- * 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.
21657
- */
21658
- derived?: TradeSecretSelectOptionCategory
21659
- }
21660
-
21661
- export type TradeSecretSelectOptionCategory =
21662
- | {
21663
- kind: "Blessings"
21664
- }
21665
- | {
21666
- kind: "Cantrips"
21667
- }
21668
- | {
21669
- kind: "Scripts"
21670
- }
21671
- | {
21672
- kind: "AnimalShapes"
21553
+ kind: "AnimalShapes"
21673
21554
  }
21674
21555
  | {
21675
21556
  kind: "ArcaneBardTraditions"
@@ -22126,6 +22007,277 @@ export type TradeSecretAdventurePointsValue =
22126
22007
  DependingOnActiveInstances: AdventurePointsDependingOnActiveInstances
22127
22008
  }
22128
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
+
22129
22281
  /**
22130
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.
22131
22283
  *