optolith-database-schema 0.29.0 → 0.29.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (69) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/gen/types.d.ts +184 -22
  3. package/lib/types/Advantage.d.ts +23 -23
  4. package/lib/types/DerivedCharacteristic.d.ts +161 -0
  5. package/lib/types/DerivedCharacteristic.js +120 -0
  6. package/lib/types/Disadvantage.d.ts +21 -21
  7. package/lib/types/Locale.d.ts +5 -0
  8. package/lib/types/Locale.js +6 -0
  9. package/lib/types/_ActivatableAdventurePointsValue.d.ts +4 -4
  10. package/lib/types/_ActivatableAutomatic.d.ts +2 -2
  11. package/lib/types/_ActivatableSelectOptionCategory.d.ts +32 -32
  12. package/lib/types/_ActivatableSelectOptions.d.ts +22 -22
  13. package/lib/types/_IdentifierGroup.d.ts +5 -5
  14. package/lib/types/_IdentifierGroup.js +2 -108
  15. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +178 -8
  16. package/lib/types/prerequisites/PrerequisiteGroups.js +9 -0
  17. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +2 -2
  18. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +21 -21
  19. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +21 -21
  20. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +21 -21
  21. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +21 -21
  22. package/lib/types/specialAbility/AncestorGlyph.d.ts +21 -21
  23. package/lib/types/specialAbility/BlessedTradition.d.ts +21 -21
  24. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +21 -21
  25. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +21 -21
  26. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +21 -21
  27. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +21 -21
  28. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +21 -21
  29. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +21 -21
  30. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +21 -21
  31. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +21 -21
  32. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +21 -21
  33. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +21 -21
  34. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +21 -21
  35. package/lib/types/specialAbility/LycantropicGift.d.ts +21 -21
  36. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +21 -21
  37. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +21 -21
  38. package/lib/types/specialAbility/MagicalTradition.d.ts +21 -21
  39. package/lib/types/specialAbility/PactGift.d.ts +23 -23
  40. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +21 -21
  41. package/lib/types/specialAbility/Sermon.d.ts +21 -21
  42. package/lib/types/specialAbility/SexSpecialAbility.d.ts +21 -21
  43. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +21 -21
  44. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +21 -21
  45. package/lib/types/specialAbility/VampiricGift.d.ts +21 -21
  46. package/lib/types/specialAbility/Vision.d.ts +21 -21
  47. package/lib/types/specialAbility/sub/TradeSecret.d.ts +19 -19
  48. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +21 -21
  49. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +21 -21
  50. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +21 -21
  51. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +21 -21
  52. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +21 -21
  53. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +21 -21
  54. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +21 -21
  55. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +21 -21
  56. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +21 -21
  57. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +21 -21
  58. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +21 -21
  59. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +21 -21
  60. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +21 -21
  61. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +21 -21
  62. package/lib/types/traditionArtifacts/SickleRitual.d.ts +21 -21
  63. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +21 -21
  64. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +21 -21
  65. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +21 -21
  66. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +21 -21
  67. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +21 -21
  68. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +21 -21
  69. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.29.1](https://github.com/elyukai/optolith-database-schema/compare/v0.29.0...v0.29.1) (2026-02-09)
6
+
7
+
8
+ ### Features
9
+
10
+ * include all derived characteristic settings ([3c0469e](https://github.com/elyukai/optolith-database-schema/commit/3c0469e4148d8bd314e3c949a42a7e0ca593f87c))
11
+ * values and translations for derived characteristic base value calculation ([f55bb9f](https://github.com/elyukai/optolith-database-schema/commit/f55bb9f6c292b79c8d45d8b620f641b8bc2fc1e8))
12
+
5
13
  ## [0.29.0](https://github.com/elyukai/optolith-database-schema/compare/v0.28.3...v0.29.0) (2026-02-09)
6
14
 
7
15
 
package/gen/types.d.ts CHANGED
@@ -262,7 +262,12 @@ export type EnumMap = {
262
262
  CurseDuration: CurseDuration
263
263
  DaggerRitualCost: DaggerRitualCost
264
264
  DemonicPoisonLevel: DemonicPoisonLevel
265
+ DerivedCharacteristicBaseValue: DerivedCharacteristicBaseValue
266
+ DerivedCharacteristicModifierOperation: DerivedCharacteristicModifierOperation
267
+ DerivedCharacteristicModifierPrerequisiteGroup: DerivedCharacteristicModifierPrerequisiteGroup
265
268
  DerivedCharacteristicPrerequisiteGroup: DerivedCharacteristicPrerequisiteGroup
269
+ DerivedCharacteristicPrimaryAttributeValue: DerivedCharacteristicPrimaryAttributeValue
270
+ DerivedCharacteristicRaceBaseValue: DerivedCharacteristicRaceBaseValue
266
271
  DisplayOption: DisplayOption
267
272
  DominationRitualDuration: DominationRitualDuration
268
273
  DurationForOneTime: DurationForOneTime
@@ -514,7 +519,13 @@ export type TypeAliasMap = {
514
519
  DefiniteBookCostVariant: DefiniteBookCostVariant
515
520
  DemonicPoison: DemonicPoison
516
521
  Deprecation: Deprecation
522
+ DerivedCharacteristicBase: DerivedCharacteristicBase
523
+ DerivedCharacteristicBuyBack: DerivedCharacteristicBuyBack
524
+ DerivedCharacteristicCalculation: DerivedCharacteristicCalculation
525
+ DerivedCharacteristicModifier: DerivedCharacteristicModifier
526
+ DerivedCharacteristicPermanentLoss: DerivedCharacteristicPermanentLoss
517
527
  DerivedCharacteristicPrerequisites: DerivedCharacteristicPrerequisites
528
+ DerivedCharacteristicPurchase: DerivedCharacteristicPurchase
518
529
  Dice: Dice
519
530
  DiceBasedIntoxicantAddictionInterval: DiceBasedIntoxicantAddictionInterval
520
531
  DiceBasedPoisonTime: DiceBasedPoisonTime
@@ -2167,6 +2178,11 @@ export interface Locale {
2167
2178
  "Back Cover Inside": string
2168
2179
  ".input {$printing :number} {{since the {$printing}. printing}}": string & { __params: { "printing": number } }
2169
2180
  ".input {$printing :number} {{removed in {$printing}. printing}}": string & { __params: { "printing": number } }
2181
+ "Base Value": string
2182
+ "Base {$name} from Race": string & { __params: { "name": StringableTranslationParameter } }
2183
+ "Race Base {$abbreviation}": string & { __params: { "abbreviation": StringableTranslationParameter } }
2184
+ "Primary attribute for the magic user’s Tradition": string
2185
+ "Primary attribute for the Blessed One’s Tradition": string
2170
2186
  }
2171
2187
  }
2172
2188
 
@@ -3286,7 +3302,7 @@ export interface SkillTranslation {
3286
3302
  /**
3287
3303
  * The attributes’ identifiers of the skill check.
3288
3304
  */
3289
- export type SkillCheck = Attribute_ID[]
3305
+ export type SkillCheck = [Attribute_ID, Attribute_ID, Attribute_ID]
3290
3306
 
3291
3307
  /**
3292
3308
  * A base attribute of a character.
@@ -4005,7 +4021,7 @@ export interface AttributeAdjustments {
4005
4021
  *
4006
4022
  * 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
4023
  */
4008
- selectable?: SelectableAttributeAdjustment[]
4024
+ selectable?: [SelectableAttributeAdjustment]
4009
4025
  }
4010
4026
 
4011
4027
  /**
@@ -4228,12 +4244,12 @@ export interface RaceVariant {
4228
4244
  /**
4229
4245
  * An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.
4230
4246
  */
4231
- hair_color?: HairColor_ID[]
4247
+ 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
4248
 
4233
4249
  /**
4234
4250
  * An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.
4235
4251
  */
4236
- eye_color?: EyeColor_ID[]
4252
+ 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
4253
 
4238
4254
  /**
4239
4255
  * Configuration for random height generation.
@@ -6089,7 +6105,7 @@ export interface BlessedTradition {
6089
6105
  /**
6090
6106
  * The tradition’s aspects, if any.
6091
6107
  */
6092
- aspects?: Aspect_ID[]
6108
+ aspects?: [Aspect_ID, Aspect_ID]
6093
6109
 
6094
6110
  /**
6095
6111
  * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
@@ -6188,11 +6204,11 @@ export interface BlessedTraditionTranslation {
6188
6204
  export type RestrictedBlessings =
6189
6205
  | {
6190
6206
  kind: "Three"
6191
- Three: Blessing_ID[]
6207
+ Three: [Blessing_ID, Blessing_ID, Blessing_ID]
6192
6208
  }
6193
6209
  | {
6194
6210
  kind: "Six"
6195
- Six: Blessing_ID[]
6211
+ Six: [Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID]
6196
6212
  }
6197
6213
 
6198
6214
  export interface Blessing {
@@ -6518,23 +6534,23 @@ export type MathOperation<Value> =
6518
6534
  }
6519
6535
  | {
6520
6536
  kind: "Addition"
6521
- Addition: MathOperation<Value>[]
6537
+ Addition: [MathOperation<Value>, MathOperation<Value>]
6522
6538
  }
6523
6539
  | {
6524
6540
  kind: "Subtraction"
6525
- Subtraction: MathOperation<Value>[]
6541
+ Subtraction: [MathOperation<Value>, MathOperation<Value>]
6526
6542
  }
6527
6543
  | {
6528
6544
  kind: "Multiplication"
6529
- Multiplication: MathOperation<Value>[]
6545
+ Multiplication: [MathOperation<Value>, MathOperation<Value>]
6530
6546
  }
6531
6547
  | {
6532
6548
  kind: "Division"
6533
- Division: MathOperation<Value>[]
6549
+ Division: [MathOperation<Value>, MathOperation<Value>]
6534
6550
  }
6535
6551
  | {
6536
6552
  kind: "Exponentiation"
6537
- Exponentiation: MathOperation<Value>[]
6553
+ Exponentiation: [MathOperation<Value>, MathOperation<Value>]
6538
6554
  }
6539
6555
 
6540
6556
  /**
@@ -6747,7 +6763,7 @@ export interface ActivatableSkillEffectForEachQualityLevel {
6747
6763
  /**
6748
6764
  * The list of effects for each quality level. The first element represents QL 1, the second element QL 2, and so on.
6749
6765
  */
6750
- quality_levels: string[]
6766
+ quality_levels: [string, string, string, string, string, string]
6751
6767
 
6752
6768
  /**
6753
6769
  * The effect description after the list of effects for each quality level.
@@ -6764,7 +6780,7 @@ export interface ActivatableSkillEffectForEachTwoQualityLevels {
6764
6780
  /**
6765
6781
  * 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
6782
  */
6767
- quality_levels: string[]
6783
+ quality_levels: [string, string, string]
6768
6784
 
6769
6785
  /**
6770
6786
  * The effect description after the list of effects for each quality level.
@@ -12014,7 +12030,7 @@ export interface CombatStyleSpecialAbility {
12014
12030
  /**
12015
12031
  * 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
12032
  */
12017
- advanced: AdvancedSpecialAbility<AdvancedCombatSpecialAbility_ID>[]
12033
+ advanced: [AdvancedSpecialAbility<AdvancedCombatSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedCombatSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedCombatSpecialAbility_ID>]
12018
12034
 
12019
12035
  prerequisites?: GeneralPrerequisites
12020
12036
 
@@ -12199,7 +12215,7 @@ export interface Patron {
12199
12215
  /**
12200
12216
  * The patron-specific skills.
12201
12217
  */
12202
- skills: Skill_ID[]
12218
+ skills: [Skill_ID, Skill_ID, Skill_ID]
12203
12219
 
12204
12220
  /**
12205
12221
  * 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 +13730,7 @@ export interface LiturgicalStyleSpecialAbility {
13714
13730
  /**
13715
13731
  * 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
13732
  */
13717
- advanced: AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>[]
13733
+ advanced: [AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>]
13718
13734
 
13719
13735
  prerequisites?: GeneralPrerequisites
13720
13736
 
@@ -14053,7 +14069,7 @@ export interface MagicStyleSpecialAbility {
14053
14069
  /**
14054
14070
  * 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
14071
  */
14056
- advanced: AdvancedSpecialAbility<AdvancedMagicalSpecialAbility_ID>[]
14072
+ advanced: [AdvancedSpecialAbility<AdvancedMagicalSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedMagicalSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedMagicalSpecialAbility_ID>]
14057
14073
 
14058
14074
  prerequisites?: GeneralPrerequisites
14059
14075
 
@@ -14977,7 +14993,7 @@ export interface SkillStyleSpecialAbility {
14977
14993
  /**
14978
14994
  * 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
14995
  */
14980
- advanced: AdvancedSpecialAbility<AdvancedSkillSpecialAbility_ID>[]
14996
+ advanced: [AdvancedSpecialAbility<AdvancedSkillSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedSkillSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedSkillSpecialAbility_ID>]
14981
14997
 
14982
14998
  prerequisites?: GeneralPrerequisites
14983
14999
 
@@ -19609,7 +19625,7 @@ export interface ConditionTranslation {
19609
19625
  /**
19610
19626
  * The effects for level 1 to 4.
19611
19627
  */
19612
- effects: string[]
19628
+ effects: [string, string, string, string]
19613
19629
 
19614
19630
  errata?: Errata
19615
19631
  }
@@ -20024,6 +20040,11 @@ export interface DerivedCharacteristic {
20024
20040
  */
20025
20041
  position: number
20026
20042
 
20043
+ /**
20044
+ * Instructions for calculating the derived characteristic’s value.
20045
+ */
20046
+ calculation: DerivedCharacteristicCalculation
20047
+
20027
20048
  prerequisites?: DerivedCharacteristicPrerequisites
20028
20049
 
20029
20050
  /**
@@ -20061,6 +20082,139 @@ export interface DerivedCharacteristicTranslation {
20061
20082
  calculation?: CalculationTranslation
20062
20083
  }
20063
20084
 
20085
+ export interface DerivedCharacteristicCalculation {
20086
+ /**
20087
+ * The base value for the calculation.
20088
+ */
20089
+ base: DerivedCharacteristicBase
20090
+
20091
+ /**
20092
+ * A list of modifiers that are applied to the base value. The modifiers are applied in the order they appear in the list.
20093
+ */
20094
+ modifiers?: DerivedCharacteristicModifier[]
20095
+
20096
+ /**
20097
+ * If set, the derived characteristic can be improved by spending AP.
20098
+ *
20099
+ * 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.
20100
+ */
20101
+ purchasable?: DerivedCharacteristicPurchase
20102
+
20103
+ /**
20104
+ * 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.
20105
+ */
20106
+ permanentLoss?: DerivedCharacteristicPermanentLoss
20107
+ }
20108
+
20109
+ export type DerivedCharacteristicBase = MathOperation<DerivedCharacteristicBaseValue>
20110
+
20111
+ export type DerivedCharacteristicBaseValue =
20112
+ | {
20113
+ kind: "Constant"
20114
+ Constant: number
20115
+ }
20116
+ | {
20117
+ kind: "Attribute"
20118
+ Attribute: Attribute_ID
20119
+ }
20120
+ | {
20121
+ kind: "RaceBaseValue"
20122
+ RaceBaseValue: DerivedCharacteristicRaceBaseValue
20123
+ }
20124
+ | {
20125
+ kind: "PrimaryAttribute"
20126
+ PrimaryAttribute: DerivedCharacteristicPrimaryAttributeValue
20127
+ }
20128
+
20129
+ export type DerivedCharacteristicRaceBaseValue =
20130
+ | {
20131
+ kind: "LifePoints"
20132
+ }
20133
+ | {
20134
+ kind: "Spirit"
20135
+ }
20136
+ | {
20137
+ kind: "Toughness"
20138
+ }
20139
+ | {
20140
+ kind: "Movement"
20141
+ }
20142
+
20143
+ export type DerivedCharacteristicPrimaryAttributeValue =
20144
+ | {
20145
+ kind: "Magical"
20146
+ }
20147
+ | {
20148
+ kind: "Blessed"
20149
+ }
20150
+
20151
+ export interface DerivedCharacteristicModifier {
20152
+ /**
20153
+ * The entry that, when active, causes the modifier.
20154
+ */
20155
+ source: DerivedCharacteristicModifierPrerequisiteGroup
20156
+
20157
+ /**
20158
+ * The mathematical operation that modifies the base value. The previous result is on the left side.
20159
+ */
20160
+ operation: DerivedCharacteristicModifierOperation
20161
+
20162
+ /**
20163
+ * 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.
20164
+ */
20165
+ value: number
20166
+ }
20167
+
20168
+ export type DerivedCharacteristicModifierPrerequisiteGroup =
20169
+ | {
20170
+ kind: "Rule"
20171
+ Rule: RulePrerequisite
20172
+ }
20173
+ | {
20174
+ kind: "Activatable"
20175
+ Activatable: ActivatablePrerequisite
20176
+ }
20177
+
20178
+ export type DerivedCharacteristicModifierOperation =
20179
+ | {
20180
+ kind: "Addition"
20181
+ }
20182
+ | {
20183
+ kind: "Subtraction"
20184
+ }
20185
+ | {
20186
+ kind: "Multiplication"
20187
+ }
20188
+ | {
20189
+ kind: "Division"
20190
+ }
20191
+
20192
+ export interface DerivedCharacteristicPurchase {
20193
+ /**
20194
+ * The cost for improving the derived characteristic by one.
20195
+ */
20196
+ improvementCost: ImprovementCost
20197
+
20198
+ /**
20199
+ * The maximum value that can be achieved for the derived characteristic through improvements.
20200
+ */
20201
+ maximum: DerivedCharacteristicBase
20202
+ }
20203
+
20204
+ export interface DerivedCharacteristicPermanentLoss {
20205
+ /**
20206
+ * If set, permanent losses to the derived characteristic can be bought back for the specified cost.
20207
+ */
20208
+ canBeBoughtBack?: DerivedCharacteristicBuyBack
20209
+ }
20210
+
20211
+ export interface DerivedCharacteristicBuyBack {
20212
+ /**
20213
+ * The AP cost for buying back one point.
20214
+ */
20215
+ cost: number
20216
+ }
20217
+
20064
20218
  export type DerivedCharacteristicPrerequisites = PlainPrerequisites<DerivedCharacteristicPrerequisiteGroup>
20065
20219
 
20066
20220
  export type DerivedCharacteristicPrerequisiteGroup =
@@ -20068,6 +20222,14 @@ export type DerivedCharacteristicPrerequisiteGroup =
20068
20222
  kind: "Rule"
20069
20223
  Rule: RulePrerequisite
20070
20224
  }
20225
+ | {
20226
+ kind: "BlessedTradition"
20227
+ BlessedTradition: BlessedTraditionPrerequisite
20228
+ }
20229
+ | {
20230
+ kind: "MagicalTradition"
20231
+ MagicalTradition: MagicalTraditionPrerequisite
20232
+ }
20071
20233
 
20072
20234
  export interface CalculationTranslation {
20073
20235
  /**
@@ -20269,7 +20431,7 @@ export interface ElixirTranslationTranslation {
20269
20431
  /**
20270
20432
  * The list of effects for each quality level. The first element represents QL 1, the second element QL 2, and so on.
20271
20433
  */
20272
- quality_levels: string[]
20434
+ quality_levels: [string, string, string, string, string, string]
20273
20435
 
20274
20436
  errata?: Errata
20275
20437
  }
@@ -22576,7 +22738,7 @@ export interface MetaConditionTranslation {
22576
22738
  /**
22577
22739
  * The effects for level 1 to 4.
22578
22740
  */
22579
- effects: string[]
22741
+ effects: [string, string, string, string]
22580
22742
 
22581
22743
  errata?: Errata
22582
22744
  }
@@ -46,8 +46,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
46
46
  prerequisites: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"LanguagesSelectOptionCategoryPrerequisite", {
47
47
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
48
48
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
49
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
50
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
51
49
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
52
50
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
53
51
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -99,6 +97,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
99
97
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
100
98
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
101
99
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
100
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
101
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
102
102
  }, []>>, true>;
103
103
  active: DB.MemberDecl<DB.Boolean, true>;
104
104
  level: DB.MemberDecl<DB.Integer, false>;
@@ -134,8 +134,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
134
134
  }>, []>>>;
135
135
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
136
136
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
137
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
138
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
139
137
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
140
138
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
141
139
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -187,6 +185,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
187
185
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
188
186
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
189
187
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
188
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
189
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
190
190
  }, []>>, true>;
191
191
  active: DB.MemberDecl<DB.Boolean, true>;
192
192
  level: DB.MemberDecl<DB.Integer, false>;
@@ -220,8 +220,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
220
220
  }>, []>>>;
221
221
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
222
222
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
223
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
224
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
225
223
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
226
224
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
227
225
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -273,6 +271,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
273
271
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
274
272
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
275
273
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
274
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
275
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
276
276
  }, []>>, true>;
277
277
  active: DB.MemberDecl<DB.Boolean, true>;
278
278
  level: DB.MemberDecl<DB.Integer, false>;
@@ -293,8 +293,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
293
293
  }>, []>>>;
294
294
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
295
295
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
296
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
297
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
298
296
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
299
297
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
300
298
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -346,6 +344,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
346
344
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
347
345
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
348
346
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
347
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
348
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
349
349
  }, []>>, true>;
350
350
  active: DB.MemberDecl<DB.Boolean, true>;
351
351
  level: DB.MemberDecl<DB.Integer, false>;
@@ -366,8 +366,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
366
366
  }>, []>>>;
367
367
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
368
368
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
369
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
370
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
371
369
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
372
370
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
373
371
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -419,6 +417,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
419
417
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
420
418
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
421
419
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
420
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
421
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
422
422
  }, []>>, true>;
