@optolith/database-schema 0.98.0 → 0.100.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 (61) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/gen/types.d.ts +615 -119
  3. package/lib/main.js +1 -0
  4. package/lib/types/Locale.d.ts +13 -4
  5. package/lib/types/Locale.js +13 -4
  6. package/lib/types/Profession.d.ts +21 -0
  7. package/lib/types/Profession.js +20 -0
  8. package/lib/types/_ActivatableAdvanced.d.ts +28 -0
  9. package/lib/types/_ActivatableAdvanced.js +57 -1
  10. package/lib/types/_ActivatableCombat.d.ts +43 -39
  11. package/lib/types/_ActivatableCombat.js +66 -72
  12. package/lib/types/_Identifier.d.ts +1 -0
  13. package/lib/types/_Identifier.js +2 -0
  14. package/lib/types/_IdentifierGroup.d.ts +1 -0
  15. package/lib/types/_IdentifierGroup.js +2 -1
  16. package/lib/types/equipment/EquipmentPackage.d.ts +1 -0
  17. package/lib/types/equipment/item/Armor.d.ts +22 -0
  18. package/lib/types/equipment/item/Armor.js +18 -0
  19. package/lib/types/equipment/item/ArmorAccessory.d.ts +13 -0
  20. package/lib/types/equipment/item/BandageOrRemedy.d.ts +13 -0
  21. package/lib/types/equipment/item/CeremonialItem.d.ts +13 -0
  22. package/lib/types/equipment/item/Clothes.d.ts +13 -0
  23. package/lib/types/equipment/item/Container.d.ts +13 -0
  24. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +17 -36
  25. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +15 -4
  26. package/lib/types/equipment/item/IlluminationLightSource.d.ts +13 -0
  27. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +13 -0
  28. package/lib/types/equipment/item/Item.d.ts +13 -0
  29. package/lib/types/equipment/item/ItemComponent.d.ts +127 -0
  30. package/lib/types/equipment/item/ItemComponent.js +313 -0
  31. package/lib/types/equipment/item/Liebesspielzeug.d.ts +13 -0
  32. package/lib/types/equipment/item/LuxuryGood.d.ts +13 -0
  33. package/lib/types/equipment/item/MagicalArtifact.d.ts +13 -0
  34. package/lib/types/equipment/item/MusicalInstrument.d.ts +13 -0
  35. package/lib/types/equipment/item/OrienteeringAid.d.ts +13 -0
  36. package/lib/types/equipment/item/RopeOrChain.d.ts +13 -0
  37. package/lib/types/equipment/item/Stationery.d.ts +13 -0
  38. package/lib/types/equipment/item/ThievesTool.d.ts +13 -0
  39. package/lib/types/equipment/item/TravelGearOrTool.d.ts +13 -0
  40. package/lib/types/equipment/item/Weapon.d.ts +4 -0
  41. package/lib/types/equipment/item/WeaponAccessory.d.ts +13 -0
  42. package/lib/types/equipment/item/_Item.d.ts +30 -0
  43. package/lib/types/equipment/item/_Item.js +8 -0
  44. package/lib/types/index.d.ts +1 -0
  45. package/lib/types/index.js +1 -0
  46. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +61 -5
  47. package/lib/types/prerequisites/PrerequisiteGroups.js +4 -1
  48. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +2 -2
  49. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisiteForProfession.d.ts +150 -0
  50. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisiteForProfession.js +53 -0
  51. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +40 -39
  52. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +40 -39
  53. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +40 -39
  54. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +68 -39
  55. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +40 -39
  56. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +28 -0
  57. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +28 -0
  58. package/lib/types/specialAbility/MagicalTradition.d.ts +1 -0
  59. package/lib/types/specialAbility/MagicalTradition.js +5 -1
  60. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +28 -0
  61. package/package.json +1 -1
