optolith-database-schema 0.29.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (76) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/gen/types.d.ts +326 -66
  3. package/lib/types/Advantage.d.ts +23 -23
  4. package/lib/types/DerivedCharacteristic.d.ts +162 -0
  5. package/lib/types/DerivedCharacteristic.js +124 -0
  6. package/lib/types/Disadvantage.d.ts +21 -21
  7. package/lib/types/Locale.d.ts +83 -2
  8. package/lib/types/Locale.js +90 -2
  9. package/lib/types/_ActivatableAdventurePointsValue.d.ts +4 -4
  10. package/lib/types/_ActivatableAutomatic.d.ts +2 -2
  11. package/lib/types/_ActivatableCombat.d.ts +9 -11
  12. package/lib/types/_ActivatableCombat.js +12 -28
  13. package/lib/types/_ActivatableNonMundane.d.ts +18 -38
  14. package/lib/types/_ActivatableNonMundane.js +55 -23
  15. package/lib/types/_ActivatableSelectOptionCategory.d.ts +32 -32
  16. package/lib/types/_ActivatableSelectOptions.d.ts +22 -22
  17. package/lib/types/_IdentifierGroup.d.ts +9 -5
  18. package/lib/types/_IdentifierGroup.js +9 -108
  19. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +178 -8
  20. package/lib/types/prerequisites/PrerequisiteGroups.js +9 -0
  21. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +2 -2
  22. package/lib/types/rule/FocusRule.d.ts +1 -1
  23. package/lib/types/rule/FocusRule.js +1 -1
  24. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +30 -32
  25. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +21 -21
  26. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +21 -21
  27. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +21 -21
  28. package/lib/types/specialAbility/AncestorGlyph.d.ts +21 -21
  29. package/lib/types/specialAbility/BlessedTradition.d.ts +21 -21
  30. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +30 -32
  31. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +21 -21
  32. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +30 -32
  33. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +30 -32
  34. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +30 -32
  35. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +21 -21
  36. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +21 -21
  37. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +21 -21
  38. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +21 -21
  39. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +21 -21
  40. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +21 -21
  41. package/lib/types/specialAbility/LycantropicGift.d.ts +21 -21
  42. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +21 -21
  43. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +21 -21
  44. package/lib/types/specialAbility/MagicalTradition.d.ts +21 -21
  45. package/lib/types/specialAbility/PactGift.d.ts +23 -23
  46. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +21 -21
  47. package/lib/types/specialAbility/Sermon.d.ts +21 -21
  48. package/lib/types/specialAbility/SexSpecialAbility.d.ts +21 -21
  49. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +21 -21
  50. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +21 -21
  51. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -2
  52. package/lib/types/specialAbility/VampiricGift.d.ts +21 -21
  53. package/lib/types/specialAbility/Vision.d.ts +21 -21
  54. package/lib/types/specialAbility/sub/TradeSecret.d.ts +19 -19
  55. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +30 -40
  56. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +30 -40
  57. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +30 -40
  58. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +30 -40
  59. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +30 -40
  60. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +30 -40
  61. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +30 -40
  62. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +30 -40
  63. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +30 -40
  64. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +30 -40
  65. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +30 -40
  66. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +30 -40
  67. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +30 -40
  68. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +30 -40
  69. package/lib/types/traditionArtifacts/SickleRitual.d.ts +30 -40
  70. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +30 -40
  71. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +30 -40
  72. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +30 -40
  73. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +30 -40
  74. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +30 -40
  75. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +30 -40
  76. package/package.json +5 -3