423
423
  active: DB.MemberDecl<DB.Boolean, true>;
424
424
  level: DB.MemberDecl<DB.Integer, false>;
@@ -439,8 +439,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
439
439
  }>, []>>>;
440
440
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
441
441
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
442
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
443
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
444
442
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
445
443
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
446
444
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -492,6 +490,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
492
490
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
493
491
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
494
492
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
493
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
494
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
495
495
  }, []>>, true>;
496
496
  active: DB.MemberDecl<DB.Boolean, true>;
497
497
  level: DB.MemberDecl<DB.Integer, false>;
@@ -529,8 +529,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
529
529
  }>, []>>>;
530
530
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
531
531
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
532
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
533
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
534
532
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
535
533
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
536
534
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -582,6 +580,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
582
580
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
583
581
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
584
582
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
583
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
584
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
585
585
  }, []>>, true>;
586
586
  active: DB.MemberDecl<DB.Boolean, true>;
587
587
  level: DB.MemberDecl<DB.Integer, false>;
@@ -602,8 +602,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
602
602
  }>, []>>>;
603
603
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
604
604
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
605
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
606
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
607
605
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
608
606
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
609
607
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -655,6 +653,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
655
653
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
656
654
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
657
655
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
656
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
657
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
658
658
  }, []>>, true>;
