@optolith/database-schema 0.109.0 → 0.110.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 (56) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/gen/types.d.ts +667 -521
  3. package/lib/types/Advantage.d.ts +13 -0
  4. package/lib/types/Culture.js +1 -1
  5. package/lib/types/DerivedCharacteristic.d.ts +1 -0
  6. package/lib/types/Disadvantage.d.ts +12 -0
  7. package/lib/types/Profession.d.ts +17 -0
  8. package/lib/types/Profession.js +2 -2
  9. package/lib/types/Settings.d.ts +3 -0
  10. package/lib/types/_ActivatableAdvanced.js +1 -1
  11. package/lib/types/_ActivatableAdventurePointsValue.d.ts +2 -0
  12. package/lib/types/_ActivatableAutomatic.d.ts +1 -0
  13. package/lib/types/_ActivatableSelectOptionCategory.d.ts +20 -0
  14. package/lib/types/_ActivatableSelectOptions.d.ts +22 -0
  15. package/lib/types/_Identifier.d.ts +1 -0
  16. package/lib/types/_Identifier.js +2 -0
  17. package/lib/types/_IdentifierGroup.d.ts +5 -0
  18. package/lib/types/_IdentifierGroup.js +2 -1
  19. package/lib/types/index.d.ts +1 -0
  20. package/lib/types/index.js +1 -0
  21. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +8 -0
  22. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +1 -0
  23. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisiteForProfession.d.ts +2 -0
  24. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +12 -0
  25. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +12 -0
  26. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +12 -0
  27. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +12 -0
  28. package/lib/types/specialAbility/AncestorGlyph.d.ts +12 -0
  29. package/lib/types/specialAbility/BlessedTradition.d.ts +12 -0
  30. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +12 -0
  31. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +12 -0
  32. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +12 -0
  33. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +12 -0
  34. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +12 -0
  35. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +12 -0
  36. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +12 -0
  37. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +12 -0
  38. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +12 -0
  39. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +12 -0
  40. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +12 -0
  41. package/lib/types/specialAbility/LycantropicGift.d.ts +12 -0
  42. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +12 -0
  43. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +12 -0
  44. package/lib/types/specialAbility/MagicalTradition.d.ts +12 -0
  45. package/lib/types/specialAbility/PactGift.d.ts +13 -0
  46. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +12 -0
  47. package/lib/types/specialAbility/Sermon.d.ts +12 -0
  48. package/lib/types/specialAbility/SexSpecialAbility.d.ts +12 -0
  49. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +12 -0
  50. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +12 -0
  51. package/lib/types/specialAbility/VampiricGift.d.ts +12 -0
  52. package/lib/types/specialAbility/Vision.d.ts +12 -0
  53. package/lib/types/specialAbility/sub/TradeSecret.d.ts +11 -0
  54. package/lib/types/traditionArtifacts/Adoruzepterzauber.d.ts +1 -0
  55. package/lib/types/traditionArtifacts/Adoruzepterzauber.js +5 -0
  56. package/package.json +2 -2
package/gen/types.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  // Generated by TSONDB -- do not edit manually.
2
2
 
3
3
  export type EntityMap = {
4
+ Adoruzepterzauber: Adoruzepterzauber
4
5
  AdvancedCombatSpecialAbility: AdvancedCombatSpecialAbility
5
6
  AdvancedKarmaSpecialAbility: AdvancedKarmaSpecialAbility
6
7
  AdvancedMagicalSpecialAbility: AdvancedMagicalSpecialAbility
@@ -3008,6 +3009,10 @@ export type ActivatableIdentifier =
3008
3009
  kind: "Disadvantage"
3009
3010
  Disadvantage: Disadvantage_ID
3010
3011
  }
3012
+ | {
3013
+ kind: "Adoruzepterzauber"
3014
+ Adoruzepterzauber: Adoruzepterzauber_ID
3015
+ }
3011
3016
  | {
3012
3017
  kind: "AdvancedCombatSpecialAbility"
3013
3018
  AdvancedCombatSpecialAbility: AdvancedCombatSpecialAbility_ID
@@ -3436,6 +3441,10 @@ export type SelectOptionParentIdentifier =
3436
3441
  kind: "Disadvantage"
3437
3442
  Disadvantage: Disadvantage_ID
3438
3443
  }
