@optolith/database-schema 0.50.0 → 0.51.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 (117) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/gen/types.d.ts +689 -53
  3. package/lib/cache/activatableSelectOptions.js +3 -0
  4. package/lib/main.js +6 -0
  5. package/lib/types/Advantage.d.ts +33 -0
  6. package/lib/types/Blessing.d.ts +1 -0
  7. package/lib/types/Cantrip.d.ts +1 -0
  8. package/lib/types/Ceremony.d.ts +6 -0
  9. package/lib/types/DerivedCharacteristic.d.ts +3 -0
  10. package/lib/types/Disadvantage.d.ts +30 -0
  11. package/lib/types/FamiliarsTrick.d.ts +4 -0
  12. package/lib/types/LiturgicalChant.d.ts +6 -0
  13. package/lib/types/Locale.d.ts +6 -0
  14. package/lib/types/Locale.js +6 -0
  15. package/lib/types/Profession.d.ts +42 -0
  16. package/lib/types/Ritual.d.ts +6 -0
  17. package/lib/types/Spell.d.ts +6 -0
  18. package/lib/types/Talisman.d.ts +1 -0
  19. package/lib/types/_ActivatableAdventurePointsValue.d.ts +6 -0
  20. package/lib/types/_ActivatableAutomatic.d.ts +3 -0
  21. package/lib/types/_ActivatableNonMundane.d.ts +6 -0
  22. package/lib/types/_ActivatableSelectOptionCategory.d.ts +48 -0
  23. package/lib/types/_ActivatableSelectOptions.d.ts +30 -0
  24. package/lib/types/_ActivatableSkill.d.ts +14 -0
  25. package/lib/types/_ActivatableSkillCost.d.ts +5 -0
  26. package/lib/types/_ActivatableSkillDuration.d.ts +7 -0
  27. package/lib/types/_ActivatableSkillDuration.js +1 -0
  28. package/lib/types/_Identifier.d.ts +6 -0
  29. package/lib/types/_Identifier.js +12 -0
  30. package/lib/types/_IdentifierGroup.d.ts +12 -0
  31. package/lib/types/_IdentifierGroup.js +4 -1
  32. package/lib/types/equipment/item/HerbalAid.d.ts +27 -0
  33. package/lib/types/equipment/item/HerbalAid.js +5 -1
  34. package/lib/types/equipment/item/HerbalPreservation.d.ts +111 -0
  35. package/lib/types/equipment/item/HerbalPreservation.js +78 -0
  36. package/lib/types/equipment/item/Plant.d.ts +36 -4
  37. package/lib/types/equipment/item/Plant.js +69 -7
  38. package/lib/types/equipment/item/sub/Biome.d.ts +12 -0
  39. package/lib/types/equipment/item/sub/Biome.js +4 -0
  40. package/lib/types/equipment/item/sub/BotanicRegion.d.ts +7 -0
  41. package/lib/types/equipment/item/sub/BotanicRegion.js +27 -0
  42. package/lib/types/equipment/item/sub/SubBiome.d.ts +13 -0
  43. package/lib/types/equipment/item/sub/SubBiome.js +31 -0
  44. package/lib/types/index.d.ts +6 -0
  45. package/lib/types/index.js +6 -0
  46. package/lib/types/magicalActions/AnimistPower.d.ts +5 -0
  47. package/lib/types/magicalActions/Bannzeichen.d.ts +2 -0
  48. package/lib/types/magicalActions/Curse.d.ts +2 -0
  49. package/lib/types/magicalActions/DominationRitual.d.ts +2 -0
  50. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +1 -0
  51. package/lib/types/magicalActions/GeodeRitual.d.ts +1 -0
  52. package/lib/types/magicalActions/GoblinRitual.d.ts +2 -0
  53. package/lib/types/magicalActions/JesterTrick.d.ts +3 -0
  54. package/lib/types/magicalActions/MagicalMelody.d.ts +1 -0
  55. package/lib/types/magicalActions/MagicalRune.d.ts +2 -0
  56. package/lib/types/magicalActions/ZibiljaRitual.d.ts +2 -0
  57. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +21 -0
  58. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +3 -0
  59. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +30 -0
  60. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +30 -0
  61. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +30 -0
  62. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +30 -0
  63. package/lib/types/specialAbility/AncestorGlyph.d.ts +30 -0
  64. package/lib/types/specialAbility/BlessedTradition.d.ts +31 -0
  65. package/lib/types/specialAbility/BlessedTradition.js +4 -0
  66. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +30 -0
  67. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +30 -0
  68. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +30 -0
  69. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +30 -0
  70. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +30 -0
  71. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +30 -0
  72. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +30 -0
  73. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +30 -0
  74. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +30 -0
  75. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +30 -0
  76. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +30 -0
  77. package/lib/types/specialAbility/LycantropicGift.d.ts +30 -0
  78. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +30 -0
  79. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +30 -0
  80. package/lib/types/specialAbility/MagicalTradition.d.ts +30 -0
  81. package/lib/types/specialAbility/PactGift.d.ts +33 -0
  82. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +30 -0
  83. package/lib/types/specialAbility/Sermon.d.ts +30 -0
  84. package/lib/types/specialAbility/SexSpecialAbility.d.ts +30 -0
  85. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +30 -0
  86. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +30 -0
  87. package/lib/types/specialAbility/VampiricGift.d.ts +30 -0
  88. package/lib/types/specialAbility/Vision.d.ts +30 -0
  89. package/lib/types/specialAbility/sub/TradeSecret.d.ts +27 -0
  90. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +33 -0
  91. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +33 -0
  92. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +33 -0
  93. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +33 -0
  94. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +33 -0
  95. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +33 -0
  96. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +33 -0
  97. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +33 -0
  98. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +33 -0
  99. package/lib/types/traditionArtifacts/Hauerkettenzauber.d.ts +408 -0
  100. package/lib/types/traditionArtifacts/Hauerkettenzauber.js +34 -0
  101. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +33 -0
  102. package/lib/types/traditionArtifacts/Keulenzauber.d.ts +408 -0
  103. package/lib/types/traditionArtifacts/Keulenzauber.js +35 -0
  104. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +33 -0
  105. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +33 -0
  106. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +33 -0
  107. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +33 -0
  108. package/lib/types/traditionArtifacts/Schweinetrommelzauber.d.ts +408 -0
  109. package/lib/types/traditionArtifacts/Schweinetrommelzauber.js +34 -0
  110. package/lib/types/traditionArtifacts/SickleRitual.d.ts +33 -0
  111. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +33 -0
  112. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +33 -0
  113. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +33 -0
  114. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +33 -0
  115. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +33 -0
  116. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +33 -0
  117. package/package.json +1 -1