659
659
  active: DB.MemberDecl<DB.Boolean, true>;
660
660
  level: DB.MemberDecl<DB.Integer, false>;
@@ -695,8 +695,7 @@ export declare const Advantage: DB.Entity<"Advantage", {
695
695
  }>, []>>, false>;
696
696
  explicit_select_options: DB.MemberDecl<DB.ChildEntities<DB.Entity<"GeneralSelectOption", {
697
697
  parent: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionParentIdentifier", {
698
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
699
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
698
+ TradeSecret: DB.EnumCase<DB.ReferenceIdentifier>;
700
699
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
701
700
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
702
701
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -748,7 +747,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
748
747
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
749
748
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
750
749
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
751
- TradeSecret: DB.EnumCase<DB.ReferenceIdentifier>;
750
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
751
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
752
752
  }, []>>, true>;
753
753
  profession_only: DB.MemberDecl<DB.Boolean, false>;
754
754
  skill_applications: DB.MemberDecl<DB.ChildEntities<DB.Entity<"NewSkillApplication", {
@@ -955,8 +955,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
955
955
  }>, []>>>;
956
956
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedAutomaticEntryTarget", DB.Object<{
957
957
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
958
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
959
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
960
958
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
961
959
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
962
960
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -1008,6 +1006,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
1008
1006
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
1009
1007
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1010
1008
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1009
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
1010
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
1011
1011
  }, []>>, true>;
1012
1012
  level: DB.MemberDecl<DB.Integer, false>;
1013
1013
  }>, []>>>;
@@ -1060,8 +1060,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
1060
1060
  }>, []>>>;
1061
1061
  DependingOnActive: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsDependingOnActive", DB.Object<{
1062
1062
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
1063
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
1064
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
1065
1063
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1066
1064
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1067
1065
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -1113,6 +1111,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
1113
1111
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
1114
1112
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1115
1113
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1114
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
1115
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
1116
1116
  }, []>>, true>;
1117
1117
  active: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsSingleValue", DB.Integer, []>>, true>;
1118
1118
  inactive: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsSingleValue", DB.Integer, []>>, true>;