package/gen/types.d.ts CHANGED
@@ -198,6 +198,7 @@ export type EnumMap = {
198
198
  AbilityAdjustment: AbilityAdjustment
199
199
  ActivatableIdentifier: ActivatableIdentifier
200
200
  ActivatableSkillEffect: ActivatableSkillEffect
201
+ AdvancedSkillStyleSpecialAbilityIdentifier: AdvancedSkillStyleSpecialAbilityIdentifier
201
202
  AdvancedSpecialAbility: AdvancedSpecialAbility<unknown>
202
203
  AdvancedSpecialAbilityRestrictedOptionIdentifier: AdvancedSpecialAbilityRestrictedOptionIdentifier
203
204
  AdvantageDisadvantagePrerequisiteGroup: AdvantageDisadvantagePrerequisiteGroup
@@ -220,6 +221,7 @@ export type EnumMap = {
220
221
  ApplicableSpecificCombatTechniquesRestriction: ApplicableSpecificCombatTechniquesRestriction
221
222
  ApplicationCategory: ApplicationCategory
222
223
  ArcaneEnergyCost: ArcaneEnergyCost
224
+ ArcaneEnergyCostByLevelStyle: ArcaneEnergyCostByLevelStyle
223
225
  ArcaneTraditionPrerequisiteGroup: ArcaneTraditionPrerequisiteGroup
224
226
  ArmorComplexity: ArmorComplexity
225
227
  AutomaticEntryAction: AutomaticEntryAction
@@ -262,7 +264,12 @@ export type EnumMap = {
262
264
  CurseDuration: CurseDuration
263
265
  DaggerRitualCost: DaggerRitualCost
264
266
  DemonicPoisonLevel: DemonicPoisonLevel
267
+ DerivedCharacteristicBaseValue: DerivedCharacteristicBaseValue
268
+ DerivedCharacteristicModifierOperation: DerivedCharacteristicModifierOperation
269
+ DerivedCharacteristicModifierPrerequisiteGroup: DerivedCharacteristicModifierPrerequisiteGroup
265
270
  DerivedCharacteristicPrerequisiteGroup: DerivedCharacteristicPrerequisiteGroup
271
+ DerivedCharacteristicPrimaryAttributeValue: DerivedCharacteristicPrimaryAttributeValue
272
+ DerivedCharacteristicRaceBaseValue: DerivedCharacteristicRaceBaseValue
266
273
  DisplayOption: DisplayOption
267
274
  DominationRitualDuration: DominationRitualDuration
268
275
  DurationForOneTime: DurationForOneTime
@@ -442,12 +449,12 @@ export type TypeAliasMap = {
442
449
  ApplicableCombatTechniquesLevelRestriction: ApplicableCombatTechniquesLevelRestriction
443
450
  ApplicableCombatTechniquesNegativeCombatTechniquesRestriction: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<unknown>
444
451
  ApplicableCombatTechniquesRaceRestriction: ApplicableCombatTechniquesRaceRestriction
445
- ApplicableCombatTechniquesWeaponRestriction: ApplicableCombatTechniquesWeaponRestriction
446
452
  Applications: Applications
447
453
  ArcaneBardTraditionReference: ArcaneBardTraditionReference
448
454
  ArcaneDancerTraditionReference: ArcaneDancerTraditionReference
455
+ ArcaneEnergyCostByLevel: ArcaneEnergyCostByLevel
456
+ ArcaneEnergyCostByLevelLevel: ArcaneEnergyCostByLevelLevel
449
457
  ArcaneEnergyCostDisjunction: ArcaneEnergyCostDisjunction
450
- ArcaneEnergyCostDisjunctionInterval: ArcaneEnergyCostDisjunctionInterval
451
458
  ArcaneEnergyCostDisjunctionOption: ArcaneEnergyCostDisjunctionOption
452
459
  ArcaneEnergyCostPerCountable: ArcaneEnergyCostPerCountable
453
460
  ArcaneTraditionPrerequisites: ArcaneTraditionPrerequisites
@@ -514,7 +521,13 @@ export type TypeAliasMap = {
514
521
  DefiniteBookCostVariant: DefiniteBookCostVariant
515
522
  DemonicPoison: DemonicPoison
516
523
  Deprecation: Deprecation
524
+ DerivedCharacteristicBase: DerivedCharacteristicBase
525
+ DerivedCharacteristicBuyBack: DerivedCharacteristicBuyBack
526
+ DerivedCharacteristicCalculation: DerivedCharacteristicCalculation
527
+ DerivedCharacteristicModifier: DerivedCharacteristicModifier
528
+ DerivedCharacteristicPermanentLoss: DerivedCharacteristicPermanentLoss
517
529
  DerivedCharacteristicPrerequisites: DerivedCharacteristicPrerequisites
530
+ DerivedCharacteristicPurchase: DerivedCharacteristicPurchase
518
531
  Dice: Dice
519
532
  DiceBasedIntoxicantAddictionInterval: DiceBasedIntoxicantAddictionInterval
520
533
  DiceBasedPoisonTime: DiceBasedPoisonTime
@@ -1176,6 +1189,7 @@ export interface Locale {
1176
1189
  "Adventure Points": string
1177
1190
  "AP": string
1178
1191
  ".input {$value :number} {{{$value} Adventure Points}}": string & { __params: { "value": number } }
1192
+ "{$value} Adventure Points": string & { __params: { "value": StringableTranslationParameter } }
1179
1193
  "{$value} AP": string & { __params: { "value": StringableTranslationParameter } }
1180
1194
  "{$value} Total AP": string & { __params: { "value": StringableTranslationParameter } }
1181
1195
  "{$value} AP Spent": string & { __params: { "value": StringableTranslationParameter } }
@@ -1977,8 +1991,7 @@ export interface Locale {
1977
1991
  "disadvantage": string
1978
1992
  "domain {$domain}": string & { __params: { "domain": StringableTranslationParameter } }
1979
1993
  "{$pact} level {$pactLevel}": string & { __params: { "pact": StringableTranslationParameter; "pactLevel": StringableTranslationParameter } }
1980
- "Level {$level}:": string & { __params: { "level": StringableTranslationParameter } }
1981
- ".input {$level :number} {{Level {$level}}}": string & { __params: { "level": number } }
1994
+ "Level {$level}": string & { __params: { "level": StringableTranslationParameter } }
1982
1995
  "cannot be chosen at the same time as {$trait}": string & { __params: { "trait": StringableTranslationParameter } }
1983
1996
  "must have {$trait}": string & { __params: { "trait": StringableTranslationParameter } }
1984
1997
  "inlinewiki.castingtime": string
@@ -2167,6 +2180,87 @@ export interface Locale {
2167
2180
  "Back Cover Inside": string
2168
2181
  ".input {$printing :number} {{since the {$printing}. printing}}": string & { __params: { "printing": number } }
2169
2182
  ".input {$printing :number} {{removed in {$printing}. printing}}": string & { __params: { "printing": number } }
2183
+ "Base Value": string
2184
+ "Base {$name} from Race": string & { __params: { "name": StringableTranslationParameter } }
2185
+ "Race Base {$abbreviation}": string & { __params: { "abbreviation": StringableTranslationParameter } }
2186
+ "Primary attribute for the magic user’s Tradition": string
2187
+ "Primary attribute for the Blessed One’s Tradition": string
2188
+ "The following rule is a Level {$level} focus rule for the topic {$topic}.": string & { __params: { "level": StringableTranslationParameter; "topic": StringableTranslationParameter } }
2189
+ "Protective Circle": string
2190
+ "Warding Circle": string
2191
+ "Prerequisites": string
2192
+ "AP Value": string
2193
+ ".input {$value :number} {{{$value} Adventure Points per level}}": string & { __params: { "value": number } }
2194
+ "tiny": string
2195
+ "small": string
2196
+ "medium": string
2197
+ "large": string
2198
+ "huge": string
2199
+ "{$values} AP for size category {$labels} (per level)": string & { __params: { "values": StringableTranslationParameter; "labels": StringableTranslationParameter } }
2200
+ "A/B/C/D skill": string
2201
+ "A/B/C/D spell": string
2202
+ "A/B/C/D ritual": string
2203
+ "A/B/C/D liturgical chant": string
2204
+ "A/B/C/D ceremony": string
2205
+ "A/B/C/D spellwork": string
2206
+ "A/B/C/D liturgical chant or ceremony": string
2207
+ "A/B/C/D ability": string
2208
+ "B/C/D combat technique": string
2209
+ "depending on the trade secret": string
2210
+ "{$values} Adventure Points for the {$labels} purchase": string & { __params: { "values": StringableTranslationParameter; "labels": StringableTranslationParameter } }
2211
+ "{$values}/and so on Adventure Points for the {$labels}/and so on purchase": string & { __params: { "values": StringableTranslationParameter; "labels": StringableTranslationParameter } }
2212
+ ".input {$value :number} {{{$value} Adventure Points with {$name}}}": string & { __params: { "value": number; "name": StringableTranslationParameter } }
2213
+ "Half the chosen disease’s level in adventure points": string
2214
+ "The chosen disease’s level in adventure points": string
2215
+ "Half the chosen poison’s level in adventure points": string
2216
+ "The chosen poison’s level in adventure points": string
2217
+ "{$values} adventure points for a {$sized} animal shape": string & { __params: { "values": StringableTranslationParameter; "sized": StringableTranslationParameter } }
2218
+ "Aspect": string
2219
+ "As chosen": string
2220
+ "Passive": string
2221
+ "Basic Maneuver": string
2222
+ "Special Maneuver": string
2223
+ "Volume": string
2224
+ "Penalty": string
2225
+ "Binding Cost": string
2226
+ "All": string
2227
+ "All Close Combat Techniques": string
2228
+ "All Ranged Combat Techniques": string
2229
+ "Depends on combat style; both combat styles can be used only for their corresponding combat techniques": string
2230
+ "only improvised weapons": string
2231
+ "weapon must have a pointed blade": string
2232
+ "while mounted": string
2233
+ "while weapon of race {$race}": string & { __params: { "race": StringableTranslationParameter } }
2234
+ "except {$list}": string & { __params: { "list": StringableTranslationParameter } }
2235
+ "All Two-Handed Weapons": string
2236
+ "All Parrying Weapons": string
2237
+ "with parry": string
2238
+ "that may be performed with one-handed weapons": string
2239
+ "only those with at least one blunt side": string
2240
+ "only {$nameWithLevel}": string & { __params: { "nameWithLevel": StringableTranslationParameter } }
2241
+ "only {$weapons}": string & { __params: { "weapons": StringableTranslationParameter } }
2242
+ ".input {$ord :number} {{{$ord}. attack}}": string & { __params: { "ord": number } }
2243
+ ".input {$ord :number} {{{$ord}. throw}}": string & { __params: { "ord": number } }
2244
+ "depending on the level of the special ability {$name}": string & { __params: { "name": StringableTranslationParameter } }
2245
+ "for parry": string
2246
+ "one-handed weapon": string
2247
+ "two-handed weapon": string
2248
+ "for secondary fighters with/without special ability {$name}": string & { __params: { "name": StringableTranslationParameter } }
2249
+ "{$start} to {$end}": string & { __params: { "start": StringableTranslationParameter; "end": StringableTranslationParameter } }
2250
+ "Depends on zone": string
2251
+ ".input {$points :number} {{{$points} points}}": string & { __params: { "points": number } }
2252
+ ".input {$points :number} {{{$points} points per level}}": string & { __params: { "points": number } }
2253
+ "{$points} points": string & { __params: { "points": StringableTranslationParameter } }
2254
+ "{$points} points for levels {$levels}": string & { __params: { "points": StringableTranslationParameter; "levels": StringableTranslationParameter } }
2255
+ "{$value} LP": string & { __params: { "value": StringableTranslationParameter } }
2256
+ ".input {$value :number} {{{$value} permanent AE}}": string & { __params: { "value": number } }
2257
+ "{$cost} per {$interval}": string & { __params: { "cost": StringableTranslationParameter; "interval": StringableTranslationParameter } }
2258
+ "{$cost} per {$countable}": string & { __params: { "cost": StringableTranslationParameter; "countable": StringableTranslationParameter } }
2259
+ "{$cost} per level": string & { __params: { "cost": StringableTranslationParameter } }
2260
+ "{$cost} for level {$level}": string & { __params: { "cost": StringableTranslationParameter; "level": StringableTranslationParameter } }
2261
+ "{$cost} (activation) + {$halvedCost} per {$interval}": string & { __params: { "cost": StringableTranslationParameter; "halvedCost": StringableTranslationParameter; "interval": StringableTranslationParameter } }
2262
+ "Variable": string
2263
+ "{$value} permanent AE": string & { __params: { "value": StringableTranslationParameter } }
2170
2264
  }
2171
2265
  }
2172
2266
 
@@ -3286,7 +3380,7 @@ export interface SkillTranslation {
3286
3380
  /**
3287
3381
  * The attributes’ identifiers of the skill check.
3288
3382
  */
3289
- export type SkillCheck = Attribute_ID[]
3383
+ export type SkillCheck = [Attribute_ID, Attribute_ID, Attribute_ID]
3290
3384
 
3291
3385
  /**
3292
3386
  * A base attribute of a character.
@@ -4005,7 +4099,7 @@ export interface AttributeAdjustments {
4005
4099
  *
4006
4100
  * The array only permits a single entry because no race specified more than one selectable attribute adjustment so far. But the schema allows for multiple entries to be future-proof.
4007
4101
  */
4008
- selectable?: SelectableAttributeAdjustment[]
4102
+ selectable?: [SelectableAttributeAdjustment]
4009
4103
  }
4010
4104
 
4011
4105
  /**
@@ -4228,12 +4322,12 @@ export interface RaceVariant {
4228
4322
  /**
4229
4323
  * An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.
4230
4324
  */
4231
- hair_color?: HairColor_ID[]
4325
+ hair_color?: [HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID, HairColor_ID]
4232
4326
 
4233
4327
  /**
4234
4328
  * An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.
4235
4329
  */
4236
- eye_color?: EyeColor_ID[]
4330
+ eye_color?: [EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID, EyeColor_ID]
4237
4331
 
4238
4332
  /**
4239
4333
  * Configuration for random height generation.
@@ -6089,7 +6183,7 @@ export interface BlessedTradition {
6089
6183
  /**
6090
6184
  * The tradition’s aspects, if any.
6091
6185
  */
6092
- aspects?: Aspect_ID[]
6186
+ aspects?: [Aspect_ID, Aspect_ID]
6093
6187
 
6094
6188
  /**
6095
6189
  * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
@@ -6188,11 +6282,11 @@ export interface BlessedTraditionTranslation {
6188
6282
  export type RestrictedBlessings =
6189
6283
  | {
6190
6284
  kind: "Three"
6191
- Three: Blessing_ID[]
6285
+ Three: [Blessing_ID, Blessing_ID, Blessing_ID]
6192
6286
  }
6193
6287
  | {
6194
6288
  kind: "Six"
6195
- Six: Blessing_ID[]
6289
+ Six: [Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID]
6196
6290
  }
6197
6291
 
6198
6292
  export interface Blessing {
@@ -6518,23 +6612,23 @@ export type MathOperation<Value> =
6518
6612
  }
6519
6613
  | {
6520
6614
  kind: "Addition"
6521
- Addition: MathOperation<Value>[]
6615
+ Addition: [MathOperation<Value>, MathOperation<Value>]
6522
6616
  }
6523
6617
  | {
6524
6618
  kind: "Subtraction"
6525
- Subtraction: MathOperation<Value>[]
6619
+ Subtraction: [MathOperation<Value>, MathOperation<Value>]
6526
6620
  }
6527
6621
  | {
6528
6622
  kind: "Multiplication"
6529
- Multiplication: MathOperation<Value>[]
6623
+ Multiplication: [MathOperation<Value>, MathOperation<Value>]
6530
6624
  }
6531
6625
  | {
6532
6626
  kind: "Division"
6533
- Division: MathOperation<Value>[]
6627
+ Division: [MathOperation<Value>, MathOperation<Value>]
6534
6628
  }
6535
6629
  | {
6536
6630
  kind: "Exponentiation"
6537
- Exponentiation: MathOperation<Value>[]
6631
+ Exponentiation: [MathOperation<Value>, MathOperation<Value>]
6538
6632
  }
6539
6633
 
6540
6634
  /**
@@ -6591,7 +6685,7 @@ export interface FocusRule {
6591
6685
  /**
6592
6686
  * The associated subject.
6593
6687
  */
6594
- subject?: Subject_ID
6688
+ subject: Subject_ID
6595
6689
 
6596
6690
  /**
6597
6691
  * The focus rule’s level.
@@ -6747,7 +6841,7 @@ export interface ActivatableSkillEffectForEachQualityLevel {
6747
6841
  /**
6748
6842
  * The list of effects for each quality level. The first element represents QL 1, the second element QL 2, and so on.
6749
6843
  */
6750
- quality_levels: string[]
6844
+ quality_levels: [string, string, string, string, string, string]
6751
6845
 
6752
6846
  /**
6753
6847
  * The effect description after the list of effects for each quality level.
@@ -6764,7 +6858,7 @@ export interface ActivatableSkillEffectForEachTwoQualityLevels {
6764
6858
  /**
6765
6859
  * The list of effects for each two quality levels. The first element represents QL 1–2, the second element QL 3–4 and the third element QL 5–6.
6766
6860
  */
6767
- quality_levels: string[]
6861
+ quality_levels: [string, string, string]
6768
6862
 
6769
6863
  /**
6770
6864
  * The effect description after the list of effects for each quality level.
@@ -9813,6 +9907,10 @@ export type ArcaneEnergyCost =
9813
9907
  | {
9814
9908
  kind: "Variable"
9815
9909
  }
9910
+ | {
9911
+ kind: "ByLevel"
9912
+ ByLevel: ArcaneEnergyCostByLevel
9913
+ }
9816
9914
 
9817
9915
  export interface FixedArcaneEnergyCost {
9818
9916
  /**
@@ -9955,36 +10053,12 @@ export type IndefiniteArcaneEnergyCostModifierArithmetic =
9955
10053
  }
9956
10054
 
9957
10055
  export interface ArcaneEnergyCostDisjunction {
9958
- /**
9959
- * Specified if the selected AE cost option has to be paid for each time interval.
9960
- */
9961
- interval?: ArcaneEnergyCostDisjunctionInterval
9962
-
9963
10056
  /**
9964
10057
  * The possible AE cost values.
9965
10058
  */
9966
10059
  options: ArcaneEnergyCostDisjunctionOption[]
9967
10060
  }
9968
10061
 
9969
- export interface ArcaneEnergyCostDisjunctionInterval {
9970
- /**
9971
- * The interval itself.
9972
- */
9973
- value: DurationUnitValue
9974
-
9975
- /**
9976
- * The AE cost value for activation.
9977
- */
9978
- activation_value: number
9979
-
9980
- /**
9981
- * Set to `true` if the action where the enchantment is casted does not as a part of the first interval that has to be payed, so that the first interval payment needs to be done after the activation.
9982
- *
9983
- * This works different than other sustained spells, since for them the end of the cast usually already counts as part of the first interval.
9984
- */
9985
- after_activation: boolean
9986
- }
9987
-
9988
10062
  export interface ArcaneEnergyCostDisjunctionOption {
9989
10063
  /**
9990
10064
  * A possible AE cost value.
@@ -10006,6 +10080,36 @@ export interface ArcaneEnergyCostDisjunctionOptionTranslation {
10006
10080
  note?: ResponsiveTextOptional
10007
10081
  }
10008
10082
 
10083
+ export interface ArcaneEnergyCostByLevel {
10084
+ /**
10085
+ * 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.
10086
+ */
10087
+ levels: ArcaneEnergyCostByLevelLevel[]
10088
+
10089
+ /**
10090
+ * How to display the AE cost by level.
10091
+ */
10092
+ style: ArcaneEnergyCostByLevelStyle
10093
+ }
10094
+
10095
+ export interface ArcaneEnergyCostByLevelLevel {
10096
+ /**
10097
+ * The arcane energy cost for this level.
10098
+ */
10099
+ value: number
10100
+ }
10101
+
10102
+ /**
10103
+ * 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`).
10104
+ */
10105
+ export type ArcaneEnergyCostByLevelStyle =
10106
+ | {
10107
+ kind: "Compressed"
10108
+ }
10109
+ | {
10110
+ kind: "Verbose"
10111
+ }
10112
+
10009
10113
  /**
10010
10114
  * The binding cost for an enchantment.
10011
10115
  */
@@ -10617,7 +10721,7 @@ export type ApplicableCombatTechniques =
10617
10721
  }
10618
10722
 
10619
10723
  export interface AllApplicableCombatTechniques {
10620
- restrictions?: ApplicableAllCombatTechniquesRestriction[]
10724
+ restriction?: ApplicableAllCombatTechniquesRestriction
10621
10725
  }
10622
10726
 
10623
10727
  export type ApplicableAllCombatTechniquesRestriction =
@@ -10649,7 +10753,7 @@ export interface ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<R
10649
10753
  }
10650
10754
 
10651
10755
  export interface AllApplicableCloseCombatTechniques {
10652
- restrictions?: ApplicableCloseCombatTechniquesRestriction[]
10756
+ restriction?: ApplicableCloseCombatTechniquesRestriction
10653
10757
  }
10654
10758
 
10655
10759
  export type ApplicableCloseCombatTechniquesRestriction =
@@ -10684,7 +10788,7 @@ export type ApplicableCloseCombatTechniquesRestriction =
10684
10788
  }
10685
10789
 
10686
10790
  export interface AllApplicableRangedCombatTechniques {
10687
- restrictions?: ApplicableRangedCombatTechniquesRestriction[]
10791
+ restriction?: ApplicableRangedCombatTechniquesRestriction
10688
10792
  }
10689
10793
 
10690
10794
  export type ApplicableRangedCombatTechniquesRestriction =
@@ -10712,7 +10816,13 @@ export interface SpecificApplicableCombatTechniques {
10712
10816
 
10713
10817
  export interface SpecificApplicableCombatTechnique {
10714
10818
  id: CombatTechniqueIdentifier
10715
- restrictions?: ApplicableSpecificCombatTechniquesRestriction[]
10819
+
10820
+ restriction?: ApplicableSpecificCombatTechniquesRestriction
10821
+
10822
+ /**
10823
+ * The specific weapons this combat special ability is only applicable to.
10824
+ */
10825
+ weapons?: Weapon_ID[]
10716
10826
  }
10717
10827
 
10718
10828
  export type ApplicableSpecificCombatTechniquesRestriction =
@@ -10733,10 +10843,6 @@ export type ApplicableSpecificCombatTechniquesRestriction =
10733
10843
  kind: "Level"
10734
10844
  Level: ApplicableCombatTechniquesLevelRestriction
10735
10845
  }
10736
- | {
10737
- kind: "Weapons"
10738
- Weapons: ApplicableCombatTechniquesWeaponRestriction
10739
- }
10740
10846
  | {
10741
10847
  kind: "OneBluntSide"
10742
10848
  }
@@ -10748,13 +10854,6 @@ export interface ApplicableCombatTechniquesLevelRestriction {
10748
10854
  level: number
10749
10855
  }
10750
10856
 
10751
- export interface ApplicableCombatTechniquesWeaponRestriction {
10752
- /**
10753
- * The specific weapons this combat special ability is only applicable to.
10754
- */
10755
- list: Weapon_ID[]
10756
- }
10757
-
10758
10857
  export interface Weapon {
10759
10858
  /**
10760
10859
  * The cost in silverthalers.
@@ -12014,7 +12113,7 @@ export interface CombatStyleSpecialAbility {
12014
12113
  /**
12015
12114
  * The Advanced Special Abilities for the respective Style Special Ability. Sometimes, only a specific select option or a set of select options of an entry is allowed, which can be modelled by the option property. It can also be that you can choose from a set of special abilities, but then you can’t specify an option.
12016
12115
  */
12017
- advanced: AdvancedSpecialAbility<AdvancedCombatSpecialAbility_ID>[]
12116
+ advanced: [AdvancedSpecialAbility<AdvancedCombatSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedCombatSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedCombatSpecialAbility_ID>]
12018
12117
 
12019
12118
  prerequisites?: GeneralPrerequisites
12020
12119
 
@@ -12199,7 +12298,7 @@ export interface Patron {
12199
12298
  /**
12200
12299
  * The patron-specific skills.
12201
12300
  */
12202
- skills: Skill_ID[]
12301
+ skills: [Skill_ID, Skill_ID, Skill_ID]
12203
12302
 
12204
12303
  /**
12205
12304
  * The patron is only available to a certain set of cultures. It may be available to all, it may be available to only specific ones (intersection) and it may be available to all except specific ones to the listed cultures (difference).
@@ -13714,7 +13813,7 @@ export interface LiturgicalStyleSpecialAbility {
13714
13813
  /**
13715
13814
  * The Advanced Special Abilities for the respective Style Special Ability. Sometimes, only a specific select option or a set of select options of an entry is allowed, which can be modelled by the option property. It can also be that you can choose from a set of special abilities, but then you can’t specify an option.
13716
13815
  */
13717
- advanced: AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>[]
13816
+ advanced: [AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>]
13718
13817
 
13719
13818
  prerequisites?: GeneralPrerequisites
13720
13819
 
@@ -14053,7 +14152,7 @@ export interface MagicStyleSpecialAbility {
14053
14152
  /**
14054
14153
  * The Advanced Special Abilities for the respective Style Special Ability. Sometimes, only a specific select option or a set of select options of an entry is allowed, which can be modelled by the option property. It can also be that you can choose from a set of special abilities, but then you can’t specify an option.
14055
14154
  */
14056
- advanced: AdvancedSpecialAbility<AdvancedMagicalSpecialAbility_ID>[]
14155
+ advanced: [AdvancedSpecialAbility<AdvancedMagicalSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedMagicalSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedMagicalSpecialAbility_ID>]
14057
14156
 
14058
14157
  prerequisites?: GeneralPrerequisites
14059
14158
 
@@ -14977,7 +15076,7 @@ export interface SkillStyleSpecialAbility {
14977
15076
  /**
14978
15077
  * The Advanced Special Abilities for the respective Style Special Ability. Sometimes, only a specific select option or a set of select options of an entry is allowed, which can be modelled by the option property. It can also be that you can choose from a set of special abilities, but then you can’t specify an option.
14979
15078
  */
14980
- advanced: AdvancedSpecialAbility<AdvancedSkillSpecialAbility_ID>[]
15079
+ advanced: [AdvancedSpecialAbility<AdvancedSkillStyleSpecialAbilityIdentifier>, AdvancedSpecialAbility<AdvancedSkillStyleSpecialAbilityIdentifier>, AdvancedSpecialAbility<AdvancedSkillStyleSpecialAbilityIdentifier>]
14981
15080
 
14982
15081
  prerequisites?: GeneralPrerequisites
14983
15082
 
@@ -15035,6 +15134,16 @@ export interface SkillStyleSpecialAbilityTranslation {
15035
15134
  errata?: Errata
15036
15135
  }
15037
15136
 
15137
+ export type AdvancedSkillStyleSpecialAbilityIdentifier =
15138
+ | {
15139
+ kind: "AdvancedCombatSpecialAbility"
15140
+ AdvancedCombatSpecialAbility: AdvancedCombatSpecialAbility_ID
15141
+ }
15142
+ | {
15143
+ kind: "AdvancedSkillSpecialAbility"
15144
+ AdvancedSkillSpecialAbility: AdvancedSkillSpecialAbility_ID
15145
+ }
15146
+
15038
15147
  export interface SpellSwordEnchantment {
15039
15148
  /**
15040
15149
  * Number of available levels.
@@ -19609,7 +19718,7 @@ export interface ConditionTranslation {
19609
19718
  /**
19610
19719
  * The effects for level 1 to 4.
19611
19720
  */
19612
- effects: string[]
19721
+ effects: [string, string, string, string]
19613
19722
 
19614
19723
  errata?: Errata
19615
19724
  }
@@ -20024,6 +20133,11 @@ export interface DerivedCharacteristic {
20024
20133
  */
20025
20134
  position: number
20026
20135
 
20136
+ /**
20137
+ * Instructions for calculating the derived characteristic’s value.
20138
+ */
20139
+ calculation: DerivedCharacteristicCalculation
20140
+
20027
20141
  prerequisites?: DerivedCharacteristicPrerequisites
20028
20142
 
20029
20143
  /**
@@ -20055,12 +20169,150 @@ export interface DerivedCharacteristicTranslation {
20055
20169
  */
20056
20170
  abbreviation: string
20057
20171
 
20172
+ /**
20173
+ * The derived characteristic’s description.
20174
+ */
20175
+ description?: string
20176
+
20058
20177
  /**
20059
20178
  * Possible calculation strings for the final value.
20060
20179
  */
20061
20180
  calculation?: CalculationTranslation
20062
20181
  }
20063
20182
 
20183
+ export interface DerivedCharacteristicCalculation {
20184
+ /**
20185
+ * The base value for the calculation.
20186
+ */
20187
+ base: DerivedCharacteristicBase
20188
+
20189
+ /**
20190
+ * A list of modifiers that are applied to the base value. The modifiers are applied in the order they appear in the list.
20191
+ */
20192
+ modifiers?: DerivedCharacteristicModifier[]
20193
+
20194
+ /**
20195
+ * If set, the derived characteristic can be improved by spending AP.
20196
+ *
20197
+ * If the derived characteristic’s permanent losses can be bought back, points will not be able to be purchased unless all permanent losses have been bought back.
20198
+ */
20199
+ purchasable?: DerivedCharacteristicPurchase
20200
+
20201
+ /**
20202
+ * If set, the derived characteristic can suffer permanent losses that reduce its maximum value. It may also be possible to buy back these permanent losses.
20203
+ */
20204
+ permanentLoss?: DerivedCharacteristicPermanentLoss
20205
+ }
20206
+
20207
+ export type DerivedCharacteristicBase = MathOperation<DerivedCharacteristicBaseValue>
20208
+
20209
+ export type DerivedCharacteristicBaseValue =
20210
+ | {
20211
+ kind: "Constant"
20212
+ Constant: number
20213
+ }
20214
+ | {
20215
+ kind: "Attribute"
20216
+ Attribute: Attribute_ID
20217
+ }
20218
+ | {
20219
+ kind: "RaceBaseValue"
20220
+ RaceBaseValue: DerivedCharacteristicRaceBaseValue
20221
+ }
20222
+ | {
20223
+ kind: "PrimaryAttribute"
20224
+ PrimaryAttribute: DerivedCharacteristicPrimaryAttributeValue
20225
+ }
20226
+
20227
+ export type DerivedCharacteristicRaceBaseValue =
20228
+ | {
20229
+ kind: "LifePoints"
20230
+ }
20231
+ | {
20232
+ kind: "Spirit"
20233
+ }
20234
+ | {
20235
+ kind: "Toughness"
20236
+ }
20237
+ | {
20238
+ kind: "Movement"
20239
+ }
20240
+
20241
+ export type DerivedCharacteristicPrimaryAttributeValue =
20242
+ | {
20243
+ kind: "Magical"
20244
+ }
20245
+ | {
20246
+ kind: "Blessed"
20247
+ }
20248
+
20249
+ export interface DerivedCharacteristicModifier {
20250
+ /**
20251
+ * The entry that, when active, causes the modifier.
20252
+ */
20253
+ source: DerivedCharacteristicModifierPrerequisiteGroup
20254
+
20255
+ /**
20256
+ * The mathematical operation that modifies the base value. The previous result is on the left side.
20257
+ */
20258
+ operation: DerivedCharacteristicModifierOperation
20259
+
20260
+ /**
20261
+ * The value that is used in the modifier operation. If the source entry has levels, the value is multiplied by the source entry’s level.
20262
+ */
20263
+ value: number
20264
+ }
20265
+
20266
+ export type DerivedCharacteristicModifierPrerequisiteGroup =
20267
+ | {
20268
+ kind: "Rule"
20269
+ Rule: RulePrerequisite
20270
+ }
20271
+ | {
20272
+ kind: "Activatable"
20273
+ Activatable: ActivatablePrerequisite
20274
+ }
20275
+
20276
+ export type DerivedCharacteristicModifierOperation =
20277
+ | {
20278
+ kind: "Addition"
20279
+ }
20280
+ | {
20281
+ kind: "Subtraction"
20282
+ }
20283
+ | {
20284
+ kind: "Multiplication"
20285
+ }
20286
+ | {
20287
+ kind: "Division"
20288
+ }
20289
+
20290
+ export interface DerivedCharacteristicPurchase {
20291
+ /**
20292
+ * The cost for improving the derived characteristic by one.
20293
+ */
20294
+ improvementCost: ImprovementCost
20295
+
20296
+ /**
20297
+ * The maximum value that can be achieved for the derived characteristic through improvements.
20298
+ */
20299
+ maximum: DerivedCharacteristicBase
20300
+ }
20301
+
20302
+ export interface DerivedCharacteristicPermanentLoss {
20303
+ /**
20304
+ * If set, permanent losses to the derived characteristic can be bought back for the specified cost.
20305
+ */
20306
+ canBeBoughtBack?: DerivedCharacteristicBuyBack
20307
+ }
20308
+
20309
+ export interface DerivedCharacteristicBuyBack {
20310
+ /**
20311
+ * The AP cost for buying back one point.
20312
+ */
20313
+ cost: number
20314
+ }
20315
+
20064
20316
  export type DerivedCharacteristicPrerequisites = PlainPrerequisites<DerivedCharacteristicPrerequisiteGroup>
20065
20317
 
20066
20318
  export type DerivedCharacteristicPrerequisiteGroup =
@@ -20068,6 +20320,14 @@ export type DerivedCharacteristicPrerequisiteGroup =
20068
20320
  kind: "Rule"
20069
20321
  Rule: RulePrerequisite
20070
20322
  }
20323
+ | {
20324
+ kind: "BlessedTradition"
20325
+ BlessedTradition: BlessedTraditionPrerequisite
20326
+ }
20327
+ | {
20328
+ kind: "MagicalTradition"
20329
+ MagicalTradition: MagicalTraditionPrerequisite
20330
+ }
20071
20331
 
20072
20332
  export interface CalculationTranslation {
20073
20333
  /**
@@ -20269,7 +20529,7 @@ export interface ElixirTranslationTranslation {
20269
20529
  /**
20270
20530
  * The list of effects for each quality level. The first element represents QL 1, the second element QL 2, and so on.
20271
20531
  */
20272
- quality_levels: string[]
20532
+ quality_levels: [string, string, string, string, string, string]
20273
20533
 
20274
20534
  errata?: Errata
20275
20535
  }
@@ -22576,7 +22836,7 @@ export interface MetaConditionTranslation {
22576
22836
  /**
22577
22837
  * The effects for level 1 to 4.
22578
22838
  */
22579
- effects: string[]
22839
+ effects: [string, string, string, string]
22580
22840
 
22581
22841
  errata?: Errata
22582
22842
  }