package/gen/types.d.ts CHANGED
@@ -33,6 +33,7 @@ export type EntityMap = {
33
33
  BlessedTradition: BlessedTradition
34
34
  Blessing: Blessing
35
35
  Book: Book
36
+ BotanicRegion: BotanicRegion
36
37
  BowlEnchantment: BowlEnchantment
37
38
  BrawlingSpecialAbility: BrawlingSpecialAbility
38
39
  Brew: Brew
@@ -82,7 +83,9 @@ export type EntityMap = {
82
83
  Guideline: Guideline
83
84
  HairColor: HairColor
84
85
  Haubenzauber: Haubenzauber
86
+ Hauerkettenzauber: Hauerkettenzauber
85
87
  HerbalAid: HerbalAid
88
+ HerbalPreservation: HerbalPreservation
86
89
  HomunculusType: HomunculusType
87
90
  IlluminationLightSource: IlluminationLightSource
88
91
  IlluminationRefillOrSupply: IlluminationRefillOrSupply
@@ -91,6 +94,7 @@ export type EntityMap = {
91
94
  JesterTrick: JesterTrick
92
95
  Jewelry: Jewelry
93
96
  KarmaSpecialAbility: KarmaSpecialAbility
97
+ Keulenzauber: Keulenzauber
94
98
  Krallenkettenzauber: Krallenkettenzauber
95
99
  Kristallkugelzauber: Kristallkugelzauber
96
100
  Laboratory: Laboratory
@@ -144,6 +148,7 @@ export type EntityMap = {
144
148
  RingEnchantment: RingEnchantment
145
149
  Ritual: Ritual
146
150
  RopeOrChain: RopeOrChain
151
+ Schweinetrommelzauber: Schweinetrommelzauber
147
152
  Script: Script
148
153
  Sermon: Sermon
149
154
  Service: Service
@@ -163,6 +168,7 @@ export type EntityMap = {
163
168
  StaffEnchantment: StaffEnchantment
164
169
  State: State
165
170
  Stationery: Stationery
171
+ SubBiome: SubBiome
166
172
  Subject: Subject
167
173
  Talisman: Talisman
168
174
  TargetCategory: TargetCategory
@@ -186,6 +192,7 @@ export type EntityMap = {
186
192
 
187
193
  export type ChildEntityMap = {
188
194
  BannzeichenOption: [BannzeichenOption, "parent", BannzeichenOption["parent"]]
195
+ BotanicRegion: [BotanicRegion, "parent", BotanicRegion["parent"]]
189
196
  Enhancement: [Enhancement, "parent", Enhancement["parent"]]
190
197
  GeneralSelectOption: [GeneralSelectOption, "parent", GeneralSelectOption["parent"]]
191
198
  LanguageSpecialization: [LanguageSpecialization, "parent", LanguageSpecialization["parent"]]
@@ -200,6 +207,7 @@ export type ChildEntityMap = {
200
207
  RaceVariant: [RaceVariant, "race", RaceVariant["race"]]
201
208
  SkillApplication: [SkillApplication, "parent", SkillApplication["parent"]]
202
209
  SkillUse: [SkillUse, "parent", SkillUse["parent"]]
210
+ SubBiome: [SubBiome, "parent", SubBiome["parent"]]
203
211
  }
204
212
 
205
213
  export type EnumMap = {
@@ -322,6 +330,7 @@ export type EnumMap = {
322
330
  GoblinRitualRangeValue: GoblinRitualRangeValue
323
331
  GradientColor: GradientColor
324
332
  HerbalAidCombatUse: HerbalAidCombatUse
333
+ HerbalPreservationLongevityValue: HerbalPreservationLongevityValue
325
334
  HitZone: HitZone
326
335
  ImprovementCost: ImprovementCost
327
336
  IndefiniteArcaneEnergyCostModifierArithmetic: IndefiniteArcaneEnergyCostModifierArithmetic
@@ -370,6 +379,9 @@ export type EnumMap = {
370
379
  PenaltyByAttackReplacement: PenaltyByAttackReplacement
371
380
  PenaltySelectionOptions: PenaltySelectionOptions
372
381
  PersonalityTraitPrerequisiteGroup: PersonalityTraitPrerequisiteGroup
382
+ PlantApplications: PlantApplications
383
+ PlantDifficulty: PlantDifficulty
384
+ PlantOccurrenceTier: PlantOccurrenceTier
373
385
  PlantPrice: PlantPrice
374
386
  PlantRarity: PlantRarity
375
387
  PlantRecipe: PlantRecipe
@@ -654,6 +666,8 @@ export type TypeAliasMap = {
654
666
  HeadHitZone: HeadHitZone
655
667
  HeadHitZoneCombinationPossibilities: HeadHitZoneCombinationPossibilities
656
668
  HerbalAidRecipe: HerbalAidRecipe
669
+ HerbalPreservationLongevity: HerbalPreservationLongevity
670
+ HerbalPreservationLongevityExpression: HerbalPreservationLongevityExpression
657
671
  Immediate: Immediate
658
672
  ImprovisedWeapon: ImprovisedWeapon
659
673
  IndefiniteArcaneEnergyCost: IndefiniteArcaneEnergyCost
@@ -667,6 +681,7 @@ export type TypeAliasMap = {
667
681
  IndefiniteFamiliarsTrickProperty: IndefiniteFamiliarsTrickProperty
668
682
  IndefiniteMagicalDanceCost: IndefiniteMagicalDanceCost
669
683
  IndefiniteOneTimeCost: IndefiniteOneTimeCost
684
+ IndefinitePlantDescription: IndefinitePlantDescription
670
685
  IndefinitePlantPrice: IndefinitePlantPrice
671
686
  IndefinitePoisonCost: IndefinitePoisonCost
672
687
  IndefinitePoisonTime: IndefinitePoisonTime
@@ -760,6 +775,7 @@ export type TypeAliasMap = {
760
775
  PlainGeneralPrerequisites: PlainGeneralPrerequisites
761
776
  PlainPrerequisites: PlainPrerequisites<unknown>
762
777
  PlantEffect: PlantEffect
778
+ PlantLongevity: PlantLongevity
763
779
  PlantOccurences: PlantOccurences
764
780
  PlantOccurrence: PlantOccurrence
765
781
  PlantPoison: PlantPoison
@@ -2008,6 +2024,12 @@ export interface Locale {
2008
2024
  ".input {$value :number} .input {$style :string} {{{$value} years}}": string & { __params: { "value": number; "style": string } }
2009
2025
  "{$value} years": string & { __params: { "value": StringableTranslationParameter } }
2010
2026
  "years": string
2027
+ ".input {$value :number} .input {$style :string} {{{$value} dcs.}}": string & { __params: { "value": number; "style": string } }
2028
+ "{$value} dcs.": string & { __params: { "value": StringableTranslationParameter } }
2029
+ "dcs.": string
2030
+ ".input {$value :number} .input {$style :string} {{{$value} decades}}": string & { __params: { "value": number; "style": string } }
2031
+ "{$value} decades": string & { __params: { "value": StringableTranslationParameter } }
2032
+ "decades": string
2011
2033
  ".input {$value :number} .input {$style :string} {{{$value} cent.}}": string & { __params: { "value": number; "style": string } }
2012
2034
  "{$value} cent.": string & { __params: { "value": StringableTranslationParameter } }
2013
2035
  "cent.": string
@@ -2847,6 +2869,10 @@ export type ActivatableIdentifier =
2847
2869
  kind: "Haubenzauber"
2848
2870
  Haubenzauber: Haubenzauber_ID
2849
2871
  }
2872
+ | {
2873
+ kind: "Hauerkettenzauber"
2874
+ Hauerkettenzauber: Hauerkettenzauber_ID
2875
+ }
2850
2876
  | {
2851
2877
  kind: "InstrumentEnchantment"
2852
2878
  InstrumentEnchantment: InstrumentEnchantment_ID
@@ -2855,6 +2881,10 @@ export type ActivatableIdentifier =
2855
2881
  kind: "KarmaSpecialAbility"
2856
2882
  KarmaSpecialAbility: KarmaSpecialAbility_ID
2857
2883
  }
2884
+ | {
2885
+ kind: "Keulenzauber"
2886
+ Keulenzauber: Keulenzauber_ID
2887
+ }
2858
2888
  | {
2859
2889
  kind: "Krallenkettenzauber"
2860
2890
  Krallenkettenzauber: Krallenkettenzauber_ID
@@ -2903,6 +2933,10 @@ export type ActivatableIdentifier =
2903
2933
  kind: "RingEnchantment"
2904
2934
  RingEnchantment: RingEnchantment_ID
2905
2935
  }
2936
+ | {
2937
+ kind: "Schweinetrommelzauber"
2938
+ Schweinetrommelzauber: Schweinetrommelzauber_ID
2939
+ }
2906
2940
  | {
2907
2941
  kind: "Sermon"
2908
2942
  Sermon: Sermon_ID
@@ -3235,6 +3269,10 @@ export type SelectOptionParentIdentifier =
3235
3269
  kind: "Haubenzauber"
3236
3270
  Haubenzauber: Haubenzauber_ID
3237
3271
  }
3272
+ | {
3273
+ kind: "Hauerkettenzauber"
3274
+ Hauerkettenzauber: Hauerkettenzauber_ID
3275
+ }
3238
3276
  | {
3239
3277
  kind: "InstrumentEnchantment"
3240
3278
  InstrumentEnchantment: InstrumentEnchantment_ID
@@ -3243,6 +3281,10 @@ export type SelectOptionParentIdentifier =
3243
3281
  kind: "KarmaSpecialAbility"
3244
3282
  KarmaSpecialAbility: KarmaSpecialAbility_ID
3245
3283
  }
3284
+ | {
3285
+ kind: "Keulenzauber"
3286
+ Keulenzauber: Keulenzauber_ID
3287
+ }
3246
3288
  | {
3247
3289
  kind: "Krallenkettenzauber"
3248
3290
  Krallenkettenzauber: Krallenkettenzauber_ID
@@ -3291,6 +3333,10 @@ export type SelectOptionParentIdentifier =
3291
3333
  kind: "RingEnchantment"
3292
3334
  RingEnchantment: RingEnchantment_ID
3293
3335
  }
3336
+ | {
3337
+ kind: "Schweinetrommelzauber"
3338
+ Schweinetrommelzauber: Schweinetrommelzauber_ID
3339
+ }
3294
3340
  | {
3295
3341
  kind: "Sermon"
3296
3342
  Sermon: Sermon_ID
@@ -7003,6 +7049,9 @@ export type DurationUnit =
7003
7049
  | {
7004
7050
  kind: "Years"
7005
7051
  }
7052
+ | {
7053
+ kind: "Decades"
7054
+ }
7006
7055
  | {
7007
7056
  kind: "Centuries"
7008
7057
  }
@@ -7403,6 +7452,11 @@ export interface BlessedTradition {
7403
7452
  */
7404
7453
  aspects?: [Aspect_ID, Aspect_ID]
7405
7454
 
7455
+ /**
7456
+ * The tradition’s primary blessing. Leave empty if the tradition does not have one.
7457
+ */
7458
+ primaryBlessing?: Blessing_ID
7459
+
7406
7460
  /**
7407
7461
  * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
7408
7462
  */
@@ -7499,19 +7553,6 @@ export interface BlessedTraditionTranslation {
7499
7553
  errata?: Errata
7500
7554
  }
7501
7555
 
7502
- /**
7503
- * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
7504
- */
7505
- export type RestrictedBlessings =
7506
- | {
7507
- kind: "Three"
7508
- Three: [Blessing_ID, Blessing_ID, Blessing_ID]
7509
- }
7510
- | {
7511
- kind: "Six"
7512
- Six: [Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID]
7513
- }
7514
-
7515
7556
  export interface Blessing {
7516
7557
  /**
7517
7558
  * Measurable parameters of a blessing.
@@ -7644,6 +7685,19 @@ export interface IndefiniteBlessingDurationTranslation {
7644
7685
  description: string
7645
7686
  }
7646
7687
 
7688
+ /**
7689
+ * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
7690
+ */
7691
+ export type RestrictedBlessings =
7692
+ | {
7693
+ kind: "Three"
7694
+ Three: [Blessing_ID, Blessing_ID, Blessing_ID]
7695
+ }
7696
+ | {
7697
+ kind: "Six"
7698
+ Six: [Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID]
7699
+ }
7700
+
7647
7701
  export type FavoredCombatTechniques =
7648
7702
  | {
7649
7703
  kind: "All"
@@ -10106,6 +10160,10 @@ export type ProfessionSpecialAbilityIdentifier =
10106
10160
  kind: "Haubenzauber"
10107
10161
  Haubenzauber: Haubenzauber_ID
10108
10162
  }
10163
+ | {
10164
+ kind: "Hauerkettenzauber"
10165
+ Hauerkettenzauber: Hauerkettenzauber_ID
10166
+ }
10109
10167
  | {
10110
10168
  kind: "InstrumentEnchantment"
10111
10169
  InstrumentEnchantment: InstrumentEnchantment_ID
@@ -10114,6 +10172,10 @@ export type ProfessionSpecialAbilityIdentifier =
10114
10172
  kind: "KarmaSpecialAbility"
10115
10173
  KarmaSpecialAbility: KarmaSpecialAbility_ID
10116
10174
  }
10175
+ | {
10176
+ kind: "Keulenzauber"
10177
+ Keulenzauber: Keulenzauber_ID
10178
+ }
10117
10179
  | {
10118
10180
  kind: "Krallenkettenzauber"
10119
10181
  Krallenkettenzauber: Krallenkettenzauber_ID
@@ -10162,6 +10224,10 @@ export type ProfessionSpecialAbilityIdentifier =
10162
10224
  kind: "RingEnchantment"
10163
10225
  RingEnchantment: RingEnchantment_ID
10164
10226
  }
10227
+ | {
10228
+ kind: "Schweinetrommelzauber"
10229
+ Schweinetrommelzauber: Schweinetrommelzauber_ID
10230
+ }
10165
10231
  | {
10166
10232
  kind: "Sermon"
10167
10233
  Sermon: Sermon_ID
@@ -14585,6 +14651,122 @@ export interface HaubenzauberTranslation {
14585
14651
  errata?: Errata
14586
14652
  }
14587
14653
 
14654
+ export interface Hauerkettenzauber {
14655
+ /**
14656
+ * Number of available levels.
14657
+ */
14658
+ levels?: number
14659
+
14660
+ /**
14661
+ * Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
14662
+ */
14663
+ nameBuilderRules?: ActivatableNameBuilderRules
14664
+
14665
+ /**
14666
+ * The number stating how often you can buy the entry. The **default** depends on the entry type:
14667
+ *
14668
+ * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
14669
+ * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
14670
+ * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
14671
+ *
14672
+ * The maximum is only set if it differs from the defaults specified above.
14673
+ */
14674
+ maximum?: number
14675
+
14676
+ prerequisites?: GeneralPrerequisites
14677
+
14678
+ /**
14679
+ * The volume points the enchantment needs.
14680
+ */
14681
+ volume: Volume
14682
+
14683
+ /**
14684
+ * The cost when casting the entry.
14685
+ */
14686
+ cost?: EnchantmentCost
14687
+
14688
+ /**
14689
+ * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
14690
+ */
14691
+ property: PropertyDeclaration
14692
+
14693
+ /**
14694
+ * The adventure points value.
14695
+ */
14696
+ ap_value: AdventurePointsValue
14697
+
14698
+ /**
14699
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
14700
+ */
14701
+ src: PublicationRefs
14702
+
14703
+ /**
14704
+ * All translations for the entry, identified by IETF language tag (BCP47).
14705
+ */
14706
+ translations: {
14707
+ [localeId: string]: HauerkettenzauberTranslation
14708
+ }
14709
+ }
14710
+
14711
+ /**
14712
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
14713
+ */
14714
+ export type Hauerkettenzauber_ID = string
14715
+
14716
+ export interface HauerkettenzauberTranslation {
14717
+ /**
14718
+ * Name of the activatable entry.
14719
+ */
14720
+ name: string
14721
+
14722
+ /**
14723
+ * 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.
14724
+ */
14725
+ name_in_library?: string
14726
+
14727
+ /**
14728
+ * The effect description.
14729
+ */
14730
+ effect: string
14731
+
14732
+ /**
14733
+ * A note, appended to the generated cost string in parenthesis.
14734
+ */
14735
+ cost_note?: ResponsiveTextOptional
14736
+
14737
+ /**
14738
+ * The binding cost for an enchantment.
14739
+ * @deprecated
14740
+ */
14741
+ bindingCost?: string
14742
+
14743
+ /**
14744
+ * The AE cost.
14745
+ * @deprecated
14746
+ */
14747
+ aeCost?: string
14748
+
14749
+ /**
14750
+ * The volume points the enchantment needs.
14751
+ * @deprecated
14752
+ */
14753
+ volume?: string
14754
+
14755
+ /**
14756
+ * The string to append to the generated AP value text.
14757
+ * @deprecated
14758
+ */
14759
+ ap_value_append?: string
14760
+
14761
+ /**
14762
+ * The adventure points value.
14763
+ * @deprecated
14764
+ */
14765
+ ap_value?: string
14766
+
14767
+ errata?: Errata
14768
+ }
14769
+
14588
14770
  export interface InstrumentEnchantment {
14589
14771
  /**
14590
14772
  * Number of available levels.
@@ -14793,7 +14975,7 @@ export interface KarmaSpecialAbilityTranslation {
14793
14975
  errata?: Errata
14794
14976
  }
14795
14977
 
14796
- export interface Krallenkettenzauber {
14978
+ export interface Keulenzauber {
14797
14979
  /**
14798
14980
  * Number of available levels.
14799
14981
  */
@@ -14804,13 +14986,6 @@ export interface Krallenkettenzauber {
14804
14986
  */
14805
14987
  nameBuilderRules?: ActivatableNameBuilderRules
14806
14988
 
14807
- /**
14808
- * Definitions for possible options for the activatable entry, derived from entry categories.
14809
- *
14810
- * 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.
14811
- */
14812
- select_options?: SelectOptions
14813
-
14814
14989
  /**
14815
14990
  * The number stating how often you can buy the entry. The **default** depends on the entry type:
14816
14991
  *
@@ -14853,16 +15028,16 @@ export interface Krallenkettenzauber {
14853
15028
  * All translations for the entry, identified by IETF language tag (BCP47).
14854
15029
  */
14855
15030
  translations: {
14856
- [localeId: string]: KrallenkettenzauberTranslation
15031
+ [localeId: string]: KeulenzauberTranslation
14857
15032
  }
14858
15033
  }
14859
15034
 
14860
15035
  /**
14861
15036
  * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
14862
15037
  */
14863
- export type Krallenkettenzauber_ID = string
15038
+ export type Keulenzauber_ID = string
14864
15039
 
14865
- export interface KrallenkettenzauberTranslation {
15040
+ export interface KeulenzauberTranslation {
14866
15041
  /**
14867
15042
  * Name of the activatable entry.
14868
15043
  */
@@ -14916,7 +15091,7 @@ export interface KrallenkettenzauberTranslation {
14916
15091
  errata?: Errata
14917
15092
  }
14918
15093
 
14919
- export interface Kristallkugelzauber {
15094
+ export interface Krallenkettenzauber {
14920
15095
  /**
14921
15096
  * Number of available levels.
14922
15097
  */
@@ -14976,16 +15151,16 @@ export interface Kristallkugelzauber {
14976
15151
  * All translations for the entry, identified by IETF language tag (BCP47).
14977
15152
  */
14978
15153
  translations: {
14979
- [localeId: string]: KristallkugelzauberTranslation
15154
+ [localeId: string]: KrallenkettenzauberTranslation
14980
15155
  }
14981
15156
  }
14982
15157
 
14983
15158
  /**
14984
15159
  * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
14985
15160
  */
14986
- export type Kristallkugelzauber_ID = string
15161
+ export type Krallenkettenzauber_ID = string
14987
15162
 
14988
- export interface KristallkugelzauberTranslation {
15163
+ export interface KrallenkettenzauberTranslation {
14989
15164
  /**
14990
15165
  * Name of the activatable entry.
14991
15166
  */
@@ -15039,7 +15214,7 @@ export interface KristallkugelzauberTranslation {
15039
15214
  errata?: Errata
15040
15215
  }
15041
15216
 
15042
- export interface LiturgicalStyleSpecialAbility {
15217
+ export interface Kristallkugelzauber {
15043
15218
  /**
15044
15219
  * Number of available levels.
15045
15220
  */
@@ -15068,12 +15243,22 @@ export interface LiturgicalStyleSpecialAbility {
15068
15243
  */
15069
15244
  maximum?: number
15070
15245
 
15246
+ prerequisites?: GeneralPrerequisites
15247
+
15071
15248
  /**
15072
- * 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.
15249
+ * The volume points the enchantment needs.
15073
15250
  */
15074
- advanced: [AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>]
15251
+ volume: Volume
15075
15252
 
15076
- prerequisites?: GeneralPrerequisites
15253
+ /**
15254
+ * The cost when casting the entry.
15255
+ */
15256
+ cost?: EnchantmentCost
15257
+
15258
+ /**
15259
+ * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
15260
+ */
15261
+ property: PropertyDeclaration
15077
15262
 
15078
15263
  /**
15079
15264
  * The adventure points value.
@@ -15089,16 +15274,16 @@ export interface LiturgicalStyleSpecialAbility {
15089
15274
  * All translations for the entry, identified by IETF language tag (BCP47).
15090
15275
  */
15091
15276
  translations: {
15092
- [localeId: string]: LiturgicalStyleSpecialAbilityTranslation
15277
+ [localeId: string]: KristallkugelzauberTranslation
15093
15278
  }
15094
15279
  }
15095
15280
 
15096
15281
  /**
15097
15282
  * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
15098
15283
  */
15099
- export type LiturgicalStyleSpecialAbility_ID = string
15284
+ export type Kristallkugelzauber_ID = string
15100
15285
 
15101
- export interface LiturgicalStyleSpecialAbilityTranslation {
15286
+ export interface KristallkugelzauberTranslation {
15102
15287
  /**
15103
15288
  * Name of the activatable entry.
15104
15289
  */
@@ -15110,9 +15295,32 @@ export interface LiturgicalStyleSpecialAbilityTranslation {
15110
15295
  name_in_library?: string
15111
15296
 
15112
15297
  /**
15113
- * The rule text.
15298
+ * The effect description.
15114
15299
  */
15115
- rules: string
15300
+ effect: string
15301
+
15302
+ /**
15303
+ * A note, appended to the generated cost string in parenthesis.
15304
+ */
15305
+ cost_note?: ResponsiveTextOptional
15306
+
15307
+ /**
15308
+ * The binding cost for an enchantment.
15309
+ * @deprecated
15310
+ */
15311
+ bindingCost?: string
15312
+
15313
+ /**
15314
+ * The AE cost.
15315
+ * @deprecated
15316
+ */
15317
+ aeCost?: string
15318
+
15319
+ /**
15320
+ * The volume points the enchantment needs.
15321
+ * @deprecated
15322
+ */
15323
+ volume?: string
15116
15324
 
15117
15325
  /**
15118
15326
  * The string to append to the generated AP value text.
@@ -15129,7 +15337,7 @@ export interface LiturgicalStyleSpecialAbilityTranslation {
15129
15337
  errata?: Errata
15130
15338
  }
15131
15339
 
15132
- export interface LycantropicGift {
15340
+ export interface LiturgicalStyleSpecialAbility {
15133
15341
  /**
15134
15342
  * Number of available levels.
15135
15343
  */
@@ -15158,6 +15366,11 @@ export interface LycantropicGift {
15158
15366
  */
15159
15367
  maximum?: number
15160
15368
 
15369
+ /**
15370
+ * 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.
15371
+ */
15372
+ advanced: [AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>, AdvancedSpecialAbility<AdvancedKarmaSpecialAbility_ID>]
15373
+
15161
15374
  prerequisites?: GeneralPrerequisites
15162
15375
 
15163
15376
  /**
@@ -15174,16 +15387,16 @@ export interface LycantropicGift {
15174
15387
  * All translations for the entry, identified by IETF language tag (BCP47).
15175
15388
  */
15176
15389
  translations: {
15177
- [localeId: string]: LycantropicGiftTranslation
15390
+ [localeId: string]: LiturgicalStyleSpecialAbilityTranslation
15178
15391
  }
15179
15392
  }
15180
15393
 
15181
15394
  /**
15182
15395
  * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
15183
15396
  */
15184
- export type LycantropicGift_ID = string
15397
+ export type LiturgicalStyleSpecialAbility_ID = string
15185
15398
 
15186
- export interface LycantropicGiftTranslation {
15399
+ export interface LiturgicalStyleSpecialAbilityTranslation {
15187
15400
  /**
15188
15401
  * Name of the activatable entry.
15189
15402
  */
@@ -15214,18 +15427,103 @@ export interface LycantropicGiftTranslation {
15214
15427
  errata?: Errata
15215
15428
  }
15216
15429
 
15217
- export interface MagicalSign {
15218
- prerequisites?: GeneralPrerequisites
15219
-
15430
+ export interface LycantropicGift {
15220
15431
  /**
15221
- * The cost in AE.
15432
+ * Number of available levels.
15222
15433
  */
15223
- cost?: MagicalSignCost
15434
+ levels?: number
15224
15435
 
15225
15436
  /**
15226
- * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
15437
+ * Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
15227
15438
  */
15228
- property?: PropertyDeclaration
15439
+ nameBuilderRules?: ActivatableNameBuilderRules
15440
+
15441
+ /**
15442
+ * Definitions for possible options for the activatable entry, derived from entry categories.
15443
+ *
15444
+ * 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.
15445
+ */
15446
+ select_options?: SelectOptions
15447
+
15448
+ /**
15449
+ * The number stating how often you can buy the entry. The **default** depends on the entry type:
15450
+ *
15451
+ * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
15452
+ * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
15453
+ * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
15454
+ *
15455
+ * The maximum is only set if it differs from the defaults specified above.
15456
+ */
15457
+ maximum?: number
15458
+
15459
+ prerequisites?: GeneralPrerequisites
15460
+
15461
+ /**
15462
+ * The adventure points value.
15463
+ */
15464
+ ap_value: AdventurePointsValue
15465
+
15466
+ /**
15467
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
15468
+ */
15469
+ src: PublicationRefs
15470
+
15471
+ /**
15472
+ * All translations for the entry, identified by IETF language tag (BCP47).
15473
+ */
15474
+ translations: {
15475
+ [localeId: string]: LycantropicGiftTranslation
15476
+ }
15477
+ }
15478
+
15479
+ /**
15480
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
15481
+ */
15482
+ export type LycantropicGift_ID = string
15483
+
15484
+ export interface LycantropicGiftTranslation {
15485
+ /**
15486
+ * Name of the activatable entry.
15487
+ */
15488
+ name: string
15489
+
15490
+ /**
15491
+ * 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.
15492
+ */
15493
+ name_in_library?: string
15494
+
15495
+ /**
15496
+ * The rule text.
15497
+ */
15498
+ rules: string
15499
+
15500
+ /**
15501
+ * The string to append to the generated AP value text.
15502
+ * @deprecated
15503
+ */
15504
+ ap_value_append?: string
15505
+
15506
+ /**
15507
+ * The adventure points value.
15508
+ * @deprecated
15509
+ */
15510
+ ap_value?: string
15511
+
15512
+ errata?: Errata
15513
+ }
15514
+
15515
+ export interface MagicalSign {
15516
+ prerequisites?: GeneralPrerequisites
15517
+
15518
+ /**
15519
+ * The cost in AE.
15520
+ */
15521
+ cost?: MagicalSignCost
15522
+
15523
+ /**
15524
+ * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
15525
+ */
15526
+ property?: PropertyDeclaration
15229
15527
 
15230
15528
  /**
15231
15529
  * The adventure points value.
@@ -15999,6 +16297,122 @@ export interface RingEnchantmentTranslation {
15999
16297
  errata?: Errata
16000
16298
  }
16001
16299
 
16300
+ export interface Schweinetrommelzauber {
16301
+ /**
16302
+ * Number of available levels.
16303
+ */
16304
+ levels?: number
16305
+
16306
+ /**
16307
+ * Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
16308
+ */
16309
+ nameBuilderRules?: ActivatableNameBuilderRules
16310
+
16311
+ /**
16312
+ * The number stating how often you can buy the entry. The **default** depends on the entry type:
16313
+ *
16314
+ * - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
16315
+ * - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
16316
+ * - **Special Abilities:** `1` if no options can be selected, otherwise the number of possible options
16317
+ *
16318
+ * The maximum is only set if it differs from the defaults specified above.
16319
+ */
16320
+ maximum?: number
16321
+
16322
+ prerequisites?: GeneralPrerequisites
16323
+
16324
+ /**
16325
+ * The volume points the enchantment needs.
16326
+ */
16327
+ volume: Volume
16328
+
16329
+ /**
16330
+ * The cost when casting the entry.
16331
+ */
16332
+ cost?: EnchantmentCost
16333
+
16334
+ /**
16335
+ * The magic property’s identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.
16336
+ */
16337
+ property: PropertyDeclaration
16338
+
16339
+ /**
16340
+ * The adventure points value.
16341
+ */
16342
+ ap_value: AdventurePointsValue
16343
+
16344
+ /**
16345
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
16346
+ */
16347
+ src: PublicationRefs
16348
+
16349
+ /**
16350
+ * All translations for the entry, identified by IETF language tag (BCP47).
16351
+ */
16352
+ translations: {
16353
+ [localeId: string]: SchweinetrommelzauberTranslation
16354
+ }
16355
+ }
16356
+
16357
+ /**
16358
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
16359
+ */
16360
+ export type Schweinetrommelzauber_ID = string
16361
+
16362
+ export interface SchweinetrommelzauberTranslation {
16363
+ /**
16364
+ * Name of the activatable entry.
16365
+ */
16366
+ name: string
16367
+
16368
+ /**
16369
+ * 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.
16370
+ */
16371
+ name_in_library?: string
16372
+
16373
+ /**
16374
+ * The effect description.
16375
+ */
16376
+ effect: string
16377
+
16378
+ /**
16379
+ * A note, appended to the generated cost string in parenthesis.
16380
+ */
16381
+ cost_note?: ResponsiveTextOptional
16382
+
16383
+ /**
16384
+ * The binding cost for an enchantment.
16385
+ * @deprecated
16386
+ */
16387
+ bindingCost?: string
16388
+
16389
+ /**
16390
+ * The AE cost.
16391
+ * @deprecated
16392
+ */
16393
+ aeCost?: string
16394
+
16395
+ /**
16396
+ * The volume points the enchantment needs.
16397
+ * @deprecated
16398
+ */
16399
+ volume?: string
16400
+
16401
+ /**
16402
+ * The string to append to the generated AP value text.
16403
+ * @deprecated
16404
+ */
16405
+ ap_value_append?: string
16406
+
16407
+ /**
16408
+ * The adventure points value.
16409
+ * @deprecated
16410
+ */
16411
+ ap_value?: string
16412
+
16413
+ errata?: Errata
16414
+ }
16415
+
16002
16416
  export interface Sermon {
16003
16417
  /**
16004
16418
  * Number of available levels.
@@ -22016,6 +22430,58 @@ export interface BiomeTranslation {
22016
22430
  name: string
22017
22431
  }
22018
22432
 
22433
+ export interface SubBiome {
22434
+ /**
22435
+ * The biome this sub-biome belongs to.
22436
+ */
22437
+ parent: Biome_ID
22438
+
22439
+ /**
22440
+ * All translations for the entry, identified by IETF language tag (BCP47).
22441
+ */
22442
+ translations: {
22443
+ [localeId: string]: SubBiomeTranslation
22444
+ }
22445
+ }
22446
+
22447
+ /**
22448
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
22449
+ */
22450
+ export type SubBiome_ID = string
22451
+
22452
+ export interface SubBiomeTranslation {
22453
+ /**
22454
+ * The subbiome's name.
22455
+ */
22456
+ name: string
22457
+ }
22458
+
22459
+ export interface BotanicRegion {
22460
+ /**
22461
+ * The subbiome this region belongs to.
22462
+ */
22463
+ parent: SubBiome_ID
22464
+
22465
+ /**
22466
+ * All translations for the entry, identified by IETF language tag (BCP47).
22467
+ */
22468
+ translations: {
22469
+ [localeId: string]: BotanicRegionTranslation
22470
+ }
22471
+ }
22472
+
22473
+ /**
22474
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
22475
+ */
22476
+ export type BotanicRegion_ID = string
22477
+
22478
+ export interface BotanicRegionTranslation {
22479
+ /**
22480
+ * The region's name.
22481
+ */
22482
+ name: string
22483
+ }
22484
+
22019
22485
  export interface Book {
22020
22486
  /**
22021
22487
  * The type of book.
@@ -24758,6 +25224,11 @@ export interface HerbalAid {
24758
25224
  */
24759
25225
  crafting_difficulty: number
24760
25226
 
25227
+ /**
25228
+ * AP value and prerequisites of the herbal aid�s trade secret.
25229
+ */
25230
+ trade_secret?: RecipeTradeSecret
25231
+
24761
25232
  /**
24762
25233
  * The armor or weapon this herbal aid represents.
24763
25234
  */
@@ -24813,6 +25284,90 @@ export type HerbalAidCombatUse =
24813
25284
  Armor: Armor_ID
24814
25285
  }
24815
25286
 
25287
+ export interface HerbalPreservation {
25288
+ /**
25289
+ * The types of this preservation.
25290
+ */
25291
+ types: EffectType[]
25292
+
25293
+ /**
25294
+ * How long this preservation lasts.
25295
+ */
25296
+ longevity: HerbalPreservationLongevity
25297
+
25298
+ /**
25299
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
25300
+ */
25301
+ src: PublicationRefs
25302
+
25303
+ /**
25304
+ * All translations for the entry, identified by IETF language tag (BCP47).
25305
+ */
25306
+ translations: {
25307
+ [localeId: string]: HerbalPreservationTranslation
25308
+ }
25309
+ }
25310
+
25311
+ /**
25312
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
25313
+ */
25314
+ export type HerbalPreservation_ID = string
25315
+
25316
+ export interface HerbalPreservationTranslation {
25317
+ /**
25318
+ * The herbal preservation's name.
25319
+ */
25320
+ name: string
25321
+
25322
+ /**
25323
+ * How to prepare this preservation.
25324
+ */
25325
+ preparation: string
25326
+
25327
+ /**
25328
+ * The herbal preservation's alternative effect.
25329
+ */
25330
+ alternative_effect: string
25331
+ }
25332
+
25333
+ export interface HerbalPreservationLongevity {
25334
+ /**
25335
+ * An expression that evaluates to the duration.
25336
+ */
25337
+ value: HerbalPreservationLongevityExpression
25338
+
25339
+ /**
25340
+ * The duration unit.
25341
+ */
25342
+ unit: DurationUnit
25343
+
25344
+ /**
25345
+ * All translations for the entry, identified by IETF language tag (BCP47).
25346
+ */
25347
+ translations?: {
25348
+ [localeId: string]: HerbalPreservationLongevityTranslation
25349
+ }
25350
+ }
25351
+
25352
+ export interface HerbalPreservationLongevityTranslation {
25353
+ /**
25354
+ * A replacement string.
25355
+ */
25356
+ replacement: ResponsiveTextReplace
25357
+ }
25358
+
25359
+ export type HerbalPreservationLongevityExpression = MathOperation<HerbalPreservationLongevityValue>
25360
+
25361
+ export type HerbalPreservationLongevityValue =
25362
+ | {
25363
+ kind: "Constant"
25364
+ Constant: number
25365
+ }
25366
+ | {
25367
+ kind: "Dice"
25368
+ Dice: Dice
25369
+ }
25370
+
24816
25371
  export interface HomunculusType {
24817
25372
  /**
24818
25373
  * All translations for the entry, identified by IETF language tag (BCP47).
@@ -24889,17 +25444,17 @@ export interface Plant {
24889
25444
  /**
24890
25445
  * The search difficulty for this plant.
24891
25446
  */
24892
- search_difficulty: number
25447
+ search_difficulty: PlantDifficulty
24893
25448
 
24894
25449
  /**
24895
25450
  * The identification difficulty for this plant.
24896
25451
  */
24897
- identification_difficulty: number
25452
+ identification_difficulty: PlantDifficulty
24898
25453
 
24899
25454
  /**
24900
25455
  * The applications of this plant per quality level.
24901
25456
  */
24902
- applications: [number, number, number, number, number, number]
25457
+ applications: PlantApplications
24903
25458
 
24904
25459
  /**
24905
25460
  * The plant's touch effect.
@@ -24926,6 +25481,11 @@ export interface Plant {
24926
25481
  */
24927
25482
  recipes?: PlantRecipe[]
24928
25483
 
25484
+ /**
25485
+ * The longevity of the plant.
25486
+ */
25487
+ longevity?: PlantLongevity
25488
+
24929
25489
  /**
24930
25490
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
24931
25491
  */
@@ -24989,9 +25549,9 @@ export interface PlantOccurrencesTranslation {
24989
25549
 
24990
25550
  export interface PlantOccurrence {
24991
25551
  /**
24992
- * The biome this plant occurs in.
25552
+ * Where this plant occurs in.
24993
25553
  */
24994
- biome: Biome_ID
25554
+ regions: PlantOccurrenceTier
24995
25555
 
24996
25556
  /**
24997
25557
  * The rarity of this plant in the biome.
@@ -25013,6 +25573,20 @@ export interface PlantOccurrenceTranslation {
25013
25573
  note: string
25014
25574
  }
25015
25575
 
25576
+ export type PlantOccurrenceTier =
25577
+ | {
25578
+ kind: "Biomes"
25579
+ Biomes: Biome_ID[]
25580
+ }
25581
+ | {
25582
+ kind: "SubBiomes"
25583
+ SubBiomes: SubBiome_ID[]
25584
+ }
25585
+ | {
25586
+ kind: "BotanicRegions"
25587
+ BotanicRegions: BotanicRegion_ID[]
25588
+ }
25589
+
25016
25590
  /**
25017
25591
  * The rarity of a plant in a biome.
25018
25592
  */
@@ -25033,6 +25607,42 @@ export type PlantRarity =
25033
25607
  kind: "VeryRare"
25034
25608
  }
25035
25609
 
25610
+ export type PlantDifficulty =
25611
+ | {
25612
+ kind: "Constant"
25613
+ Constant: number
25614
+ }
25615
+ | {
25616
+ kind: "Indefinite"
25617
+ Indefinite: IndefinitePlantDescription
25618
+ }
25619
+
25620
+ export interface IndefinitePlantDescription {
25621
+ /**
25622
+ * All translations for the entry, identified by IETF language tag (BCP47).
25623
+ */
25624
+ translations: {
25625
+ [localeId: string]: IndefinitePlantDescriptionTranslation
25626
+ }
25627
+ }
25628
+
25629
+ export interface IndefinitePlantDescriptionTranslation {
25630
+ /**
25631
+ * A description of whatever is indefinite of this plant.
25632
+ */
25633
+ description: string
25634
+ }
25635
+
25636
+ export type PlantApplications =
25637
+ | {
25638
+ kind: "Constant"
25639
+ Constant: [number, number, number, number, number, number]
25640
+ }
25641
+ | {
25642
+ kind: "Indefinite"
25643
+ Indefinite: IndefinitePlantDescription
25644
+ }
25645
+
25036
25646
  export interface PlantEffect {
25037
25647
  /**
25038
25648
  * The effect type of this plant effect.
@@ -25202,6 +25812,32 @@ export interface IndefiniteRecipeTranslation {
25202
25812
  description: string
25203
25813
  }
25204
25814
 
25815
+ export interface PlantLongevity {
25816
+ /**
25817
+ * The preservations with alternative effect of this preserved plant
25818
+ */
25819
+ preservations?: HerbalPreservation_ID[]
25820
+
25821
+ /**
25822
+ * All translations for the entry, identified by IETF language tag (BCP47).
25823
+ */
25824
+ translations: {
25825
+ [localeId: string]: PlantLongevityTranslation
25826
+ }
25827
+ }
25828
+
25829
+ export interface PlantLongevityTranslation {
25830
+ /**
25831
+ * The longevity of the raw plant
25832
+ */
25833
+ raw: string
25834
+
25835
+ /**
25836
+ * The longevity of the preserved plant
25837
+ */
25838
+ preserved?: string
25839
+ }
25840
+
25205
25841
  export interface Region {
25206
25842
  /**
25207
25843
  * All translations for the entry, identified by IETF language tag (BCP47).