3444
+ | {
3445
+ kind: "Adoruzepterzauber"
3446
+ Adoruzepterzauber: Adoruzepterzauber_ID
3447
+ }
3439
3448
  | {
3440
3449
  kind: "AdvancedCombatSpecialAbility"
3441
3450
  AdvancedCombatSpecialAbility: AdvancedCombatSpecialAbility_ID
@@ -9111,7 +9120,7 @@ export interface MagicalProfessionGroup {
9111
9120
  /**
9112
9121
  * The tradition’s subgroup associated with this magical profession, if any.
9113
9122
  */
9114
- subgroup?: Curriculum_ID
9123
+ subgroup?: MagicalTraditionSubgroup_ID
9115
9124
  }
9116
9125
 
9117
9126
  /**
@@ -9701,6 +9710,32 @@ export interface SpellworkAdjustmentWithBase {
9701
9710
  tradition?: MagicalTradition_ID
9702
9711
  }
9703
9712
 
9713
+ export interface MagicalTraditionSubgroup {
9714
+ /**
9715
+ * The magical tradition this subgroup belongs to.
9716
+ */
9717
+ parent: MagicalTradition_ID
9718
+
9719
+ /**
9720
+ * All translations for the entry, identified by IETF language tag (BCP47).
9721
+ */
9722
+ translations: {
9723
+ [localeId: string]: MagicalTraditionSubgroupTranslation
9724
+ }
9725
+ }
9726
+
9727
+ /**
9728
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
9729
+ */
9730
+ export type MagicalTraditionSubgroup_ID = string
9731
+
9732
+ export interface MagicalTraditionSubgroupTranslation {
9733
+ /**
9734
+ * The name of the ceremonial item. This should be the heading used in the respective publication.
9735
+ */
9736
+ name: string
9737
+ }
9738
+
9704
9739
  export interface ReligiousProfessionGroup {
9705
9740
  /**
9706
9741
  * The associated blessed tradition (religion).
@@ -10483,6 +10518,9 @@ export interface SpecialAbilitiesForAdventurePointsOption {
10483
10518
  }
10484
10519
 
10485
10520
  export type SpecialAbilitiesForAdventurePointsOptionGroup =
10521
+ | {
10522
+ kind: "Adoruzepterzauber"
10523
+ }
10486
10524
  | {
10487
10525
  kind: "AdvancedCombatSpecialAbility"
10488
10526
  }
@@ -10958,6 +10996,10 @@ export interface SpellworksForChosenProperty {
10958
10996
  }
10959
10997
 
10960
10998
  export type SpecialAbilityIdentifier =
10999
+ | {
11000
+ kind: "Adoruzepterzauber"
11001
+ Adoruzepterzauber: Adoruzepterzauber_ID
11002
+ }
10961
11003
  | {
10962
11004
  kind: "AdvancedCombatSpecialAbility"
10963
11005
  AdvancedCombatSpecialAbility: AdvancedCombatSpecialAbility_ID
@@ -11175,10 +11217,7 @@ export type SpecialAbilityIdentifier =
11175
11217
  WeaponEnchantment: WeaponEnchantment_ID
11176
11218
  }
11177
11219
 
11178
- /**
11179
- * Magical Special Abilities that are being unlocked by Magic Style Special Abilities.
11180
- */
11181
- export interface AdvancedMagicalSpecialAbility {
11220
+ export interface Adoruzepterzauber {
11182
11221
  /**
11183
11222
  * Number of available levels.
11184
11223
  */
@@ -11209,6 +11248,21 @@ export interface AdvancedMagicalSpecialAbility {
11209
11248
 
11210
11249
  prerequisites?: GeneralPrerequisites
11211
11250
 
11251
+ /**
11252
+ * The volume points the enchantment needs.
11253
+ */
11254
+ volume: Volume
11255
+
11256
+ /**
11257
+ * The cost when casting the entry.
11258
+ */
11259
+ cost?: EnchantmentCost
11260
+
11261
+ /**
11262
+ * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
11263
+ */
11264
+ property: PropertyDeclaration
11265
+
11212
11266
  /**
11213
11267
  * The adventure points value.
11214
11268
  */
@@ -11223,16 +11277,16 @@ export interface AdvancedMagicalSpecialAbility {
11223
11277
  * All translations for the entry, identified by IETF language tag (BCP47).
11224
11278
  */
11225
11279
  translations: {
11226
- [localeId: string]: AdvancedMagicalSpecialAbilityTranslation
11280
+ [localeId: string]: AdoruzepterzauberTranslation
11227
11281
  }
11228
11282
  }
11229
11283
 
11230
11284
  /**
11231
11285
  * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
11232
11286
  */
11233
- export type AdvancedMagicalSpecialAbility_ID = string
11287
+ export type Adoruzepterzauber_ID = string
11234
11288
 
11235
- export interface AdvancedMagicalSpecialAbilityTranslation {
11289
+ export interface AdoruzepterzauberTranslation {
11236
11290
  /**
11237
11291
  * Name of the activatable entry.
11238
11292
  */
@@ -11244,97 +11298,32 @@ export interface AdvancedMagicalSpecialAbilityTranslation {
11244
11298
  name_in_library?: string
11245
11299
 
11246
11300
  /**
11247
- * The rule text.
11301
+ * The effect description.
11248
11302
  */
11249
- rules: string
11303
+ effect: string
11250
11304
 
11251
11305
  /**
11252
- * The string to append to the generated AP value text.
11253
- * @deprecated
11306
+ * A note, appended to the generated cost string in parenthesis.
11254
11307
  */
11255
- ap_value_append?: string
11308
+ cost_note?: ResponsiveTextOptional
11256
11309
 
11257
11310
  /**
11258
- * The adventure points value.
11311
+ * The binding cost for an enchantment.
11259
11312
  * @deprecated
11260
11313
  */
11261
- ap_value?: string
11262
-
11263
- errata?: Errata
11264
- }
11265
-
11266
- /**
11267
- * General Special Abilities that are being unlocked by Skill Style Special Abilities.
11268
- */
11269
- export interface AdvancedSkillSpecialAbility {
11270
- /**
11271
- * Number of available levels.
11272
- */
11273
- levels?: number
11274
-
11275
- /**
11276
- * Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
11277
- */
11278
- nameBuilderRules?: ActivatableNameBuilderRules
11279
-
11280
- /**
11281
- * Definitions for possible options for the activatable entry, derived from entry categories.
11282
- *
11283
- * 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.
11284
- */
11285
- select_options?: SelectOptions
11286
-
11287
- /**
11288
- * The number stating how often you can buy the entry. The **default** depends on the entry type:
11289
- *
11290
- * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
11291
- * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
11292
- * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
11293
- *
11294
- * The maximum is only set if it differs from the defaults specified above.
11295
- */
11296
- maximum?: number
11297
-
11298
- prerequisites?: GeneralPrerequisites
11299
-
11300
- /**
11301
- * The adventure points value.
11302
- */
11303
- ap_value: AdventurePointsValue
11304
-
11305
- /**
11306
- * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
11307
- */
11308
- src: PublicationRefs
11309
-
11310
- /**
11311
- * All translations for the entry, identified by IETF language tag (BCP47).
11312
- */
11313
- translations: {
11314
- [localeId: string]: AdvancedSkillSpecialAbilityTranslation
11315
- }
11316
- }
11317
-
11318
- /**
11319
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
11320
- */
11321
- export type AdvancedSkillSpecialAbility_ID = string
11322
-
11323
- export interface AdvancedSkillSpecialAbilityTranslation {
11324
- /**
11325
- * Name of the activatable entry.
11326
- */
11327
- name: string
11314
+ bindingCost?: string
11328
11315
 
11329
11316
  /**
11330
- * 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.
11317
+ * The AE cost.
11318
+ * @deprecated
11331
11319
  */
11332
- name_in_library?: string
11320
+ aeCost?: string
11333
11321
 
11334
11322
  /**
11335
- * The rule text.
11323
+ * The volume points the enchantment needs.
11324
+ * @deprecated
11336
11325
  */
11337
- rules: string
11326
+ volume?: string
11338
11327
 
11339
11328
  /**
11340
11329
  * The string to append to the generated AP value text.
@@ -11352,709 +11341,885 @@ export interface AdvancedSkillSpecialAbilityTranslation {
11352
11341
  }
11353
11342
 
11354
11343
  /**
11355
- * A type of magical signs, originating from Nostria.
11344
+ * The volume points the enchantment needs.
11356
11345
  */
11357
- export interface AncestorGlyph {
11346
+ export type Volume =
11347
+ | {
11348
+ kind: "Fixed"
11349
+ Fixed: FixedVolume
11350
+ }
11351
+ | {
11352
+ kind: "PerLevel"
11353
+ PerLevel: VolumePerLevel
11354
+ }
11355
+ | {
11356
+ kind: "ByLevel"
11357
+ ByLevel: VolumeByLevel
11358
+ }
11359
+ | {
11360
+ kind: "Map"
11361
+ Map: VolumeMap
11362
+ }
11363
+ | {
11364
+ kind: "DerivedFromSelection"
11365
+ DerivedFromSelection: VolumeDerivedFromSelection
11366
+ }
11367
+
11368
+ export interface FixedVolume {
11358
11369
  /**
11359
- * Number of available levels.
11370
+ * The volume points.
11360
11371
  */
11361
- levels?: number
11372
+ points: number
11373
+ }
11362
11374
 
11375
+ export interface VolumePerLevel {
11363
11376
  /**
11364
- * Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
11377
+ * The volume points per level.
11365
11378
  */
11366
- nameBuilderRules?: ActivatableNameBuilderRules
11379
+ points: number
11380
+ }
11367
11381
 
11382
+ export interface VolumeByLevel {
11368
11383
  /**
11369
- * Definitions for possible options for the activatable entry, derived from entry categories.
11370
- *
11371
- * 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.
11384
+ * The volume points for each level. The first element is the volume points for the first level, the second element is the volume points for the second level, and so on.
11372
11385
  */
11373
- select_options?: SelectOptions
11386
+ list: VolumeByLevelItem[]
11387
+ }
11374
11388
 
11389
+ export interface VolumeByLevelItem {
11375
11390
  /**
11376
- * The number stating how often you can buy the entry. The **default** depends on the entry type:
11377
- *
11378
- * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
11379
- * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
11380
- * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
11381
- *
11382
- * The maximum is only set if it differs from the defaults specified above.
11391
+ * The volume points for this level.
11383
11392
  */
11384
- maximum?: number
11393
+ points: number
11394
+ }
11385
11395
 
11386
- prerequisites?: GeneralPrerequisites
11396
+ /**
11397
+ * A content that is `3/4/5 Points for Chimera, Daimonid, Golems, Undead / Fairies, Ghosts / Demons, Elementals` may be respresented as the following map:
11398
+ *
11399
+ * ```yaml
11400
+ * options:
11401
+ * - points: 3
11402
+ * associated_options:
11403
+ * - id:
11404
+ * tag: General
11405
+ * value: # ...
11406
+ * # ...
11407
+ * translations:
11408
+ * en-US:
11409
+ * label: "Chimera, Daimonid, Golems, Undead"
11410
+ * label_standalone: "Chimera/Daimonid/Golems/Undead"
11411
+ * - points: 4
11412
+ * associated_options:
11413
+ * - id:
11414
+ * tag: General
11415
+ * value: # ...
11416
+ * # ...
11417
+ * translations:
11418
+ * en-US:
11419
+ * label: "Fairies, Ghosts"
11420
+ * label_standalone: "Fairies/Ghosts"
11421
+ * - points: 5
11422
+ * associated_options:
11423
+ * - id:
11424
+ * tag: General
11425
+ * value: # ...
11426
+ * # ...
11427
+ * translations:
11428
+ * en-US:
11429
+ * label: "Demons, Elementals"
11430
+ * label_standalone: "Demons/Elementals"
11431
+ * ```
11432
+ *
11433
+ * This will generate the exact same string as seen above. The associated options are not present in the example, but they link to the options the volume specification is meant for.
11434
+ */
11435
+ export type VolumeMap = ParameterMap<VolumeMapOptionValue>
11387
11436
 
11437
+ export interface VolumeMapOptionValue {
11388
11438
  /**
11389
- * The AE cost of the ancestor glyph.
11439
+ * The full permanent AE cost value for this option.
11390
11440
  */
11391
- ae_cost: number
11441
+ points: number
11392
11442
 
11393
11443
  /**
11394
- * The adventure points value.
11444
+ * Links to the options this volume specification is meant for.
11395
11445
  */
11396
- ap_value: AdventurePointsValue
11446
+ associated_options: VolumeMapOptionAssociatedOption[]
11447
+ }
11397
11448
 
11449
+ export interface VolumeMapOptionAssociatedOption {
11398
11450
  /**
11399
- * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
11451
+ * The option’s identifier.
11400
11452
  */
11401
- src: PublicationRefs
11453
+ id: VolumePointsOptionReferenceIdentifier
11454
+ }
11455
+
11456
+ export type VolumePointsOptionReferenceIdentifier =
11457
+ | {
11458
+ kind: "General"
11459
+ General: GeneralSelectOption_ID
11460
+ }
11461
+ | {
11462
+ kind: "AnimalShapeSize"
11463
+ AnimalShapeSize: AnimalShapeSize_ID
11464
+ }
11402
11465
 
11466
+ export interface VolumeDerivedFromSelection {
11403
11467
  /**
11404
- * All translations for the entry, identified by IETF language tag (BCP47).
11468
+ * The volume for the selection if it does not define a specific one.
11405
11469
  */
11406
- translations: {
11407
- [localeId: string]: AncestorGlyphTranslation
11408
- }
11470
+ fallback: number
11409
11471
  }
11410
11472
 
11473
+ export type EnchantmentCost =
11474
+ | {
11475
+ kind: "ArcaneEnergyCost"
11476
+ ArcaneEnergyCost: ArcaneEnergyCost
11477
+ }
11478
+ | {
11479
+ kind: "BindingCost"
11480
+ BindingCost: BindingCost
11481
+ }
11482
+
11411
11483
  /**
11412
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
11484
+ * The AE cost.
11413
11485
  */
11414
- export type AncestorGlyph_ID = string
11486
+ export type ArcaneEnergyCost =
11487
+ | {
11488
+ kind: "Fixed"
11489
+ Fixed: FixedArcaneEnergyCost
11490
+ }
11491
+ | {
11492
+ kind: "PerCountable"
11493
+ PerCountable: ArcaneEnergyCostPerCountable
11494
+ }
11495
+ | {
11496
+ kind: "Interval"
11497
+ Interval: IntervalArcaneEnergyCost
11498
+ }
11499
+ | {
11500
+ kind: "ActivationAndHalfInterval"
11501
+ ActivationAndHalfInterval: ActivationAndHalfIntervalArcaneEnergyCost
11502
+ }
11503
+ | {
11504
+ kind: "Indefinite"
11505
+ Indefinite: IndefiniteArcaneEnergyCost
11506
+ }
11507
+ | {
11508
+ kind: "Disjunction"
11509
+ Disjunction: ArcaneEnergyCostDisjunction
11510
+ }
11511
+ | {
11512
+ kind: "Variable"
11513
+ }
11514
+ | {
11515
+ kind: "ByLevel"
11516
+ ByLevel: ArcaneEnergyCostByLevel
11517
+ }
11518
+ | {
11519
+ kind: "Map"
11520
+ Map: StandaloneCostMap
11521
+ }
11415
11522
 
11416
- export interface AncestorGlyphTranslation {
11523
+ export interface FixedArcaneEnergyCost {
11417
11524
  /**
11418
- * Name of the activatable entry.
11525
+ * The AE cost value.
11419
11526
  */
11420
- name: string
11527
+ value: number
11421
11528
 
11422
11529
  /**
11423
- * 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.
11530
+ * Set to `true` if the AE costs are permanent.
11424
11531
  */
11425
- name_in_library?: string
11532
+ is_permanent?: boolean
11426
11533
 
11427
11534
  /**
11428
- * The rule text.
11535
+ * Specified if the AE cost `value` has to be paid for each time interval.
11429
11536
  */
11430
- rules: string
11537
+ interval?: DurationUnitValue
11431
11538
 
11432
11539
  /**
11433
- * The string to append to the generated AP value text.
11434
- * @deprecated
11540
+ * The AE cost are per level of the enchantment. It may either be displayed in a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1 AE for level I; 2 AE for level II`).
11435
11541
  */
11436
- ap_value_append?: string
11542
+ per_level?: FixedArcaneEnergyCostPerLevel
11437
11543
 
11438
11544
  /**
11439
- * The adventure points value.
11440
- * @deprecated
11545
+ * All translations for the entry, identified by IETF language tag (BCP47).
11441
11546
  */
11442
- ap_value?: string
11547
+ translations?: {
11548
+ [localeId: string]: FixedArcaneEnergyCostTranslation
11549
+ }
11550
+ }
11443
11551
 
11444
- errata?: Errata
11552
+ export interface FixedArcaneEnergyCostTranslation {
11553
+ /**
11554
+ * A note, appended to the generated option string in parenthesis.
11555
+ */
11556
+ note?: ResponsiveTextOptional
11445
11557
  }
11446
11558
 
11447
- export interface ArcaneOrbEnchantment {
11559
+ /**
11560
+ * The AE cost are per level of the enchantment. It may either be displayed in a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1 AE for level I; 2 AE for level II`).
11561
+ */
11562
+ export type FixedArcaneEnergyCostPerLevel =
11563
+ | {
11564
+ kind: "Compressed"
11565
+ }
11566
+ | {
11567
+ kind: "Verbose"
11568
+ }
11569
+
11570
+ export interface ArcaneEnergyCostPerCountable {
11448
11571
  /**
11449
- * Number of available levels.
11572
+ * The AE cost value that has to be per a specific countable entity.
11450
11573
  */
11451
- levels?: number
11574
+ value: number
11452
11575
 
11453
11576
  /**
11454
- * Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
11577
+ * If defined, in addition to the cost per entity you have to pay a flat amount, regardless of the entity count.
11455
11578
  */
11456
- nameBuilderRules?: ActivatableNameBuilderRules
11579
+ base_value?: number
11457
11580
 
11458
11581
  /**
11459
- * Definitions for possible options for the activatable entry, derived from entry categories.
11460
- *
11461
- * 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.
11582
+ * All translations for the entry, identified by IETF language tag (BCP47).
11462
11583
  */
11463
- select_options?: SelectOptions
11584
+ translations: {
11585
+ [localeId: string]: ArcaneEnergyCostPerCountableTranslation
11586
+ }
11587
+ }
11464
11588
 
11589
+ export interface ArcaneEnergyCostPerCountableTranslation {
11465
11590
  /**
11466
- * The number stating how often you can buy the entry. The **default** depends on the entry type:
11467
- *
11468
- * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
11469
- * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
11470
- * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
11471
- *
11472
- * The maximum is only set if it differs from the defaults specified above.
11591
+ * The cost have to be per a specific countable entity, e.g. `8 AE per person`.
11473
11592
  */
11474
- maximum?: number
11593
+ per: ResponsiveText
11475
11594
 
11476
- prerequisites?: GeneralPrerequisites
11595
+ /**
11596
+ * A note, appended to the generated string in parenthesis.
11597
+ */
11598
+ note?: ResponsiveTextOptional
11599
+ }
11477
11600
 
11601
+ export interface IntervalArcaneEnergyCost {
11478
11602
  /**
11479
- * The volume points the enchantment needs.
11603
+ * The AE cost value that has to be payed each interval.
11480
11604
  */
11481
- volume: Volume
11605
+ value: number
11482
11606
 
11483
11607
  /**
11484
- * The cost when casting the entry.
11608
+ * The time interval for which the AE cost `value` has to be paid.
11485
11609
  */
11486
- cost?: EnchantmentCost
11610
+ interval: DurationUnitValue
11611
+ }
11487
11612
 
11613
+ export interface ActivationAndHalfIntervalArcaneEnergyCost {
11488
11614
  /**
11489
- * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
11615
+ * The AE cost value that has to be payed for activation. Half of this value has to be payed each interval.
11490
11616
  */
11491
- property: PropertyDeclaration
11617
+ value: number
11492
11618
 
11493
11619
  /**
11494
- * The adventure points value.
11620
+ * The time interval for which the AE cost `value` has to be paid.
11495
11621
  */
11496
- ap_value: AdventurePointsValue
11622
+ interval: DurationUnitValue
11623
+ }
11497
11624
 
11625
+ export interface IndefiniteArcaneEnergyCost {
11498
11626
  /**
11499
- * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
11627
+ * Specified if the indefinite AP cost description needs to be modified by a certain value.
11500
11628
  */
11501
- src: PublicationRefs
11629
+ modifier?: IndefiniteArcaneEnergyCostModifier
11502
11630
 
11503
11631
  /**
11504
11632
  * All translations for the entry, identified by IETF language tag (BCP47).
11505
11633
  */
11506
11634
  translations: {
11507
- [localeId: string]: ArcaneOrbEnchantmentTranslation
11635
+ [localeId: string]: IndefiniteArcaneEnergyCostTranslation
11508
11636
  }
11509
11637
  }
11510
11638
 
11511
- /**
11512
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
11513
- */
11514
- export type ArcaneOrbEnchantment_ID = string
11515
-
11516
- export interface ArcaneOrbEnchantmentTranslation {
11639
+ export interface IndefiniteArcaneEnergyCostTranslation {
11517
11640
  /**
11518
- * Name of the activatable entry.
11641
+ * A description of where the cost come from.
11519
11642
  */
11520
- name: string
11643
+ description: ResponsiveText
11644
+ }
11521
11645
 
11646
+ export interface IndefiniteArcaneEnergyCostModifier {
11522
11647
  /**
11523
- * 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.
11648
+ * The arithmetic how to apply the `value` to the `base`.
11524
11649
  */
11525
- name_in_library?: string
11650
+ arithmetic: IndefiniteArcaneEnergyCostModifierArithmetic
11526
11651
 
11527
11652
  /**
11528
- * The effect description.
11653
+ * The value that is applied to the `base` using the defined `arithmetic`.
11529
11654
  */
11530
- effect: string
11655
+ value: number
11656
+ }
11657
+
11658
+ export type IndefiniteArcaneEnergyCostModifierArithmetic =
11659
+ | {
11660
+ kind: "Add"
11661
+ }
11531
11662
 
11663
+ export interface ArcaneEnergyCostDisjunction {
11532
11664
  /**
11533
- * A note, appended to the generated cost string in parenthesis.
11665
+ * The possible AE cost values.
11534
11666
  */
11535
- cost_note?: ResponsiveTextOptional
11667
+ options: ArcaneEnergyCostDisjunctionOption[]
11668
+ }
11536
11669
 
11670
+ export interface ArcaneEnergyCostDisjunctionOption {
11537
11671
  /**
11538
- * The binding cost for an enchantment.
11539
- * @deprecated
11672
+ * A possible AE cost value.
11540
11673
  */
11541
- bindingCost?: string
11674
+ value: number
11542
11675
 
11543
11676
  /**
11544
- * The AE cost.
11545
- * @deprecated
11677
+ * All translations for the entry, identified by IETF language tag (BCP47).
11546
11678
  */
11547
- aeCost?: string
11679
+ translations?: {
11680
+ [localeId: string]: ArcaneEnergyCostDisjunctionOptionTranslation
11681
+ }
11682
+ }
11548
11683
 
11684
+ export interface ArcaneEnergyCostDisjunctionOptionTranslation {
11549
11685
  /**
11550
- * The volume points the enchantment needs.
11551
- * @deprecated
11686
+ * A note, appended to the generated option string in parenthesis.
11552
11687
  */
11553
- volume?: string
11688
+ note?: ResponsiveTextOptional
11689
+ }
11554
11690
 
11691
+ export interface ArcaneEnergyCostByLevel {
11555
11692
  /**
11556
- * The string to append to the generated AP value text.
11557
- * @deprecated
11693
+ * A continuous range of arcane energy cost for each level. The first element is the AE cost for the first level, the second element is the AE cost for the second level, and so on.
11558
11694
  */
11559
- ap_value_append?: string
11695
+ levels: ArcaneEnergyCostByLevelLevel[]
11560
11696
 
11561
11697
  /**
11562
- * The adventure points value.
11563
- * @deprecated
11698
+ * How to display the AE cost by level.
11564
11699
  */
11565
- ap_value?: string
11700
+ style: ArcaneEnergyCostByLevelStyle
11701
+ }
11566
11702
 
11567
- errata?: Errata
11703
+ export interface ArcaneEnergyCostByLevelLevel {
11704
+ /**
11705
+ * The arcane energy cost for this level.
11706
+ */
11707
+ value: number
11568
11708
  }
11569
11709
 
11570
11710
  /**
11571
- * The volume points the enchantment needs.
11711
+ * The AE cost are defined by level of the enchantment. It may either be displayed in a compressed way (e.g. `1/2 AE for level I/II`) or in a verbose way (e.g. `1 AE for level I; 2 AE for level II`).
11572
11712
  */
11573
- export type Volume =
11713
+ export type ArcaneEnergyCostByLevelStyle =
11574
11714
  | {
11575
- kind: "Fixed"
11576
- Fixed: FixedVolume
11715
+ kind: "Compressed"
11577
11716
  }
11578
11717
  | {
11579
- kind: "PerLevel"
11580
- PerLevel: VolumePerLevel
11718
+ kind: "Verbose"
11581
11719
  }
11720
+
11721
+ export type StandaloneCostMap = ParameterMap<NonModifiableOneTimeCostMapOptionValue>
11722
+
11723
+ /**
11724
+ * The binding cost for an enchantment.
11725
+ */
11726
+ export type BindingCost =
11582
11727
  | {
11583
- kind: "ByLevel"
11584
- ByLevel: VolumeByLevel
11728
+ kind: "Fixed"
11729
+ Fixed: FixedBindingCost
11730
+ }
11731
+ | {
11732
+ kind: "PerLevel"
11733
+ PerLevel: BindingCostPerLevel
11585
11734
  }
11586
11735
  | {
11587
11736
  kind: "Map"
11588
- Map: VolumeMap
11737
+ Map: BindingCostMap
11589
11738
  }
11590
11739
  | {
11591
11740
  kind: "DerivedFromSelection"
11592
- DerivedFromSelection: VolumeDerivedFromSelection
11741
+ DerivedFromSelection: BindingCostDerivedFromSelection
11593
11742
  }
11594
11743
 
11595
- export interface FixedVolume {
11596
- /**
11597
- * The volume points.
11598
- */
11599
- points: number
11600
- }
11601
-
11602
- export interface VolumePerLevel {
11603
- /**
11604
- * The volume points per level.
11605
- */
11606
- points: number
11607
- }
11608
-
11609
- export interface VolumeByLevel {
11744
+ export interface FixedBindingCost {
11610
11745
  /**
11611
- * The volume points for each level. The first element is the volume points for the first level, the second element is the volume points for the second level, and so on.
11746
+ * The permanent AE cost.
11747
+ *
11748
+ * If the enchantment has multiple levels, it is only applied for the first level.
11612
11749
  */
11613
- list: VolumeByLevelItem[]
11750
+ permanent_value: number
11614
11751
  }
11615
11752
 
11616
- export interface VolumeByLevelItem {
11753
+ export interface BindingCostPerLevel {
11617
11754
  /**
11618
- * The volume points for this level.
11755
+ * The permanent AE cost per level.
11619
11756
  */
11620
- points: number
11757
+ permanent_value: number
11621
11758
  }
11622
11759
 
11623
11760
  /**
11624
- * A content that is `3/4/5 Points for Chimera, Daimonid, Golems, Undead / Fairies, Ghosts / Demons, Elementals` may be respresented as the following map:
11761
+ * A content that is `2/4/8 permanent AE for spell-swords with the combat technique Daggers, Swords, or Two-Handed Swords` may be respresented as the following map:
11625
11762
  *
11626
11763
  * ```yaml
11627
11764
  * options:
11628
- * - points: 3
11629
- * associated_options:
11630
- * - id:
11631
- * tag: General
11632
- * value: # ...
11633
- * # ...
11765
+ * - permanent_value: 2
11634
11766
  * translations:
11635
11767
  * en-US:
11636
- * label: "Chimera, Daimonid, Golems, Undead"
11637
- * label_standalone: "Chimera/Daimonid/Golems/Undead"
11638
- * - points: 4
11639
- * associated_options:
11640
- * - id:
11641
- * tag: General
11642
- * value: # ...
11643
- * # ...
11768
+ * label: "Daggers"
11769
+ * label_standalone: "Dagger"
11770
+ * - permanent_value: 4
11644
11771
  * translations:
11645
11772
  * en-US:
11646
- * label: "Fairies, Ghosts"
11647
- * label_standalone: "Fairies/Ghosts"
11648
- * - points: 5
11649
- * associated_options:
11650
- * - id:
11651
- * tag: General
11652
- * value: # ...
11653
- * # ...
11773
+ * label: "Swords"
11774
+ * label_standalone: "Sword"
11775
+ * - permanent_value: 8
11654
11776
  * translations:
11655
11777
  * en-US:
11656
- * label: "Demons, Elementals"
11657
- * label_standalone: "Demons/Elementals"
11778
+ * label: "Two-Handed Swords"
11779
+ * label_standalone: "Two-Handed Sword"
11780
+ * list_prepend: "spell-swords with the combat technique"
11658
11781
  * ```
11659
11782
  *
11660
- * This will generate the exact same string as seen above. The associated options are not present in the example, but they link to the options the volume specification is meant for.
11783
+ * This will generate the exact same string as seen above.
11661
11784
  */
11662
- export type VolumeMap = ParameterMap<VolumeMapOptionValue>
11785
+ export type BindingCostMap = ParameterMap<BindingCostMapOptionValue>
11663
11786
 
11664
- export interface VolumeMapOptionValue {
11787
+ export interface BindingCostMapOptionValue {
11665
11788
  /**
11666
11789
  * The full permanent AE cost value for this option.
11667
11790
  */
11668
- points: number
11791
+ permanentValue: number
11792
+ }
11669
11793
 
11794
+ export interface BindingCostDerivedFromSelection {
11670
11795
  /**
11671
- * Links to the options this volume specification is meant for.
11796
+ * The binding cost for the selection if it does not define a specific one.
11672
11797
  */
11673
- associated_options: VolumeMapOptionAssociatedOption[]
11674
- }
11798
+ fallback: number
11675
11799
 
11676
- export interface VolumeMapOptionAssociatedOption {
11677
11800
  /**
11678
- * The option’s identifier.
11801
+ * All translations for the entry, identified by IETF language tag (BCP47).
11679
11802
  */
11680
- id: VolumePointsOptionReferenceIdentifier
11803
+ translations?: {
11804
+ [localeId: string]: BindingCostDerivedFromSelectionTranslation
11805
+ }
11681
11806
  }
11682
11807
 
11683
- export type VolumePointsOptionReferenceIdentifier =
11684
- | {
11685
- kind: "General"
11686
- General: GeneralSelectOption_ID
11687
- }
11688
- | {
11689
- kind: "AnimalShapeSize"
11690
- AnimalShapeSize: AnimalShapeSize_ID
11691
- }
11808
+ export interface BindingCostDerivedFromSelectionTranslation {
11809
+ /**
11810
+ * Place a string between the `for` and the grouped option names.
11811
+ */
11812
+ listPrepend?: string
11692
11813
 
11693
- export interface VolumeDerivedFromSelection {
11694
11814
  /**
11695
- * The volume for the selection if it does not define a specific one.
11815
+ * A replacement for the generated text if it would not match the original one.
11696
11816
  */
11697
- fallback: number
11817
+ replacement?: string
11698
11818
  }
11699
11819
 
11700
- export type EnchantmentCost =
11820
+ /**
11821
+ * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
11822
+ */
11823
+ export type PropertyDeclaration =
11701
11824
  | {
11702
- kind: "ArcaneEnergyCost"
11703
- ArcaneEnergyCost: ArcaneEnergyCost
11825
+ kind: "DependingOnSelection"
11704
11826
  }
11705
11827
  | {
11706
- kind: "BindingCost"
11707
- BindingCost: BindingCost
11828
+ kind: "Fixed"
11829
+ Fixed: Property_ID
11708
11830
  }
11709
11831
 
11710
11832
  /**
11711
- * The AE cost.
11833
+ * Magical Special Abilities that are being unlocked by Magic Style Special Abilities.
11712
11834
  */
11713
- export type ArcaneEnergyCost =
11714
- | {
11715
- kind: "Fixed"
11716
- Fixed: FixedArcaneEnergyCost
11717
- }
11718
- | {
11719
- kind: "PerCountable"
11720
- PerCountable: ArcaneEnergyCostPerCountable
11721
- }
11722
- | {
11723
- kind: "Interval"
11724
- Interval: IntervalArcaneEnergyCost
11725
- }
11726
- | {
11727
- kind: "ActivationAndHalfInterval"
11728
- ActivationAndHalfInterval: ActivationAndHalfIntervalArcaneEnergyCost
11729
- }
11730
- | {
11731
- kind: "Indefinite"
11732
- Indefinite: IndefiniteArcaneEnergyCost
11733
- }
11734
- | {
11735
- kind: "Disjunction"
11736
- Disjunction: ArcaneEnergyCostDisjunction
11737
- }
11738
- | {
11739
- kind: "Variable"
11740
- }
11741
- | {
11742
- kind: "ByLevel"
11743
- ByLevel: ArcaneEnergyCostByLevel
11744
- }
11745
- | {
11746
- kind: "Map"
11747
- Map: StandaloneCostMap
11748
- }
11835
+ export interface AdvancedMagicalSpecialAbility {
11836
+ /**
11837
+ * Number of available levels.
11838
+ */
11839
+ levels?: number
11749
11840
 
11750
- export interface FixedArcaneEnergyCost {
11751
11841
  /**
11752
- * The AE cost value.
11842
+ * Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
11753
11843
  */
11754
- value: number
11844
+ nameBuilderRules?: ActivatableNameBuilderRules
11755
11845
 
11756
11846
  /**
11757
- * Set to `true` if the AE costs are permanent.
11847
+ * Definitions for possible options for the activatable entry, derived from entry categories.
11848
+ *
11849
+ * 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.
11758
11850
  */
11759
- is_permanent?: boolean
11851
+ select_options?: SelectOptions
11760
11852
 
11761
11853
  /**
11762
- * Specified if the AE cost `value` has to be paid for each time interval.
11854
+ * The number stating how often you can buy the entry. The **default** depends on the entry type:
11855
+ *
11856
+ * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
11857
+ * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
11858
+ * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
11859
+ *
11860
+ * The maximum is only set if it differs from the defaults specified above.
11763
11861
  */
11764
- interval?: DurationUnitValue
11862
+ maximum?: number
11863
+
11864
+ prerequisites?: GeneralPrerequisites
11765
11865
 
11766
11866
  /**
11767
- * The AE cost are per level of the enchantment. It may either be displayed in a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1 AE for level I; 2 AE for level II`).
11867
+ * The adventure points value.
11768
11868
  */
11769
- per_level?: FixedArcaneEnergyCostPerLevel
11869
+ ap_value: AdventurePointsValue
11870
+
11871
+ /**
11872
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
11873
+ */
11874
+ src: PublicationRefs
11770
11875
 
11771
11876
  /**
11772
11877
  * All translations for the entry, identified by IETF language tag (BCP47).
11773
11878
  */
11774
- translations?: {
11775
- [localeId: string]: FixedArcaneEnergyCostTranslation
11879
+ translations: {
11880
+ [localeId: string]: AdvancedMagicalSpecialAbilityTranslation
11776
11881
  }
11777
11882
  }
11778
11883
 
11779
- export interface FixedArcaneEnergyCostTranslation {
11884
+ /**
11885
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
11886
+ */
11887
+ export type AdvancedMagicalSpecialAbility_ID = string
11888
+
11889
+ export interface AdvancedMagicalSpecialAbilityTranslation {
11780
11890
  /**
11781
- * A note, appended to the generated option string in parenthesis.
11891
+ * Name of the activatable entry.
11782
11892
  */
11783
- note?: ResponsiveTextOptional
11893
+ name: string
11894
+
11895
+ /**
11896
+ * 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.
11897
+ */
11898
+ name_in_library?: string
11899
+
11900
+ /**
11901
+ * The rule text.
11902
+ */
11903
+ rules: string
11904
+
11905
+ /**
11906
+ * The string to append to the generated AP value text.
11907
+ * @deprecated
11908
+ */
11909
+ ap_value_append?: string
11910
+
11911
+ /**
11912
+ * The adventure points value.
11913
+ * @deprecated
11914
+ */
11915
+ ap_value?: string
11916
+
11917
+ errata?: Errata
11784
11918
  }
11785
11919
 
11786
11920
  /**
11787
- * The AE cost are per level of the enchantment. It may either be displayed in a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1 AE for level I; 2 AE for level II`).
11921
+ * General Special Abilities that are being unlocked by Skill Style Special Abilities.
11788
11922
  */
11789
- export type FixedArcaneEnergyCostPerLevel =
11790
- | {
11791
- kind: "Compressed"
11792
- }
11793
- | {
11794
- kind: "Verbose"
11795
- }
11923
+ export interface AdvancedSkillSpecialAbility {
11924
+ /**
11925
+ * Number of available levels.
11926
+ */
11927
+ levels?: number
11796
11928
 
11797
- export interface ArcaneEnergyCostPerCountable {
11798
11929
  /**
11799
- * The AE cost value that has to be per a specific countable entity.
11930
+ * Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
11800
11931
  */
11801
- value: number
11932
+ nameBuilderRules?: ActivatableNameBuilderRules
11802
11933
 
11803
11934
  /**
11804
- * If defined, in addition to the cost per entity you have to pay a flat amount, regardless of the entity count.
11935
+ * Definitions for possible options for the activatable entry, derived from entry categories.
11936
+ *
11937
+ * 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.
11805
11938
  */
11806
- base_value?: number
11939
+ select_options?: SelectOptions
11940
+
11941
+ /**
11942
+ * The number stating how often you can buy the entry. The **default** depends on the entry type:
11943
+ *
11944
+ * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
11945
+ * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
11946
+ * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
11947
+ *
11948
+ * The maximum is only set if it differs from the defaults specified above.
11949
+ */
11950
+ maximum?: number
11951
+
11952
+ prerequisites?: GeneralPrerequisites
11953
+
11954
+ /**
11955
+ * The adventure points value.
11956
+ */
11957
+ ap_value: AdventurePointsValue
11958
+
11959
+ /**
11960
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
11961
+ */
11962
+ src: PublicationRefs
11807
11963
 
11808
11964
  /**
11809
11965
  * All translations for the entry, identified by IETF language tag (BCP47).
11810
11966
  */
11811
11967
  translations: {
11812
- [localeId: string]: ArcaneEnergyCostPerCountableTranslation
11968
+ [localeId: string]: AdvancedSkillSpecialAbilityTranslation
11813
11969
  }
11814
11970
  }
11815
11971
 
11816
- export interface ArcaneEnergyCostPerCountableTranslation {
11972
+ /**
11973
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
11974
+ */
11975
+ export type AdvancedSkillSpecialAbility_ID = string
11976
+
11977
+ export interface AdvancedSkillSpecialAbilityTranslation {
11817
11978
  /**
11818
- * The cost have to be per a specific countable entity, e.g. `8 AE per person`.
11979
+ * Name of the activatable entry.
11819
11980
  */
11820
- per: ResponsiveText
11981
+ name: string
11821
11982
 
11822
11983
  /**
11823
- * A note, appended to the generated string in parenthesis.
11984
+ * 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.
11824
11985
  */
11825
- note?: ResponsiveTextOptional
11986
+ name_in_library?: string
11987
+
11988
+ /**
11989
+ * The rule text.
11990
+ */
11991
+ rules: string
11992
+
11993
+ /**
11994
+ * The string to append to the generated AP value text.
11995
+ * @deprecated
11996
+ */
11997
+ ap_value_append?: string
11998
+
11999
+ /**
12000
+ * The adventure points value.
12001
+ * @deprecated
12002
+ */
12003
+ ap_value?: string
12004
+
12005
+ errata?: Errata
11826
12006
  }
11827
12007
 
11828
- export interface IntervalArcaneEnergyCost {
12008
+ /**
12009
+ * A type of magical signs, originating from Nostria.
12010
+ */
12011
+ export interface AncestorGlyph {
11829
12012
  /**
11830
- * The AE cost value that has to be payed each interval.
12013
+ * Number of available levels.
11831
12014
  */
11832
- value: number
12015
+ levels?: number
11833
12016
 
11834
12017
  /**
11835
- * The time interval for which the AE cost `value` has to be paid.
12018
+ * Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
11836
12019
  */
11837
- interval: DurationUnitValue
12020
+ nameBuilderRules?: ActivatableNameBuilderRules
12021
+
12022
+ /**
12023
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12024
+ *
12025
+ * 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.
12026
+ */
12027
+ select_options?: SelectOptions
12028
+
12029
+ /**
12030
+ * The number stating how often you can buy the entry. The **default** depends on the entry type:
12031
+ *
12032
+ * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
12033
+ * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
12034
+ * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
12035
+ *
12036
+ * The maximum is only set if it differs from the defaults specified above.
12037
+ */
12038
+ maximum?: number
12039
+
12040
+ prerequisites?: GeneralPrerequisites
12041
+
12042
+ /**
12043
+ * The AE cost of the ancestor glyph.
12044
+ */
12045
+ ae_cost: number
12046
+
12047
+ /**
12048
+ * The adventure points value.
12049
+ */
12050
+ ap_value: AdventurePointsValue
12051
+
12052
+ /**
12053
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
12054
+ */
12055
+ src: PublicationRefs
12056
+
12057
+ /**
12058
+ * All translations for the entry, identified by IETF language tag (BCP47).
12059
+ */
12060
+ translations: {
12061
+ [localeId: string]: AncestorGlyphTranslation
12062
+ }
11838
12063
  }
11839
12064
 
11840
- export interface ActivationAndHalfIntervalArcaneEnergyCost {
12065
+ /**
12066
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
12067
+ */
12068
+ export type AncestorGlyph_ID = string
12069
+
12070
+ export interface AncestorGlyphTranslation {
12071
+ /**
12072
+ * Name of the activatable entry.
12073
+ */
12074
+ name: string
12075
+
11841
12076
  /**
11842
- * The AE cost value that has to be payed for activation. Half of this value has to be payed each interval.
12077
+ * 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.
11843
12078
  */
11844
- value: number
12079
+ name_in_library?: string
11845
12080
 
11846
12081
  /**
11847
- * The time interval for which the AE cost `value` has to be paid.
12082
+ * The rule text.
11848
12083
  */
11849
- interval: DurationUnitValue
11850
- }
12084
+ rules: string
11851
12085
 
11852
- export interface IndefiniteArcaneEnergyCost {
11853
12086
  /**
11854
- * Specified if the indefinite AP cost description needs to be modified by a certain value.
12087
+ * The string to append to the generated AP value text.
12088
+ * @deprecated
11855
12089
  */
11856
- modifier?: IndefiniteArcaneEnergyCostModifier
12090
+ ap_value_append?: string
11857
12091
 
11858
12092
  /**
11859
- * All translations for the entry, identified by IETF language tag (BCP47).
12093
+ * The adventure points value.
12094
+ * @deprecated
11860
12095
  */
11861
- translations: {
11862
- [localeId: string]: IndefiniteArcaneEnergyCostTranslation
11863
- }
12096
+ ap_value?: string
12097
+
12098
+ errata?: Errata
11864
12099
  }
11865
12100
 
11866
- export interface IndefiniteArcaneEnergyCostTranslation {
12101
+ export interface ArcaneOrbEnchantment {
11867
12102
  /**
11868
- * A description of where the cost come from.
12103
+ * Number of available levels.
11869
12104
  */
11870
- description: ResponsiveText
11871
- }
12105
+ levels?: number
11872
12106
 
11873
- export interface IndefiniteArcaneEnergyCostModifier {
11874
12107
  /**
11875
- * The arithmetic how to apply the `value` to the `base`.
12108
+ * Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
11876
12109
  */
11877
- arithmetic: IndefiniteArcaneEnergyCostModifierArithmetic
12110
+ nameBuilderRules?: ActivatableNameBuilderRules
11878
12111
 
11879
12112
  /**
11880
- * The value that is applied to the `base` using the defined `arithmetic`.
12113
+ * Definitions for possible options for the activatable entry, derived from entry categories.
12114
+ *
12115
+ * 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.
11881
12116
  */
11882
- value: number
11883
- }
11884
-
11885
- export type IndefiniteArcaneEnergyCostModifierArithmetic =
11886
- | {
11887
- kind: "Add"
11888
- }
12117
+ select_options?: SelectOptions
11889
12118
 
11890
- export interface ArcaneEnergyCostDisjunction {
11891
12119
  /**
11892
- * The possible AE cost values.
12120
+ * The number stating how often you can buy the entry. The **default** depends on the entry type:
12121
+ *
12122
+ * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
12123
+ * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
12124
+ * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
12125
+ *
12126
+ * The maximum is only set if it differs from the defaults specified above.
11893
12127
  */
11894
- options: ArcaneEnergyCostDisjunctionOption[]
11895
- }
12128
+ maximum?: number
12129
+
12130
+ prerequisites?: GeneralPrerequisites
11896
12131
 
11897
- export interface ArcaneEnergyCostDisjunctionOption {
11898
12132
  /**
11899
- * A possible AE cost value.
12133
+ * The volume points the enchantment needs.
11900
12134
  */
11901
- value: number
12135
+ volume: Volume
11902
12136
 
11903
12137
  /**
11904
- * All translations for the entry, identified by IETF language tag (BCP47).
12138
+ * The cost when casting the entry.
11905
12139
  */
11906
- translations?: {
11907
- [localeId: string]: ArcaneEnergyCostDisjunctionOptionTranslation
11908
- }
11909
- }
12140
+ cost?: EnchantmentCost
11910
12141
 
11911
- export interface ArcaneEnergyCostDisjunctionOptionTranslation {
11912
12142
  /**
11913
- * A note, appended to the generated option string in parenthesis.
12143
+ * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
11914
12144
  */
11915
- note?: ResponsiveTextOptional
11916
- }
12145
+ property: PropertyDeclaration
11917
12146
 
11918
- export interface ArcaneEnergyCostByLevel {
11919
12147
  /**
11920
- * A continuous range of arcane energy cost for each level. The first element is the AE cost for the first level, the second element is the AE cost for the second level, and so on.
12148
+ * The adventure points value.
11921
12149
  */
11922
- levels: ArcaneEnergyCostByLevelLevel[]
12150
+ ap_value: AdventurePointsValue
11923
12151
 
11924
12152
  /**
11925
- * How to display the AE cost by level.
12153
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
11926
12154
  */
11927
- style: ArcaneEnergyCostByLevelStyle
11928
- }
12155
+ src: PublicationRefs
11929
12156
 
11930
- export interface ArcaneEnergyCostByLevelLevel {
11931
12157
  /**
11932
- * The arcane energy cost for this level.
12158
+ * All translations for the entry, identified by IETF language tag (BCP47).
11933
12159
  */
11934
- value: number
12160
+ translations: {
12161
+ [localeId: string]: ArcaneOrbEnchantmentTranslation
12162
+ }
11935
12163
  }
11936
12164
 
11937
12165
  /**
11938
- * The AE cost are defined by level of the enchantment. It may either be displayed in a compressed way (e.g. `1/2 AE for level I/II`) or in a verbose way (e.g. `1 AE for level I; 2 AE for level II`).
12166
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
11939
12167
  */
11940
- export type ArcaneEnergyCostByLevelStyle =
11941
- | {
11942
- kind: "Compressed"
11943
- }
11944
- | {
11945
- kind: "Verbose"
11946
- }
11947
-
11948
- export type StandaloneCostMap = ParameterMap<NonModifiableOneTimeCostMapOptionValue>
12168
+ export type ArcaneOrbEnchantment_ID = string
11949
12169
 
11950
- /**
11951
- * The binding cost for an enchantment.
11952
- */
11953
- export type BindingCost =
11954
- | {
11955
- kind: "Fixed"
11956
- Fixed: FixedBindingCost
11957
- }
11958
- | {
11959
- kind: "PerLevel"
11960
- PerLevel: BindingCostPerLevel
11961
- }
11962
- | {
11963
- kind: "Map"
11964
- Map: BindingCostMap
11965
- }
11966
- | {
11967
- kind: "DerivedFromSelection"
11968
- DerivedFromSelection: BindingCostDerivedFromSelection
11969
- }
12170
+ export interface ArcaneOrbEnchantmentTranslation {
12171
+ /**
12172
+ * Name of the activatable entry.
12173
+ */
12174
+ name: string
11970
12175
 
11971
- export interface FixedBindingCost {
11972
12176
  /**
11973
- * The permanent AE cost.
11974
- *
11975
- * If the enchantment has multiple levels, it is only applied for the first level.
12177
+ * 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.
11976
12178
  */
11977
- permanent_value: number
11978
- }
12179
+ name_in_library?: string
11979
12180
 
11980
- export interface BindingCostPerLevel {
11981
12181
  /**
11982
- * The permanent AE cost per level.
12182
+ * The effect description.
11983
12183
  */
11984
- permanent_value: number
11985
- }
12184
+ effect: string
11986
12185
 
11987
- /**
11988
- * A content that is `2/4/8 permanent AE for spell-swords with the combat technique Daggers, Swords, or Two-Handed Swords` may be respresented as the following map:
11989
- *
11990
- * ```yaml
11991
- * options:
11992
- * - permanent_value: 2
11993
- * translations:
11994
- * en-US:
11995
- * label: "Daggers"
11996
- * label_standalone: "Dagger"
11997
- * - permanent_value: 4
11998
- * translations:
11999
- * en-US:
12000
- * label: "Swords"
12001
- * label_standalone: "Sword"
12002
- * - permanent_value: 8
12003
- * translations:
12004
- * en-US:
12005
- * label: "Two-Handed Swords"
12006
- * label_standalone: "Two-Handed Sword"
12007
- * list_prepend: "spell-swords with the combat technique"
12008
- * ```
12009
- *
12010
- * This will generate the exact same string as seen above.
12011
- */
12012
- export type BindingCostMap = ParameterMap<BindingCostMapOptionValue>
12186
+ /**
12187
+ * A note, appended to the generated cost string in parenthesis.
12188
+ */
12189
+ cost_note?: ResponsiveTextOptional
12013
12190
 
12014
- export interface BindingCostMapOptionValue {
12015
12191
  /**
12016
- * The full permanent AE cost value for this option.
12192
+ * The binding cost for an enchantment.
12193
+ * @deprecated
12017
12194
  */
12018
- permanentValue: number
12019
- }
12195
+ bindingCost?: string
12020
12196
 
12021
- export interface BindingCostDerivedFromSelection {
12022
12197
  /**
12023
- * The binding cost for the selection if it does not define a specific one.
12198
+ * The AE cost.
12199
+ * @deprecated
12024
12200
  */
12025
- fallback: number
12201
+ aeCost?: string
12026
12202
 
12027
12203
  /**
12028
- * All translations for the entry, identified by IETF language tag (BCP47).
12204
+ * The volume points the enchantment needs.
12205
+ * @deprecated
12029
12206
  */
12030
- translations?: {
12031
- [localeId: string]: BindingCostDerivedFromSelectionTranslation
12032
- }
12033
- }
12207
+ volume?: string
12034
12208
 
12035
- export interface BindingCostDerivedFromSelectionTranslation {
12036
12209
  /**
12037
- * Place a string between the `for` and the grouped option names.
12210
+ * The string to append to the generated AP value text.
12211
+ * @deprecated
12038
12212
  */
12039
- listPrepend?: string
12213
+ ap_value_append?: string
12040
12214
 
12041
12215
  /**
12042
- * A replacement for the generated text if it would not match the original one.
12216
+ * The adventure points value.
12217
+ * @deprecated
12043
12218
  */
12044
- replacement?: string
12045
- }
12219
+ ap_value?: string
12046
12220
 
12047
- /**
12048
- * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
12049
- */
12050
- export type PropertyDeclaration =
12051
- | {
12052
- kind: "DependingOnSelection"
12053
- }
12054
- | {
12055
- kind: "Fixed"
12056
- Fixed: Property_ID
12057
- }
12221
+ errata?: Errata
12222
+ }
12058
12223
 
12059
12224
  export interface AttireEnchantment {
12060
12225
  /**
@@ -14757,7 +14922,7 @@ export interface AdvancedSpecialAbilityByOptionMapping<Identifier> {
14757
14922
  /**
14758
14923
  * The select option’s identifier.
14759
14924
  */
14760
- option: Patron_ID
14925
+ option: GeneralSelectOption_ID
14761
14926
 
14762
14927
  /**
14763
14928
  * The advanced special ability’s identifier.
@@ -18958,6 +19123,10 @@ export interface SingleProfessionSpecialAbility {
18958
19123
  }
18959
19124
 
18960
19125
  export type ProfessionSpecialAbilityIdentifier =
19126
+ | {
19127
+ kind: "Adoruzepterzauber"
19128
+ Adoruzepterzauber: Adoruzepterzauber_ID
19129
+ }
18961
19130
  | {
18962
19131
  kind: "AdvancedCombatSpecialAbility"
18963
19132
  AdvancedCombatSpecialAbility: AdvancedCombatSpecialAbility_ID
@@ -22588,32 +22757,6 @@ export interface InfluenceEffect {
22588
22757
  text: string
22589
22758
  }
22590
22759
 
22591
- export interface MagicalTraditionSubgroup {
22592
- /**
22593
- * The magical tradition this subgroup belongs to.
22594
- */
22595
- parent: MagicalTradition_ID
22596
-
22597
- /**
22598
- * All translations for the entry, identified by IETF language tag (BCP47).
22599
- */
22600
- translations: {
22601
- [localeId: string]: MagicalTraditionSubgroupTranslation
22602
- }
22603
- }
22604
-
22605
- /**
22606
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
22607
- */
22608
- export type MagicalTraditionSubgroup_ID = string
22609
-
22610
- export interface MagicalTraditionSubgroupTranslation {
22611
- /**
22612
- * The name of the ceremonial item. This should be the heading used in the respective publication.
22613
- */
22614
- name: string
22615
- }
22616
-
22617
22760
  /**
22618
22761
  * Defines how to determine the AP cost of an enhancement.
22619
22762
  */
@@ -23210,6 +23353,9 @@ export interface AnySpecialAbilityOfGroupPrerequisite {
23210
23353
  }
23211
23354
 
23212
23355
  export type SpecialAbilityGroup =
23356
+ | {
23357
+ kind: "Adoruzepterzauber"
23358
+ }
23213
23359
  | {
23214
23360
  kind: "AdvancedCombatSpecialAbility"
23215
23361
  }