package/gen/types.d.ts CHANGED
@@ -95,6 +95,8 @@ export type EntityMap = {
95
95
  Influence: Influence
96
96
  InstrumentEnchantment: InstrumentEnchantment
97
97
  Item: Item
98
+ ItemComponent: ItemComponent
99
+ ItemComponentOption: ItemComponentOption
98
100
  JesterTrick: JesterTrick
99
101
  Jewelry: Jewelry
100
102
  KarmaSpecialAbility: KarmaSpecialAbility
@@ -204,6 +206,7 @@ export type ChildEntityMap = {
204
206
  BotanicRegion: [BotanicRegion, "parent", BotanicRegion["parent"]]
205
207
  Enhancement: [Enhancement, "parent", Enhancement["parent"]]
206
208
  GeneralSelectOption: [GeneralSelectOption, "parent", GeneralSelectOption["parent"]]
209
+ ItemComponentOption: [ItemComponentOption, "parent", ItemComponentOption["parent"]]
207
210
  LanguageSpecialization: [LanguageSpecialization, "parent", LanguageSpecialization["parent"]]
208
211
  LessonPackage: [LessonPackage, "curriculum", LessonPackage["curriculum"]]
209
212
  MagicalRuneOption: [MagicalRuneOption, "parent", MagicalRuneOption["parent"]]
@@ -227,6 +230,7 @@ export type EnumMap = {
227
230
  ActivatableSkillEffect: ActivatableSkillEffect
228
231
  AdvancedSkillStyleSpecialAbilityIdentifier: AdvancedSkillStyleSpecialAbilityIdentifier
229
232
  AdvancedSpecialAbility: AdvancedSpecialAbility<unknown>
233
+ AdvancedSpecialAbilityByOptionMappingRule: AdvancedSpecialAbilityByOptionMappingRule<unknown>
230
234
  AdvancedSpecialAbilityRestrictedOptionIdentifier: AdvancedSpecialAbilityRestrictedOptionIdentifier
231
235
  AdvantageDisadvantagePrerequisiteGroup: AdvantageDisadvantagePrerequisiteGroup
232
236
  AdvantageDisadvantageSubtype: AdvantageDisadvantageSubtype
@@ -243,17 +247,18 @@ export type EnumMap = {
243
247
  AnimistPowerImprovementCost: AnimistPowerImprovementCost
244
248
  AnimistPowerPerformanceParameters: AnimistPowerPerformanceParameters
245
249
  AnimistPowerPrerequisiteGroup: AnimistPowerPrerequisiteGroup
246
- ApplicableAllCombatTechniquesRestriction: ApplicableAllCombatTechniquesRestriction
247
- ApplicableCloseCombatTechniquesRestriction: ApplicableCloseCombatTechniquesRestriction
250
+ ApplicableAmmunitionCategory: ApplicableAmmunitionCategory
251
+ ApplicableArmorCategory: ApplicableArmorCategory
248
252
  ApplicableCombatTechniques: ApplicableCombatTechniques
249
- ApplicableRangedCombatTechniquesRestriction: ApplicableRangedCombatTechniquesRestriction
250
- ApplicableSpecificCombatTechniquesRestriction: ApplicableSpecificCombatTechniquesRestriction
253
+ ApplicableItems: ApplicableItems
254
+ ApplicableMeleeWeaponCategory: ApplicableMeleeWeaponCategory
251
255
  ApplicationCategory: ApplicationCategory
252
256
  ArcaneEnergyCost: ArcaneEnergyCost
253
257
  ArcaneEnergyCostByLevelStyle: ArcaneEnergyCostByLevelStyle
254
258
  ArcaneTraditionPrerequisiteGroup: ArcaneTraditionPrerequisiteGroup
255
259
  ArmorComplexity: ArmorComplexity
256
260
  ArmorType: ArmorType
261
+ AssociatedTradition: AssociatedTradition
257
262
  AttributeColor: AttributeColor
258
263
  AutomaticEntryAction: AutomaticEntryAction
259
264
  AutomaticEntryTarget: AutomaticEntryTarget
@@ -356,6 +361,7 @@ export type EnumMap = {
356
361
  IndefiniteArcaneEnergyCostModifierArithmetic: IndefiniteArcaneEnergyCostModifierArithmetic
357
362
  InfluencePrerequisiteGroup: InfluencePrerequisiteGroup
358
363
  IntoxicantAddictionWithdrawalPreventionInterval: IntoxicantAddictionWithdrawalPreventionInterval
364
+ ItemComponentCost: ItemComponentCost
359
365
  JesterTrickDuration: JesterTrickDuration
360
366
  JesterTrickRange: JesterTrickRange
361
367
  KnownItemAge: KnownItemAge
@@ -382,6 +388,7 @@ export type EnumMap = {
382
388
  MathOperation: MathOperation<unknown>
383
389
  MaximumIndefiniteCurseDuration: MaximumIndefiniteCurseDuration
384
390
  MaximumIndefiniteDominationRitualDuration: MaximumIndefiniteDominationRitualDuration
391
+ MeleeWeaponClass: MeleeWeaponClass
385
392
  MundaneBookType: MundaneBookType
386
393
  MundaneCommonProfessionConstraint: MundaneCommonProfessionConstraint
387
394
  MundaneProfessionGroup: MundaneProfessionGroup
@@ -432,7 +439,9 @@ export type EnumMap = {
432
439
  Rarity: Rarity
433
440
  RatedIdentifier: RatedIdentifier
434
441
  RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup: RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup
442
+ RatedMinimumNumberPrerequisiteSpellworksTargetForProfession: RatedMinimumNumberPrerequisiteSpellworksTargetForProfession
435
443
  RatedMinimumNumberPrerequisiteTarget: RatedMinimumNumberPrerequisiteTarget
444
+ RatedMinimumNumberPrerequisiteTargetForProfession: RatedMinimumNumberPrerequisiteTargetForProfession
436
445
  RecipeComplexity: RecipeComplexity
437
446
  ReferenceListNodeImprovementCostSourceTarget: ReferenceListNodeImprovementCostSourceTarget
438
447
  ReferenceListNodeSource: ReferenceListNodeSource
@@ -502,6 +511,8 @@ export type TypeAliasMap = {
502
511
  ActivatableSkillEffectForEachTwoQualityLevels: ActivatableSkillEffectForEachTwoQualityLevels
503
512
  ActivatableSkillPlainEffect: ActivatableSkillPlainEffect
504
513
  ActivationAndHalfIntervalArcaneEnergyCost: ActivationAndHalfIntervalArcaneEnergyCost
514
+ AdvancedSpecialAbilityByOption: AdvancedSpecialAbilityByOption<unknown>
515
+ AdvancedSpecialAbilityByOptionMapping: AdvancedSpecialAbilityByOptionMapping<unknown>
505
516
  AdvancedSpecialAbilityDerivedFromExternalOption: AdvancedSpecialAbilityDerivedFromExternalOption<unknown>
506
517
  AdvancedSpecialAbilityDerivedFromExternalOptionMapping: AdvancedSpecialAbilityDerivedFromExternalOptionMapping<unknown>
507
518
  AdvantageAnimalPower: AdvantageAnimalPower
@@ -535,9 +546,15 @@ export type TypeAliasMap = {
535
546
  AnimistPowerPrerequisite: AnimistPowerPrerequisite
536
547
  AnimistPowerPrerequisites: AnimistPowerPrerequisites
537
548
  AnySpecialAbilityOfGroupPrerequisite: AnySpecialAbilityOfGroupPrerequisite
538
- ApplicableCombatTechniquesLevelRestriction: ApplicableCombatTechniquesLevelRestriction
549
+ ApplicableAllCombatTechniquesRestrictions: ApplicableAllCombatTechniquesRestrictions
550
+ ApplicableAmmunition: ApplicableAmmunition
551
+ ApplicableArmor: ApplicableArmor
552
+ ApplicableCloseCombatTechniquesRestrictions: ApplicableCloseCombatTechniquesRestrictions
539
553
  ApplicableCombatTechniquesNegativeCombatTechniquesRestriction: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<unknown>
540
- ApplicableCombatTechniquesRaceRestriction: ApplicableCombatTechniquesRaceRestriction
554
+ ApplicableMeleeWeapons: ApplicableMeleeWeapons
555
+ ApplicableRangedCombatTechniquesRestrictions: ApplicableRangedCombatTechniquesRestrictions
556
+ ApplicableRangedWeapons: ApplicableRangedWeapons
557
+ ApplicableSpecificCombatTechniquesRestrictions: ApplicableSpecificCombatTechniquesRestrictions
541
558
  Applications: Applications
542
559
  ArcaneBardTraditionReference: ArcaneBardTraditionReference
543
560
  ArcaneDancerTraditionReference: ArcaneDancerTraditionReference
@@ -749,6 +766,9 @@ export type TypeAliasMap = {
749
766
  IntoxicantAddictionWithdrawalPrevention: IntoxicantAddictionWithdrawalPrevention
750
767
  IntoxicantLegality: IntoxicantLegality
751
768
  InvaluableCost: InvaluableCost
769
+ ItemComponentBaseItemModifications: ItemComponentBaseItemModifications
770
+ ItemComponentCostByCombatTechnique: ItemComponentCostByCombatTechnique
771
+ ItemComponentRules: ItemComponentRules
752
772
  JesterTrickCastingTime: JesterTrickCastingTime
753
773
  JesterTrickCost: JesterTrickCost
754
774
  JesterTrickPerformanceParameters: JesterTrickPerformanceParameters
@@ -768,6 +788,7 @@ export type TypeAliasMap = {
768
788
  LiturgyPrerequisites: LiturgyPrerequisites
769
789
  LiturgyTraditionWithAspects: LiturgyTraditionWithAspects
770
790
  LocaleMeasurementAdjustments: LocaleMeasurementAdjustments
791
+ LockAdventurePointsOption: LockAdventurePointsOption
771
792
  MagicalDancePerformanceParameters: MagicalDancePerformanceParameters
772
793
  MagicalMelodyPerformanceParameters: MagicalMelodyPerformanceParameters
773
794
  MagicalProfessionGroup: MagicalProfessionGroup
@@ -881,6 +902,7 @@ export type TypeAliasMap = {
881
902
  RangedWeapon: RangedWeapon
882
903
  RatedMinimumNumberPrerequisite: RatedMinimumNumberPrerequisite
883
904
  RatedMinimumNumberPrerequisiteCombatTechniquesTarget: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
905
+ RatedMinimumNumberPrerequisiteForProfession: RatedMinimumNumberPrerequisiteForProfession
884
906
  RatedMinimumNumberPrerequisiteLiturgiesTarget: RatedMinimumNumberPrerequisiteLiturgiesTarget
885
907
  RatedMinimumNumberPrerequisiteSkillsTarget: RatedMinimumNumberPrerequisiteSkillsTarget
886
908
  RatedMinimumNumberPrerequisiteSpellworksTarget: RatedMinimumNumberPrerequisiteSpellworksTarget
@@ -2508,6 +2530,9 @@ export interface Locale {
2508
2530
  ".input {$count :number} {{{$count} more by primary patron}}": string & { __params: { "count": number } }
2509
2531
  "Patron": string
2510
2532
  ".input {$count :number} {{Here you can select {$count} fitting special abilities.}}": string & { __params: { "count": number } }
2533
+ ".input {$count :number} {{{$previousList} as well as {$count} advanced special abilities}}": string & { __params: { "count": number; "previousList": string } }
2534
+ ".input {$count :number} {{{$previousList} as well as {$count} advanced special abilities depending on {$option}}}": string & { __params: { "count": number; "previousList": string; "option": string } }
2535
+ ".input {$count :number} {{{$count} of the following list}}": string & { __params: { "count": number } }
2511
2536
  "corresponding combat style special ability": string
2512
2537
  "corresponding liturgical style special ability": string
2513
2538
  "corresponding magic style special ability": string
@@ -2637,16 +2662,22 @@ export interface Locale {
2637
2662
  "Complex": string
2638
2663
  "Various": string
2639
2664
  "Parrying weapon (PA bonus +1 for the main weapon)": string
2665
+ "{$variantArmor} is a type of {$baseArmor}.": string & { __params: { "variantArmor": string; "baseArmor": string } }
2666
+ "{$variantHitZoneArmor} counts as {$baseArmor} for hit zone {$hitZone}.": string & { __params: { "variantHitZoneArmor": string; "baseArmor": string; "hitZone": string } }
2667
+ "Arms": string
2668
+ "Head": string
2669
+ "Legs": string
2670
+ "Torso": string
2671
+ "many shamans": string
2640
2672
  "To buy this item during hero creation, the character must have Tradition ({$traditions}).": string & { __params: { "traditions": string } }
2641
2673
  "To buy {$itemName} during hero creation, the character must have Tradition ({$traditions}).": string & { __params: { "itemName": string; "traditions": string } }
2642
- "Sanctified ({$traditions}); only {$blessedOnes} may purchase weapons sanctified by {$gods}, respectively.": string & { __params: { "traditions": string; "blessedOnes": string; "gods": string } }
2643
- "Sanctified ({$tradition}); only {$blessedOnes} may purchase weapons sanctified by {$god}.": string & { __params: { "tradition": string; "blessedOnes": string; "god": string } }
2674
+ "Sanctified ({$traditions})": string & { __params: { "traditions": string } }
2675
+ "only {$blessedOnes} may purchase weapons sanctified by {$gods}, respectively.": string & { __params: { "blessedOnes": string; "gods": string } }
2676
+ "only {$blessedOnes} may purchase weapons sanctified by {$god}.": string & { __params: { "blessedOnes": string; "god": string } }
2644
2677
  "To buy this item during hero creation, the character must be from {$cultures}.": string & { __params: { "cultures": string } }
2645
2678
  "To buy {$itemName} during hero creation, the character must be from {$cultures}.": string & { __params: { "itemName": string; "cultures": string } }
2646
2679
  "To buy this item during hero creation, the character must have a shamanistic tradition.": string
2647
2680
  "To buy {$itemName} during hero creation, the character must have a shamanistic tradition.": string & { __params: { "itemName": string } }
2648
- "To buy this item during hero creation, the character must be from {$groupOfCultures}.": string & { __params: { "groupOfCultures": string } }
2649
- "To buy {$itemName} during hero creation, the character must be from {$groupOfCultures}.": string & { __params: { "itemName": string; "groupOfCultures": string } }
2650
2681
  ".input {$value :number} {{{$value} inches}}": string & { __params: { "value": number } }
2651
2682
  "unlimited": string
2652
2683
  "Structure Points": string
@@ -8750,6 +8781,11 @@ export interface MagicalTradition {
8750
8781
  */
8751
8782
  use_arcane_spellworks_from_tradition?: MagicalTradition_ID
8752
8783
 
8784
+ /**
8785
+ * If arcane spellworks with a specific property count as arcane spellworks of this tradition, this is the property’s reference.
8786
+ */
8787
+ use_arcane_spellworks_from_property?: Property_ID
8788
+
8753
8789
  /**
8754
8790
  * The influences for the tradition. Influences are enabled by Focus Rules.
8755
8791
  */
@@ -9795,7 +9831,7 @@ export type ProfessionPrerequisiteGroup =
9795
9831
  }
9796
9832
  | {
9797
9833
  kind: "RatedMinimumNumber"
9798
- RatedMinimumNumber: RatedMinimumNumberPrerequisite
9834
+ RatedMinimumNumber: RatedMinimumNumberPrerequisiteForProfession
9799
9835
  }
9800
9836
  | {
9801
9837
  kind: "Energy"
@@ -12399,29 +12435,16 @@ export type ApplicableCombatTechniques =
12399
12435
  }
12400
12436
 
12401
12437
  export interface AllApplicableCombatTechniques {
12402
- restriction?: ApplicableAllCombatTechniquesRestriction
12438
+ restrictions?: ApplicableAllCombatTechniquesRestrictions
12403
12439
  }
12404
12440
 
12405
- export type ApplicableAllCombatTechniquesRestriction =
12406
- | {
12407
- kind: "Improvised"
12408
- }
12409
- | {
12410
- kind: "PointedBlade"
12411
- }
12412
- | {
12413
- kind: "Mount"
12414
- }
12415
- | {
12416
- kind: "Race"
12417
- Race: ApplicableCombatTechniquesRaceRestriction
12418
- }
12419
- | {
12420
- kind: "ExcludeCombatTechniques"
12421
- ExcludeCombatTechniques: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<CombatTechniqueIdentifier>
12422
- }
12423
-
12424
- export type ApplicableCombatTechniquesRaceRestriction = Race_ID
12441
+ export interface ApplicableAllCombatTechniquesRestrictions {
12442
+ isImprovised?: boolean
12443
+ hasPointedBlade?: boolean
12444
+ whileMounted?: boolean
12445
+ race?: Race_ID
12446
+ excludeCombatTechniques?: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<CombatTechniqueIdentifier>
12447
+ }
12425
12448
 
12426
12449
  export interface ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<Ref> {
12427
12450
  /**
@@ -12431,62 +12454,50 @@ export interface ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<R
12431
12454
  }
12432
12455
 
12433
12456
  export interface AllApplicableCloseCombatTechniques {
12434
- restriction?: ApplicableCloseCombatTechniquesRestriction
12457
+ restrictions?: ApplicableCloseCombatTechniquesRestrictions
12435
12458
  }
12436
12459
 
12437
- export type ApplicableCloseCombatTechniquesRestriction =
12438
- | {
12439
- kind: "Improvised"
12440
- }
12441
- | {
12442
- kind: "PointedBlade"
12443
- }
12444
- | {
12445
- kind: "Mount"
12446
- }
12447
- | {
12448
- kind: "HasParry"
12449
- }
12450
- | {
12451
- kind: "OneHanded"
12452
- }
12453
- | {
12454
- kind: "TwoHanded"
12455
- }
12456
- | {
12457
- kind: "ParryingWeapon"
12458
- }
12459
- | {
12460
- kind: "Race"
12461
- Race: ApplicableCombatTechniquesRaceRestriction
12462
- }
12460
+ export interface ApplicableCloseCombatTechniquesRestrictions {
12461
+ isImprovised?: boolean
12462
+
12463
+ hasPointedBlade?: boolean
12464
+
12465
+ whileMounted?: boolean
12466
+
12467
+ hasParry?: boolean
12468
+
12469
+ isOneHanded?: boolean
12470
+
12471
+ isTwoHanded?: boolean
12472
+
12473
+ isParryingWeapon?: boolean
12474
+
12475
+ race?: Race_ID
12476
+
12477
+ /**
12478
+ * Only a class of melee weapon is allowed
12479
+ */
12480
+ weaponClass?: MeleeWeaponClass
12481
+
12482
+ excludeCombatTechniques?: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<CloseCombatTechnique_ID>
12483
+ }
12484
+
12485
+ export type MeleeWeaponClass =
12463
12486
  | {
12464
- kind: "ExcludeCombatTechniques"
12465
- ExcludeCombatTechniques: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<CloseCombatTechnique_ID>
12487
+ kind: "Axe"
12466
12488
  }
12467
12489
 
12468
12490
  export interface AllApplicableRangedCombatTechniques {
12469
- restriction?: ApplicableRangedCombatTechniquesRestriction
12491
+ restrictions?: ApplicableRangedCombatTechniquesRestrictions
12470
12492
  }
12471
12493
 
12472
- export type ApplicableRangedCombatTechniquesRestriction =
12473
- | {
12474
- kind: "Improvised"
12475
- }
12476
- | {
12477
- kind: "PointedBlade"
12478
- }
12479
- | {
12480
- kind: "Mount"
12481
- }
12482
- | {
12483
- kind: "Race"
12484
- Race: ApplicableCombatTechniquesRaceRestriction
12485
- }
12486
- | {
12487
- kind: "ExcludeCombatTechniques"
12488
- ExcludeCombatTechniques: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<RangedCombatTechnique_ID>
12489
- }
12494
+ export interface ApplicableRangedCombatTechniquesRestrictions {
12495
+ isImprovised?: boolean
12496
+ hasPointedBlade?: boolean
12497
+ whileMounted?: boolean
12498
+ race?: Race_ID
12499
+ excludeCombatTechniques?: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<RangedCombatTechnique_ID>
12500
+ }
12490
12501
 
12491
12502
  export interface SpecificApplicableCombatTechniques {
12492
12503
  list: SpecificApplicableCombatTechnique[]
@@ -12495,7 +12506,7 @@ export interface SpecificApplicableCombatTechniques {
12495
12506
  export interface SpecificApplicableCombatTechnique {
12496
12507
  id: CombatTechniqueIdentifier
12497
12508
 
12498
- restriction?: ApplicableSpecificCombatTechniquesRestriction
12509
+ restrictions?: ApplicableSpecificCombatTechniquesRestrictions
12499
12510
 
12500
12511
  /**
12501
12512
  * All translations for the entry, identified by IETF language tag (BCP47).
@@ -12512,38 +12523,26 @@ export interface SpecificApplicableCombatTechnique {
12512
12523
 
12513
12524
  export interface SpecificApplicableCombatTechniqueTranslation {
12514
12525
  /**
12515
- * The additional restriction of the combat technique.
12526
+ * The additional restriction(s) of the combat technique.
12516
12527
  */
12517
- restriction: string
12528
+ restrictions: string
12518
12529
  }
12519
12530
 
12520
- export type ApplicableSpecificCombatTechniquesRestriction =
12521
- | {
12522
- kind: "Improvised"
12523
- }
12524
- | {
12525
- kind: "PointedBlade"
12526
- }
12527
- | {
12528
- kind: "Mount"
12529
- }
12530
- | {
12531
- kind: "Race"
12532
- Race: ApplicableCombatTechniquesRaceRestriction
12533
- }
12534
- | {
12535
- kind: "Level"
12536
- Level: ApplicableCombatTechniquesLevelRestriction
12537
- }
12538
- | {
12539
- kind: "OneBluntSide"
12540
- }
12531
+ export interface ApplicableSpecificCombatTechniquesRestrictions {
12532
+ isImprovised?: boolean
12533
+
12534
+ hasPointedBlade?: boolean
12535
+
12536
+ whileMounted?: boolean
12537
+
12538
+ race?: Race_ID
12541
12539
 
12542
- export interface ApplicableCombatTechniquesLevelRestriction {
12543
12540
  /**
12544
12541
  * The combat special ability is only applicable on a certain level.
12545
12542
  */
12546
- level: number
12543
+ level?: number
12544
+
12545
+ hasOneBluntSide?: boolean
12547
12546
  }
12548
12547
 
12549
12548
  export interface Weapon {
@@ -13234,10 +13233,20 @@ export interface RestrictedToBlessedTraditions {
13234
13233
  }
13235
13234
 
13236
13235
  export interface RestrictedToBlessedTraditionsTranslation {
13236
+ /**
13237
+ * The item’s sanctified prefix, if different from the generated one.
13238
+ */
13239
+ sanctified?: string
13240
+
13237
13241
  /**
13238
13242
  * The item’s name and surrounding words influenced by grammatical agreement.
13239
13243
  */
13240
13244
  item: string
13245
+
13246
+ /**
13247
+ * The blessed ones able to buy the item, if different from the generated one.
13248
+ */
13249
+ blessedOnes?: string
13241
13250
  }
13242
13251
 
13243
13252
  /**
@@ -14207,6 +14216,10 @@ export type AdvancedSpecialAbility<Identifier> =
14207
14216
  kind: "DeriveFromExternalOption"
14208
14217
  DeriveFromExternalOption: AdvancedSpecialAbilityDerivedFromExternalOption<Identifier>
14209
14218
  }
14219
+ | {
14220
+ kind: "ByOption"
14221
+ ByOption: AdvancedSpecialAbilityByOption<Identifier>
14222
+ }
14210
14223
  | {
14211
14224
  kind: "Any"
14212
14225
  }
@@ -14559,6 +14572,60 @@ export interface AttributeAnimalPower {
14559
14572
  value: number
14560
14573
  }
14561
14574
 
14575
+ export interface AdvancedSpecialAbilityByOption<Identifier> {
14576
+ /**
14577
+ * Map options from the external entry to allowed advanced special abilities.
14578
+ */
14579
+ map: AdvancedSpecialAbilityByOptionMapping<Identifier>[]
14580
+
14581
+ /**
14582
+ * One of the options counts all fallback options and should be sorted last in the list.
14583
+ */
14584
+ fallbackOption?: GeneralSelectOption_ID
14585
+
14586
+ /**
14587
+ * All translations for the entry, identified by IETF language tag (BCP47).
14588
+ */
14589
+ translations?: {
14590
+ [localeId: string]: AdvancedSpecialAbilityByOptionTranslation
14591
+ }
14592
+ }
14593
+
14594
+ export interface AdvancedSpecialAbilityByOptionTranslation {
14595
+ /**
14596
+ * How to label all options before listing each option with its advanced special ability/-ies.
14597
+ */
14598
+ label: string
14599
+ }
14600
+
14601
+ /**
14602
+ * Mapping from an option of this entry to an allowed advanced special ability.
14603
+ */
14604
+ export interface AdvancedSpecialAbilityByOptionMapping<Identifier> {
14605
+ /**
14606
+ * The select option’s identifier.
14607
+ */
14608
+ option: Patron_ID
14609
+
14610
+ /**
14611
+ * The advanced special ability’s identifier.
14612
+ */
14613
+ associatedAdvanced: AdvancedSpecialAbilityByOptionMappingRule<Identifier>
14614
+ }
14615
+
14616
+ /**
14617
+ * A reference to an advanced special ability.
14618
+ */
14619
+ export type AdvancedSpecialAbilityByOptionMappingRule<Identifier> =
14620
+ | {
14621
+ kind: "General"
14622
+ General: Identifier
14623
+ }
14624
+ | {
14625
+ kind: "OneOf"
14626
+ OneOf: OneOfAdvancedSpecialAbilityOptions<Identifier>
14627
+ }
14628
+
14562
14629
  export interface CommandSpecialAbility {
14563
14630
  /**
14564
14631
  * Number of available levels.
@@ -22180,7 +22247,7 @@ export interface CommonName {
22180
22247
  note?: string
22181
22248
  }
22182
22249
 
22183
- export interface RatedMinimumNumberPrerequisite {
22250
+ export interface RatedMinimumNumberPrerequisiteForProfession {
22184
22251
  /**
22185
22252
  * The minimum number of skills that need to be on the defined minimum skill rating.
22186
22253
  */
@@ -22194,12 +22261,12 @@ export interface RatedMinimumNumberPrerequisite {
22194
22261
  /**
22195
22262
  * The targets that contribute to satisfying the prerequisite.
22196
22263
  */
22197
- targets: RatedMinimumNumberPrerequisiteTarget
22264
+ targets: RatedMinimumNumberPrerequisiteTargetForProfession
22198
22265
 
22199
22266
  display_option?: DisplayOption
22200
22267
  }
22201
22268
 
22202
- export type RatedMinimumNumberPrerequisiteTarget =
22269
+ export type RatedMinimumNumberPrerequisiteTargetForProfession =
22203
22270
  | {
22204
22271
  kind: "Skills"
22205
22272
  Skills: RatedMinimumNumberPrerequisiteSkillsTarget
@@ -22210,7 +22277,7 @@ export type RatedMinimumNumberPrerequisiteTarget =
22210
22277
  }
22211
22278
  | {
22212
22279
  kind: "Spellworks"
22213
- Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
22280
+ Spellworks: RatedMinimumNumberPrerequisiteSpellworksTargetForProfession
22214
22281
  }
22215
22282
  | {
22216
22283
  kind: "Liturgies"
@@ -22242,16 +22309,19 @@ export type RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup =
22242
22309
  kind: "Ranged"
22243
22310
  }
22244
22311
 
22245
- export interface RatedMinimumNumberPrerequisiteSpellworksTarget {
22246
- /**
22247
- * The skills that are taken into account for satisfying the prerequisite.
22248
- */
22249
- property: Property_ID
22250
- }
22312
+ export type RatedMinimumNumberPrerequisiteSpellworksTargetForProfession =
22313
+ | {
22314
+ kind: "Specific"
22315
+ Specific: Property_ID
22316
+ }
22317
+ | {
22318
+ kind: "SelectOptions"
22319
+ SelectOptions: SpecialAbilityIdentifier
22320
+ }
22251
22321
 
22252
22322
  export interface RatedMinimumNumberPrerequisiteLiturgiesTarget {
22253
22323
  /**
22254
- * The skills that are taken into account for satisfying the prerequisite.
22324
+ * The aspect of which the liturgical chants are taken into account for satisfying the prerequisite.
22255
22325
  */
22256
22326
  aspect: Aspect_ID
22257
22327
  }
@@ -22285,6 +22355,22 @@ export interface ProfessionPackageOptions {
22285
22355
  spellworks?: SpellworksOptions
22286
22356
  spellworksForChosenProperty?: SpellworksForChosenProperty
22287
22357
  liturgies?: LiturgiesOptions
22358
+ lockAdventurePoints?: LockAdventurePointsOption
22359
+ }
22360
+
22361
+ /**
22362
+ * Keep AP for use after character creation to buy or improve entries.
22363
+ */
22364
+ export interface LockAdventurePointsOption {
22365
+ /**
22366
+ * The AP value that is going to be locked for later use.
22367
+ */
22368
+ apValue: number
22369
+
22370
+ /**
22371
+ * The entries the AP can be used for.
22372
+ */
22373
+ entries: SpellworkIdentifier[]
22288
22374
  }
22289
22375
 
22290
22376
  export interface InfluenceEffect {
@@ -23084,6 +23170,50 @@ export type SpecialAbilityGroup =
23084
23170
  kind: "WeaponEnchantment"
23085
23171
  }
23086
23172
 
23173
+ export interface RatedMinimumNumberPrerequisite {
23174
+ /**
23175
+ * The minimum number of skills that need to be on the defined minimum skill rating.
23176
+ */
23177
+ number: number
23178
+
23179
+ /**
23180
+ * The minimum skill rating the defined minimum number of skills need to be on.
23181
+ */
23182
+ value: number
23183
+
23184
+ /**
23185
+ * The targets that contribute to satisfying the prerequisite.
23186
+ */
23187
+ targets: RatedMinimumNumberPrerequisiteTarget
23188
+
23189
+ display_option?: DisplayOption
23190
+ }
23191
+
23192
+ export type RatedMinimumNumberPrerequisiteTarget =
23193
+ | {
23194
+ kind: "Skills"
23195
+ Skills: RatedMinimumNumberPrerequisiteSkillsTarget
23196
+ }
23197
+ | {
23198
+ kind: "CombatTechniques"
23199
+ CombatTechniques: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
23200
+ }
23201
+ | {
23202
+ kind: "Spellworks"
23203
+ Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
23204
+ }
23205
+ | {
23206
+ kind: "Liturgies"
23207
+ Liturgies: RatedMinimumNumberPrerequisiteLiturgiesTarget
23208
+ }
23209
+
23210
+ export interface RatedMinimumNumberPrerequisiteSpellworksTarget {
23211
+ /**
23212
+ * The property of which the spells are taken into account for satisfying the prerequisite.
23213
+ */
23214
+ property: Property_ID
23215
+ }
23216
+
23087
23217
  export interface RatedSumPrerequisite {
23088
23218
  /**
23089
23219
  * The minimum required sum of the targets’ ratings.
@@ -23891,6 +24021,20 @@ export interface StandardArmorType {
23891
24021
  * An armor type can have a *sturdiness rating*. The higher the rating, the more durable the armor. Rolling higher than this rating during a sturdiness check means the armor receives one level of the new condition *Wear*.
23892
24022
  */
23893
24023
  sturdinessRating: number
24024
+
24025
+ /**
24026
+ * All translations for the entry, identified by IETF language tag (BCP47).
24027
+ */
24028
+ translations: {
24029
+ [localeId: string]: StandardArmorTypeTranslation
24030
+ }
24031
+ }
24032
+
24033
+ export interface StandardArmorTypeTranslation {
24034
+ /**
24035
+ * The name of this armor when referenced as the base of a variant in a note.
24036
+ */
24037
+ nameInNote: string
23894
24038
  }
23895
24039
 
23896
24040
  /**
@@ -23906,6 +24050,20 @@ export interface StandardVariantArmorType {
23906
24050
  * An armor type can have a *sturdiness rating*. The higher the rating, the more durable the armor. Rolling higher than this rating during a sturdiness check means the armor receives one level of the new condition *Wear*.
23907
24051
  */
23908
24052
  sturdinessRating: number
24053
+
24054
+ /**
24055
+ * All translations for the entry, identified by IETF language tag (BCP47).
24056
+ */
24057
+ translations: {
24058
+ [localeId: string]: StandardVariantArmorTypeTranslation
24059
+ }
24060
+ }
24061
+
24062
+ export interface StandardVariantArmorTypeTranslation {
24063
+ /**
24064
+ * The name of this armor when referenced as being a variant of another armor in a note.
24065
+ */
24066
+ nameInNote: string
23909
24067
  }
23910
24068
 
23911
24069
  /**
@@ -23916,6 +24074,20 @@ export interface VariantArmorType {
23916
24074
  * The standard armor this armor is a variant of.
23917
24075
  */
23918
24076
  variantOf: Armor_ID
24077
+
24078
+ /**
24079
+ * All translations for the entry, identified by IETF language tag (BCP47).
24080
+ */
24081
+ translations: {
24082
+ [localeId: string]: VariantArmorTypeTranslation
24083
+ }
24084
+ }
24085
+
24086
+ export interface VariantArmorTypeTranslation {
24087
+ /**
24088
+ * The name of this armor when referenced as being a variant of another armor in a note.
24089
+ */
24090
+ nameInNote: string
23919
24091
  }
23920
24092
 
23921
24093
  /**
@@ -25501,9 +25673,9 @@ export interface EquipmentOfBlessedOnes {
25501
25673
  structure_points: StructurePoints
25502
25674
 
25503
25675
  /**
25504
- * Define if during character creation this item can only be bought by a specific subset of characters.
25676
+ * The traditions this item is associated with.
25505
25677
  */
25506
- restrictedTo?: RestrictedTo
25678
+ associatedTraditions: AssociatedTradition[]
25507
25679
 
25508
25680
  /**
25509
25681
  * The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.
@@ -25552,6 +25724,15 @@ export interface EquipmentOfBlessedOnesTranslation {
25552
25724
  errata?: Errata
25553
25725
  }
25554
25726
 
25727
+ export type AssociatedTradition =
25728
+ | {
25729
+ kind: "Specific"
25730
+ Specific: BlessedTradition_ID
25731
+ }
25732
+ | {
25733
+ kind: "ManyShamans"
25734
+ }
25735
+
25555
25736
  export interface EquipmentPackage {
25556
25737
  /**
25557
25738
  * All items in the package. You have to provide the item (template) identifier and you can optionally provide the number of how often an item is included in the package.
@@ -25660,6 +25841,10 @@ export type EquipmentIdentifier =
25660
25841
  kind: "IlluminationRefillOrSupply"
25661
25842
  IlluminationRefillOrSupply: IlluminationRefillOrSupply_ID
25662
25843
  }
25844
+ | {
25845
+ kind: "ItemComponent"
25846
+ ItemComponent: ItemComponent_ID
25847
+ }
25663
25848
  | {
25664
25849
  kind: "Jewelry"
25665
25850
  Jewelry: Jewelry_ID
@@ -25958,6 +26143,317 @@ export interface IlluminationRefillOrSupplyTranslation {
25958
26143
  errata?: Errata
25959
26144
  }
25960
26145
 
26146
+ export interface ItemComponent {
26147
+ /**
26148
+ * The cost in silverthalers.
26149
+ */
26150
+ cost: ItemComponentCost
26151
+
26152
+ /**
26153
+ * The items the component can be applied to.
26154
+ */
26155
+ applicableItems: ApplicableItems
26156
+
26157
+ /**
26158
+ * Other components this component is not compatible with.
26159
+ */
26160
+ incompatibleWith?: ItemComponent_ID[]
26161
+
26162
+ /**
26163
+ * Special rules for the item component.
26164
+ */
26165
+ rules?: ItemComponentRules
26166
+
26167
+ /**
26168
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26169
+ */
26170
+ src: PublicationRefs
26171
+
26172
+ /**
26173
+ * All translations for the entry, identified by IETF language tag (BCP47).
26174
+ */
26175
+ translations: {
26176
+ [localeId: string]: ItemComponentTranslation
26177
+ }
26178
+ }
26179
+
26180
+ /**
26181
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
26182
+ */
26183
+ export type ItemComponent_ID = string
26184
+
26185
+ export interface ItemComponentTranslation {
26186
+ /**
26187
+ * The item’s name.
26188
+ */
26189
+ name: string
26190
+
26191
+ /**
26192
+ * Special rules text.
26193
+ */
26194
+ rules?: string
26195
+
26196
+ /**
26197
+ * The items the component can be applied to. Used if the generated text is not sufficient.
26198
+ */
26199
+ applicableItems?: string
26200
+
26201
+ errata?: Errata
26202
+ }
26203
+
26204
+ export interface ItemComponentOption {
26205
+ /**
26206
+ * The item component this option belongs to.
26207
+ */
26208
+ parent: ItemComponent_ID
26209
+
26210
+ /**
26211
+ * The cost in silverthalers.
26212
+ */
26213
+ cost: number
26214
+
26215
+ /**
26216
+ * All translations for the entry, identified by IETF language tag (BCP47).
26217
+ */
26218
+ translations: {
26219
+ [localeId: string]: ItemComponentOptionTranslation
26220
+ }
26221
+ }
26222
+
26223
+ /**
26224
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
26225
+ */
26226
+ export type ItemComponentOption_ID = string
26227
+
26228
+ export interface ItemComponentOptionTranslation {
26229
+ /**
26230
+ * The label for the option.
26231
+ */
26232
+ label: string
26233
+ }
26234
+
26235
+ /**
26236
+ * The cost in silverthalers.
26237
+ */
26238
+ export type ItemComponentCost =
26239
+ | {
26240
+ kind: "Fixed"
26241
+ Fixed: FixedCost
26242
+ }
26243
+ | {
26244
+ kind: "ByCombatTechnique"
26245
+ ByCombatTechnique: ItemComponentCostByCombatTechnique
26246
+ }
26247
+ | {
26248
+ kind: "Factor"
26249
+ Factor: number
26250
+ }
26251
+ | {
26252
+ kind: "DerivedFromOption"
26253
+ }
26254
+
26255
+ export interface ItemComponentCostByCombatTechnique {
26256
+ /**
26257
+ * The cost in silverthalers for close combat techniques.
26258
+ */
26259
+ close?: {
26260
+ [closeCombatTechniqueId: string]: ItemComponentCostByCloseCombatTechnique
26261
+ }
26262
+
26263
+ /**
26264
+ * The cost in silverthalers for ranged combat techniques.
26265
+ */
26266
+ ranged?: {
26267
+ [rangedCombatTechniqueId: string]: ItemComponentCostByRangedCombatTechnique
26268
+ }
26269
+ }
26270
+
26271
+ export interface ItemComponentCostByCloseCombatTechnique {
26272
+ /**
26273
+ * The cost in silverthalers for the close combat technique.
26274
+ */
26275
+ value: number
26276
+
26277
+ /**
26278
+ * All translations for the entry, identified by IETF language tag (BCP47).
26279
+ */
26280
+ translations?: {
26281
+ [localeId: string]: ItemComponentCostByCloseCombatTechniqueTranslation
26282
+ }
26283
+ }
26284
+
26285
+ export interface ItemComponentCostByRangedCombatTechnique {
26286
+ /**
26287
+ * The cost in silverthalers for the ranged combat technique.
26288
+ */
26289
+ value: number
26290
+
26291
+ /**
26292
+ * All translations for the entry, identified by IETF language tag (BCP47).
26293
+ */
26294
+ translations?: {
26295
+ [localeId: string]: ItemComponentCostByRangedCombatTechniqueTranslation
26296
+ }
26297
+ }
26298
+
26299
+ /**
26300
+ * The items the component can be applied to.
26301
+ */
26302
+ export type ApplicableItems =
26303
+ | {
26304
+ kind: "MeleeWeapon"
26305
+ MeleeWeapon: ApplicableMeleeWeapons
26306
+ }
26307
+ | {
26308
+ kind: "RangedWeapon"
26309
+ RangedWeapon: ApplicableRangedWeapons
26310
+ }
26311
+ | {
26312
+ kind: "Ammunition"
26313
+ Ammunition: ApplicableAmmunition
26314
+ }
26315
+ | {
26316
+ kind: "Armor"
26317
+ Armor: ApplicableArmor
26318
+ }
26319
+
26320
+ export interface ApplicableMeleeWeapons {
26321
+ /**
26322
+ * Specific weapons this component can be applied to.
26323
+ */
26324
+ weapons?: Weapon_ID[]
26325
+
26326
+ /**
26327
+ * Weapons of combat techniques this component can be applied to.
26328
+ */
26329
+ combatTechniques?: CloseCombatTechnique_ID[]
26330
+
26331
+ /**
26332
+ * The category of weapons this component can be applied to.
26333
+ */
26334
+ category?: ApplicableMeleeWeaponCategory
26335
+ }
26336
+
26337
+ export type ApplicableMeleeWeaponCategory =
26338
+ | {
26339
+ kind: "HasMetalSurface"
26340
+ }
26341
+ | {
26342
+ kind: "HasMetalBladeOrTip"
26343
+ }
26344
+
26345
+ export interface ApplicableRangedWeapons {
26346
+ /**
26347
+ * Specific weapons this component can be applied to.
26348
+ */
26349
+ weapons?: Weapon_ID[]
26350
+
26351
+ /**
26352
+ * Weapons of combat techniques this component can be applied to.
26353
+ */
26354
+ combatTechniques?: RangedCombatTechnique_ID[]
26355
+
26356
+ /**
26357
+ * The minimum reload time a crossbow must have for it to be compatible with this component.
26358
+ */
26359
+ minimumReloadTime?: number
26360
+
26361
+ /**
26362
+ * Whether the crossbow must use bullets to be compatible with this component.
26363
+ */
26364
+ usesBullets?: boolean
26365
+ }
26366
+
26367
+ export interface ApplicableAmmunition {
26368
+ /**
26369
+ * Specific ammunition this component can be applied to.
26370
+ */
26371
+ ammunition?: Ammunition_ID[]
26372
+
26373
+ /**
26374
+ * Whether the list of ammunition is inverted, i.e. whether the component can be applied to all ammunition – or those of the specified category – except for the listed ammunition.
26375
+ */
26376
+ invertAmmunition?: boolean
26377
+
26378
+ /**
26379
+ * The category of weapons this component can be applied to.
26380
+ */
26381
+ category?: ApplicableAmmunitionCategory
26382
+ }
26383
+
26384
+ export type ApplicableAmmunitionCategory =
26385
+ | {
26386
+ kind: "ArrowOrBolt"
26387
+ }
26388
+
26389
+ export interface ApplicableArmor {
26390
+ /**
26391
+ * Specific armor this component can be applied to.
26392
+ */
26393
+ armor?: Armor_ID[]
26394
+
26395
+ /**
26396
+ * The category of weapons this component can be applied to.
26397
+ */
26398
+ category?: ApplicableArmorCategory
26399
+ }
26400
+
26401
+ export type ApplicableArmorCategory =
26402
+ | {
26403
+ kind: "Metal"
26404
+ }
26405
+
26406
+ export interface ItemComponentRules {
26407
+ baseItemModifications?: ItemComponentBaseItemModifications
26408
+ }
26409
+
26410
+ export interface ItemComponentBaseItemModifications {
26411
+ /**
26412
+ * The damage points added to the damage points of the base item. Negative values lower the damage points.
26413
+ */
26414
+ damagePoints?: number
26415
+
26416
+ /**
26417
+ * The attack modifier added to the attack modifier of the base item. Negative values lower the attack modifier.
26418
+ */
26419
+ attackModifier?: number
26420
+
26421
+ /**
26422
+ * The parry modifier added to the parry modifier of the base item. Negative values lower the parry modifier.
26423
+ */
26424
+ parryModifier?: number
26425
+
26426
+ /**
26427
+ * The protection added to the protection of the base item. Negative values lower the protection.
26428
+ */
26429
+ protection?: number
26430
+
26431
+ /**
26432
+ * The encumbrance added to the encumbrance of the base item. Negative values lower the encumbrance.
26433
+ */
26434
+ encumbrance?: number
26435
+
26436
+ /**
26437
+ * The range added to the range of the base item. Negative values lower the range.
26438
+ */
26439
+ range?: number
26440
+
26441
+ /**
26442
+ * The reload time added to the reload time of the base item. Negative values lower the reload time.
26443
+ */
26444
+ reloadTime?: number
26445
+
26446
+ /**
26447
+ * The weight added to the weight of the base item. Negative values lower the weight.
26448
+ */
26449
+ weight?: number
26450
+
26451
+ /**
26452
+ * The breaking point rating added to the breaking point rating of the base item. Negative values lower the breaking point rating.
26453
+ */
26454
+ breakingPointRating?: number
26455
+ }
26456
+
25961
26457
  export interface Jewelry {
25962
26458
  /**
25963
26459
  * The cost in silverthalers.