@optolith/database-schema 0.99.0 → 0.101.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 (40) hide show
  1. package/CHANGELOG.md +40 -0
  2. package/gen/types.d.ts +628 -123
  3. package/lib/main.js +1 -0
  4. package/lib/types/Culture.d.ts +312 -152
  5. package/lib/types/Locale.d.ts +8 -1
  6. package/lib/types/Locale.js +5 -0
  7. package/lib/types/Profession.d.ts +807 -466
  8. package/lib/types/Profession.js +20 -0
  9. package/lib/types/Race.d.ts +624 -304
  10. package/lib/types/_ActivatableAdvanced.d.ts +28 -0
  11. package/lib/types/_ActivatableAdvanced.js +57 -1
  12. package/lib/types/_ActivatableCombat.d.ts +45 -41
  13. package/lib/types/_ActivatableCombat.js +71 -77
  14. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +80 -2
  15. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +58 -3
  16. package/lib/types/_Identifier.d.ts +1 -0
  17. package/lib/types/_Identifier.js +2 -0
  18. package/lib/types/_IdentifierGroup.d.ts +1 -0
  19. package/lib/types/_IdentifierGroup.js +2 -1
  20. package/lib/types/equipment/EquipmentPackage.d.ts +1 -0
  21. package/lib/types/equipment/item/ItemComponent.d.ts +128 -0
  22. package/lib/types/equipment/item/ItemComponent.js +316 -0
  23. package/lib/types/index.d.ts +1 -0
  24. package/lib/types/index.js +1 -0
  25. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +80 -5
  26. package/lib/types/prerequisites/PrerequisiteGroups.js +5 -1
  27. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +2 -2
  28. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisiteForProfession.d.ts +150 -0
  29. package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisiteForProfession.js +53 -0
  30. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +42 -41
  31. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +42 -41
  32. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +42 -41
  33. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +70 -41
  34. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +42 -41
  35. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +28 -0
  36. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +28 -0
  37. package/lib/types/specialAbility/MagicalTradition.d.ts +1 -0
  38. package/lib/types/specialAbility/MagicalTradition.js +5 -1
  39. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +28 -0
  40. package/package.json +2 -2
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,11 +247,11 @@ 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
@@ -294,6 +298,7 @@ export type EnumMap = {
294
298
  CombatTechniquesSelectOptionCategoryCategory: CombatTechniquesSelectOptionCategoryCategory
295
299
  CombatUse: CombatUse
296
300
  CommonCantripNote: CommonCantripNote
301
+ CommonnessRatedAdvantageDisadvantage: CommonnessRatedAdvantageDisadvantage<unknown>
297
302
  CommonnessRatedAdvantageDisadvantageLevel: CommonnessRatedAdvantageDisadvantageLevel
298
303
  CommonnessSelectOptionIdentifier: CommonnessSelectOptionIdentifier
299
304
  CommonnessWeight: CommonnessWeight
@@ -357,6 +362,7 @@ export type EnumMap = {
357
362
  IndefiniteArcaneEnergyCostModifierArithmetic: IndefiniteArcaneEnergyCostModifierArithmetic
358
363
  InfluencePrerequisiteGroup: InfluencePrerequisiteGroup
359
364
  IntoxicantAddictionWithdrawalPreventionInterval: IntoxicantAddictionWithdrawalPreventionInterval
365
+ ItemComponentCost: ItemComponentCost
360
366
  JesterTrickDuration: JesterTrickDuration
361
367
  JesterTrickRange: JesterTrickRange
362
368
  KnownItemAge: KnownItemAge
@@ -383,6 +389,7 @@ export type EnumMap = {
383
389
  MathOperation: MathOperation<unknown>
384
390
  MaximumIndefiniteCurseDuration: MaximumIndefiniteCurseDuration
385
391
  MaximumIndefiniteDominationRitualDuration: MaximumIndefiniteDominationRitualDuration
392
+ MeleeWeaponClass: MeleeWeaponClass
386
393
  MundaneBookType: MundaneBookType
387
394
  MundaneCommonProfessionConstraint: MundaneCommonProfessionConstraint
388
395
  MundaneProfessionGroup: MundaneProfessionGroup
@@ -433,7 +440,9 @@ export type EnumMap = {
433
440
  Rarity: Rarity
434
441
  RatedIdentifier: RatedIdentifier
435
442
  RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup: RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup
443
+ RatedMinimumNumberPrerequisiteSpellworksTargetForProfession: RatedMinimumNumberPrerequisiteSpellworksTargetForProfession
436
444
  RatedMinimumNumberPrerequisiteTarget: RatedMinimumNumberPrerequisiteTarget
445
+ RatedMinimumNumberPrerequisiteTargetForProfession: RatedMinimumNumberPrerequisiteTargetForProfession
437
446
  RecipeComplexity: RecipeComplexity
438
447
  ReferenceListNodeImprovementCostSourceTarget: ReferenceListNodeImprovementCostSourceTarget
439
448
  ReferenceListNodeSource: ReferenceListNodeSource
@@ -503,6 +512,8 @@ export type TypeAliasMap = {
503
512
  ActivatableSkillEffectForEachTwoQualityLevels: ActivatableSkillEffectForEachTwoQualityLevels
504
513
  ActivatableSkillPlainEffect: ActivatableSkillPlainEffect
505
514
  ActivationAndHalfIntervalArcaneEnergyCost: ActivationAndHalfIntervalArcaneEnergyCost
515
+ AdvancedSpecialAbilityByOption: AdvancedSpecialAbilityByOption<unknown>
516
+ AdvancedSpecialAbilityByOptionMapping: AdvancedSpecialAbilityByOptionMapping<unknown>
506
517
  AdvancedSpecialAbilityDerivedFromExternalOption: AdvancedSpecialAbilityDerivedFromExternalOption<unknown>
507
518
  AdvancedSpecialAbilityDerivedFromExternalOptionMapping: AdvancedSpecialAbilityDerivedFromExternalOptionMapping<unknown>
508
519
  AdvantageAnimalPower: AdvantageAnimalPower
@@ -536,9 +547,15 @@ export type TypeAliasMap = {
536
547
  AnimistPowerPrerequisite: AnimistPowerPrerequisite
537
548
  AnimistPowerPrerequisites: AnimistPowerPrerequisites
538
549
  AnySpecialAbilityOfGroupPrerequisite: AnySpecialAbilityOfGroupPrerequisite
539
- ApplicableCombatTechniquesLevelRestriction: ApplicableCombatTechniquesLevelRestriction
550
+ ApplicableAllCombatTechniquesRestrictions: ApplicableAllCombatTechniquesRestrictions
551
+ ApplicableAmmunition: ApplicableAmmunition
552
+ ApplicableArmor: ApplicableArmor
553
+ ApplicableCloseCombatTechniquesRestrictions: ApplicableCloseCombatTechniquesRestrictions
540
554
  ApplicableCombatTechniquesNegativeCombatTechniquesRestriction: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<unknown>
541
- ApplicableCombatTechniquesRaceRestriction: ApplicableCombatTechniquesRaceRestriction
555
+ ApplicableMeleeWeapons: ApplicableMeleeWeapons
556
+ ApplicableRangedCombatTechniquesRestrictions: ApplicableRangedCombatTechniquesRestrictions
557
+ ApplicableRangedWeapons: ApplicableRangedWeapons
558
+ ApplicableSpecificCombatTechniquesRestrictions: ApplicableSpecificCombatTechniquesRestrictions
542
559
  Applications: Applications
543
560
  ArcaneBardTraditionReference: ArcaneBardTraditionReference
544
561
  ArcaneDancerTraditionReference: ArcaneDancerTraditionReference
@@ -600,7 +617,7 @@ export type TypeAliasMap = {
600
617
  CommonName: CommonName
601
618
  CommonNameGroup: CommonNameGroup
602
619
  CommonNames: CommonNames
603
- CommonnessRatedAdvantageDisadvantage: CommonnessRatedAdvantageDisadvantage<unknown>
620
+ CommonnessRatedAdvantageDisadvantageGroup: CommonnessRatedAdvantageDisadvantageGroup<unknown>
604
621
  CommonnessRatedSkill: CommonnessRatedSkill
605
622
  CommonProfessionConstraints: CommonProfessionConstraints<unknown>
606
623
  ComplexComplexity: ComplexComplexity
@@ -750,6 +767,10 @@ export type TypeAliasMap = {
750
767
  IntoxicantAddictionWithdrawalPrevention: IntoxicantAddictionWithdrawalPrevention
751
768
  IntoxicantLegality: IntoxicantLegality
752
769
  InvaluableCost: InvaluableCost
770
+ ItemComponentBaseItemModifications: ItemComponentBaseItemModifications
771
+ ItemComponentCostByCombatTechnique: ItemComponentCostByCombatTechnique
772
+ ItemComponentCostByCombatTechniqueTranslation: ItemComponentCostByCombatTechniqueTranslation
773
+ ItemComponentRules: ItemComponentRules
753
774
  JesterTrickCastingTime: JesterTrickCastingTime
754
775
  JesterTrickCost: JesterTrickCost
755
776
  JesterTrickPerformanceParameters: JesterTrickPerformanceParameters
@@ -769,6 +790,7 @@ export type TypeAliasMap = {
769
790
  LiturgyPrerequisites: LiturgyPrerequisites
770
791
  LiturgyTraditionWithAspects: LiturgyTraditionWithAspects
771
792
  LocaleMeasurementAdjustments: LocaleMeasurementAdjustments
793
+ LockAdventurePointsOption: LockAdventurePointsOption
772
794
  MagicalDancePerformanceParameters: MagicalDancePerformanceParameters
773
795
  MagicalMelodyPerformanceParameters: MagicalMelodyPerformanceParameters
774
796
  MagicalProfessionGroup: MagicalProfessionGroup
@@ -882,6 +904,7 @@ export type TypeAliasMap = {
882
904
  RangedWeapon: RangedWeapon
883
905
  RatedMinimumNumberPrerequisite: RatedMinimumNumberPrerequisite
884
906
  RatedMinimumNumberPrerequisiteCombatTechniquesTarget: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
907
+ RatedMinimumNumberPrerequisiteForProfession: RatedMinimumNumberPrerequisiteForProfession
885
908
  RatedMinimumNumberPrerequisiteLiturgiesTarget: RatedMinimumNumberPrerequisiteLiturgiesTarget
886
909
  RatedMinimumNumberPrerequisiteSkillsTarget: RatedMinimumNumberPrerequisiteSkillsTarget
887
910
  RatedMinimumNumberPrerequisiteSpellworksTarget: RatedMinimumNumberPrerequisiteSpellworksTarget
@@ -930,6 +953,8 @@ export type TypeAliasMap = {
930
953
  ShamanisticBlessedTradition: ShamanisticBlessedTradition
931
954
  Since: Since
932
955
  SingleBannzeichenCost: SingleBannzeichenCost
956
+ SingleCommonnessRatedAdvantageDisadvantage: SingleCommonnessRatedAdvantageDisadvantage<unknown>
957
+ SingleCommonnessRatedAdvantageDisadvantageInGroup: SingleCommonnessRatedAdvantageDisadvantageInGroup<unknown>
933
958
  SingleDerivedCharacteristicSkillCheckPenalty: SingleDerivedCharacteristicSkillCheckPenalty
934
959
  SingleMagicalRuneCost: SingleMagicalRuneCost
935
960
  SinglePenalty: SinglePenalty
@@ -2242,6 +2267,7 @@ export interface Locale {
2242
2267
  "the SR for {$skill} combined must add up to at least {$minRating}": string & { __params: { "skill": string; "minRating": string } }
2243
2268
  ".input {$minRating :number} {{{$count} on at least SR {$minRating}: {$list}}}": string & { __params: { "minRating": number; "count": string; "list": string } }
2244
2269
  ".input {$count :number} .input {$minRating :number} {{{$count} arcane works with the property {$property} at SR {$minRating} or higher}}": string & { __params: { "count": number; "minRating": number; "property": string } }
2270
+ ".input {$count :number} {{at least {$count} arcane works with properties for {$specialAbility}}}": string & { __params: { "count": number; "specialAbility": string } }
2245
2271
  ".input {$count :number} .input {$minRating :number} {{{$count} liturgical chants and ceremonies with the aspect {$aspect} at SR {$minRating} or higher}}": string & { __params: { "count": number; "minRating": number; "aspect": string } }
2246
2272
  ".input {$count :number} {{{$count} of the following skills}}": string & { __params: { "count": number } }
2247
2273
  ".input {$count :number} {{{$count} combat techniques}}": string & { __params: { "count": number } }
@@ -2509,6 +2535,9 @@ export interface Locale {
2509
2535
  ".input {$count :number} {{{$count} more by primary patron}}": string & { __params: { "count": number } }
2510
2536
  "Patron": string
2511
2537
  ".input {$count :number} {{Here you can select {$count} fitting special abilities.}}": string & { __params: { "count": number } }
2538
+ ".input {$count :number} {{{$previousList} as well as {$count} advanced special abilities}}": string & { __params: { "count": number; "previousList": string } }
2539
+ ".input {$count :number} {{{$previousList} as well as {$count} advanced special abilities depending on {$option}}}": string & { __params: { "count": number; "previousList": string; "option": string } }
2540
+ ".input {$count :number} {{{$count} of the following list}}": string & { __params: { "count": number } }
2512
2541
  "corresponding combat style special ability": string
2513
2542
  "corresponding liturgical style special ability": string
2514
2543
  "corresponding magic style special ability": string
@@ -2680,6 +2709,7 @@ export interface Locale {
2680
2709
  "Pieces of Armor": string
2681
2710
  "Weapon Accessories": string
2682
2711
  "Armor Accessories": string
2712
+ "Item Components": string
2683
2713
  "Clothes": string
2684
2714
  "Clothing Packages for Social Status": string
2685
2715
  "Travel Gear and Tools": string
@@ -8757,6 +8787,11 @@ export interface MagicalTradition {
8757
8787
  */
8758
8788
  use_arcane_spellworks_from_tradition?: MagicalTradition_ID
8759
8789
 
8790
+ /**
8791
+ * If arcane spellworks with a specific property count as arcane spellworks of this tradition, this is the property’s reference.
8792
+ */
8793
+ use_arcane_spellworks_from_property?: Property_ID
8794
+
8760
8795
  /**
8761
8796
  * The influences for the tradition. Influences are enabled by Focus Rules.
8762
8797
  */
@@ -9792,6 +9827,10 @@ export type ProfessionPrerequisiteGroup =
9792
9827
  kind: "Culture"
9793
9828
  Culture: CulturePrerequisite
9794
9829
  }
9830
+ | {
9831
+ kind: "Rule"
9832
+ Rule: RulePrerequisite
9833
+ }
9795
9834
  | {
9796
9835
  kind: "Activatable"
9797
9836
  Activatable: ActivatablePrerequisite
@@ -9802,7 +9841,7 @@ export type ProfessionPrerequisiteGroup =
9802
9841
  }
9803
9842
  | {
9804
9843
  kind: "RatedMinimumNumber"
9805
- RatedMinimumNumber: RatedMinimumNumberPrerequisite
9844
+ RatedMinimumNumber: RatedMinimumNumberPrerequisiteForProfession
9806
9845
  }
9807
9846
  | {
9808
9847
  kind: "Energy"
@@ -12406,29 +12445,16 @@ export type ApplicableCombatTechniques =
12406
12445
  }
12407
12446
 
12408
12447
  export interface AllApplicableCombatTechniques {
12409
- restriction?: ApplicableAllCombatTechniquesRestriction
12448
+ restrictions?: ApplicableAllCombatTechniquesRestrictions
12410
12449
  }
12411
12450
 
12412
- export type ApplicableAllCombatTechniquesRestriction =
12413
- | {
12414
- kind: "Improvised"
12415
- }
12416
- | {
12417
- kind: "PointedBlade"
12418
- }
12419
- | {
12420
- kind: "Mount"
12421
- }
12422
- | {
12423
- kind: "Race"
12424
- Race: ApplicableCombatTechniquesRaceRestriction
12425
- }
12426
- | {
12427
- kind: "ExcludeCombatTechniques"
12428
- ExcludeCombatTechniques: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<CombatTechniqueIdentifier>
12429
- }
12430
-
12431
- export type ApplicableCombatTechniquesRaceRestriction = Race_ID
12451
+ export interface ApplicableAllCombatTechniquesRestrictions {
12452
+ isImprovised?: boolean
12453
+ hasPointedBlade?: boolean
12454
+ whileMounted?: boolean
12455
+ race?: Race_ID
12456
+ excludeCombatTechniques?: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<CombatTechniqueIdentifier>
12457
+ }
12432
12458
 
12433
12459
  export interface ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<Ref> {
12434
12460
  /**
@@ -12438,62 +12464,50 @@ export interface ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<R
12438
12464
  }
12439
12465
 
12440
12466
  export interface AllApplicableCloseCombatTechniques {
12441
- restriction?: ApplicableCloseCombatTechniquesRestriction
12467
+ restrictions?: ApplicableCloseCombatTechniquesRestrictions
12442
12468
  }
12443
12469
 
12444
- export type ApplicableCloseCombatTechniquesRestriction =
12445
- | {
12446
- kind: "Improvised"
12447
- }
12448
- | {
12449
- kind: "PointedBlade"
12450
- }
12451
- | {
12452
- kind: "Mount"
12453
- }
12454
- | {
12455
- kind: "HasParry"
12456
- }
12457
- | {
12458
- kind: "OneHanded"
12459
- }
12460
- | {
12461
- kind: "TwoHanded"
12462
- }
12463
- | {
12464
- kind: "ParryingWeapon"
12465
- }
12466
- | {
12467
- kind: "Race"
12468
- Race: ApplicableCombatTechniquesRaceRestriction
12469
- }
12470
+ export interface ApplicableCloseCombatTechniquesRestrictions {
12471
+ isImprovised?: boolean
12472
+
12473
+ hasPointedBlade?: boolean
12474
+
12475
+ whileMounted?: boolean
12476
+
12477
+ hasParry?: boolean
12478
+
12479
+ isOneHanded?: boolean
12480
+
12481
+ isTwoHanded?: boolean
12482
+
12483
+ isParryingWeapon?: boolean
12484
+
12485
+ race?: Race_ID
12486
+
12487
+ /**
12488
+ * Only a class of melee weapon is allowed
12489
+ */
12490
+ weaponClass?: MeleeWeaponClass
12491
+
12492
+ excludeCombatTechniques?: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<CloseCombatTechnique_ID>
12493
+ }
12494
+
12495
+ export type MeleeWeaponClass =
12470
12496
  | {
12471
- kind: "ExcludeCombatTechniques"
12472
- ExcludeCombatTechniques: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<CloseCombatTechnique_ID>
12497
+ kind: "Axe"
12473
12498
  }
12474
12499
 
12475
12500
  export interface AllApplicableRangedCombatTechniques {
12476
- restriction?: ApplicableRangedCombatTechniquesRestriction
12501
+ restrictions?: ApplicableRangedCombatTechniquesRestrictions
12477
12502
  }
12478
12503
 
12479
- export type ApplicableRangedCombatTechniquesRestriction =
12480
- | {
12481
- kind: "Improvised"
12482
- }
12483
- | {
12484
- kind: "PointedBlade"
12485
- }
12486
- | {
12487
- kind: "Mount"
12488
- }
12489
- | {
12490
- kind: "Race"
12491
- Race: ApplicableCombatTechniquesRaceRestriction
12492
- }
12493
- | {
12494
- kind: "ExcludeCombatTechniques"
12495
- ExcludeCombatTechniques: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<RangedCombatTechnique_ID>
12496
- }
12504
+ export interface ApplicableRangedCombatTechniquesRestrictions {
12505
+ isImprovised?: boolean
12506
+ hasPointedBlade?: boolean
12507
+ whileMounted?: boolean
12508
+ race?: Race_ID
12509
+ excludeCombatTechniques?: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<RangedCombatTechnique_ID>
12510
+ }
12497
12511
 
12498
12512
  export interface SpecificApplicableCombatTechniques {
12499
12513
  list: SpecificApplicableCombatTechnique[]
@@ -12502,55 +12516,43 @@ export interface SpecificApplicableCombatTechniques {
12502
12516
  export interface SpecificApplicableCombatTechnique {
12503
12517
  id: CombatTechniqueIdentifier
12504
12518
 
12505
- restriction?: ApplicableSpecificCombatTechniquesRestriction
12519
+ restrictions?: ApplicableSpecificCombatTechniquesRestrictions
12506
12520
 
12507
12521
  /**
12508
12522
  * All translations for the entry, identified by IETF language tag (BCP47).
12509
12523
  */
12510
- translation?: {
12524
+ translations?: {
12511
12525
  [localeId: string]: SpecificApplicableCombatTechniqueTranslation
12512
12526
  }
12513
-
12514
- /**
12515
- * The specific weapons this combat special ability is only applicable to.
12516
- */
12517
- weapons?: Weapon_ID[]
12518
12527
  }
12519
12528
 
12520
12529
  export interface SpecificApplicableCombatTechniqueTranslation {
12521
12530
  /**
12522
- * The additional restriction of the combat technique.
12531
+ * The additional restriction(s) of the combat technique.
12523
12532
  */
12524
- restriction: string
12533
+ restrictions: string
12525
12534
  }
12526
12535
 
12527
- export type ApplicableSpecificCombatTechniquesRestriction =
12528
- | {
12529
- kind: "Improvised"
12530
- }
12531
- | {
12532
- kind: "PointedBlade"
12533
- }
12534
- | {
12535
- kind: "Mount"
12536
- }
12537
- | {
12538
- kind: "Race"
12539
- Race: ApplicableCombatTechniquesRaceRestriction
12540
- }
12541
- | {
12542
- kind: "Level"
12543
- Level: ApplicableCombatTechniquesLevelRestriction
12544
- }
12545
- | {
12546
- kind: "OneBluntSide"
12547
- }
12536
+ export interface ApplicableSpecificCombatTechniquesRestrictions {
12537
+ isImprovised?: boolean
12538
+
12539
+ hasPointedBlade?: boolean
12540
+
12541
+ whileMounted?: boolean
12542
+
12543
+ race?: Race_ID
12548
12544
 
12549
- export interface ApplicableCombatTechniquesLevelRestriction {
12550
12545
  /**
12551
12546
  * The combat special ability is only applicable on a certain level.
12552
12547
  */
12553
- level: number
12548
+ level?: number
12549
+
12550
+ hasOneBluntSide?: boolean
12551
+
12552
+ /**
12553
+ * The specific weapons this combat special ability is only applicable to.
12554
+ */
12555
+ weapons?: Weapon_ID[]
12554
12556
  }
12555
12557
 
12556
12558
  export interface Weapon {
@@ -14224,6 +14226,10 @@ export type AdvancedSpecialAbility<Identifier> =
14224
14226
  kind: "DeriveFromExternalOption"
14225
14227
  DeriveFromExternalOption: AdvancedSpecialAbilityDerivedFromExternalOption<Identifier>
14226
14228
  }
14229
+ | {
14230
+ kind: "ByOption"
14231
+ ByOption: AdvancedSpecialAbilityByOption<Identifier>
14232
+ }
14227
14233
  | {
14228
14234
  kind: "Any"
14229
14235
  }
@@ -14576,6 +14582,60 @@ export interface AttributeAnimalPower {
14576
14582
  value: number
14577
14583
  }
14578
14584
 
14585
+ export interface AdvancedSpecialAbilityByOption<Identifier> {
14586
+ /**
14587
+ * Map options from the external entry to allowed advanced special abilities.
14588
+ */
14589
+ map: AdvancedSpecialAbilityByOptionMapping<Identifier>[]
14590
+
14591
+ /**
14592
+ * One of the options counts all fallback options and should be sorted last in the list.
14593
+ */
14594
+ fallbackOption?: GeneralSelectOption_ID
14595
+
14596
+ /**
14597
+ * All translations for the entry, identified by IETF language tag (BCP47).
14598
+ */
14599
+ translations?: {
14600
+ [localeId: string]: AdvancedSpecialAbilityByOptionTranslation
14601
+ }
14602
+ }
14603
+
14604
+ export interface AdvancedSpecialAbilityByOptionTranslation {
14605
+ /**
14606
+ * How to label all options before listing each option with its advanced special ability/-ies.
14607
+ */
14608
+ label: string
14609
+ }
14610
+
14611
+ /**
14612
+ * Mapping from an option of this entry to an allowed advanced special ability.
14613
+ */
14614
+ export interface AdvancedSpecialAbilityByOptionMapping<Identifier> {
14615
+ /**
14616
+ * The select option’s identifier.
14617
+ */
14618
+ option: Patron_ID
14619
+
14620
+ /**
14621
+ * The advanced special ability’s identifier.
14622
+ */
14623
+ associatedAdvanced: AdvancedSpecialAbilityByOptionMappingRule<Identifier>
14624
+ }
14625
+
14626
+ /**
14627
+ * A reference to an advanced special ability.
14628
+ */
14629
+ export type AdvancedSpecialAbilityByOptionMappingRule<Identifier> =
14630
+ | {
14631
+ kind: "General"
14632
+ General: Identifier
14633
+ }
14634
+ | {
14635
+ kind: "OneOf"
14636
+ OneOf: OneOfAdvancedSpecialAbilityOptions<Identifier>
14637
+ }
14638
+
14579
14639
  export interface CommandSpecialAbility {
14580
14640
  /**
14581
14641
  * Number of available levels.
@@ -21427,10 +21487,20 @@ export interface BlessedTraditionGroupConstraint {
21427
21487
  rarity?: Rarity
21428
21488
  }
21429
21489
 
21490
+ export type CommonnessRatedAdvantageDisadvantage<Identifier> =
21491
+ | {
21492
+ kind: "Single"
21493
+ Single: SingleCommonnessRatedAdvantageDisadvantage<Identifier>
21494
+ }
21495
+ | {
21496
+ kind: "Group"
21497
+ Group: CommonnessRatedAdvantageDisadvantageGroup<Identifier>
21498
+ }
21499
+
21430
21500
  /**
21431
21501
  * Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.
21432
21502
  */
21433
- export interface CommonnessRatedAdvantageDisadvantage<Identifier> {
21503
+ export interface SingleCommonnessRatedAdvantageDisadvantage<Identifier> {
21434
21504
  /**
21435
21505
  * The advantage’s or disadvantage’s identifier.
21436
21506
  */
@@ -21450,11 +21520,11 @@ export interface CommonnessRatedAdvantageDisadvantage<Identifier> {
21450
21520
  * All translations for the entry, identified by IETF language tag (BCP47).
21451
21521
  */
21452
21522
  translations?: {
21453
- [localeId: string]: CommonnessRatedAdvantageDisadvantageTranslation
21523
+ [localeId: string]: SingleCommonnessRatedAdvantageDisadvantageTranslation
21454
21524
  }
21455
21525
  }
21456
21526
 
21457
- export interface CommonnessRatedAdvantageDisadvantageTranslation {
21527
+ export interface SingleCommonnessRatedAdvantageDisadvantageTranslation {
21458
21528
  /**
21459
21529
  * The options the commonness rating applies to. This can be specified if plain options cannot exactly describe the options as written in the publication.
21460
21530
  */
@@ -22113,6 +22183,47 @@ export type TradeSecretAdventurePointsValue =
22113
22183
  DependingOnActiveInstances: AdventurePointsDependingOnActiveInstances
22114
22184
  }
22115
22185
 
22186
+ /**
22187
+ * Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.
22188
+ */
22189
+ export interface CommonnessRatedAdvantageDisadvantageGroup<Identifier> {
22190
+ list: SingleCommonnessRatedAdvantageDisadvantageInGroup<Identifier>[]
22191
+
22192
+ /**
22193
+ * All translations for the entry, identified by IETF language tag (BCP47).
22194
+ */
22195
+ translations: {
22196
+ [localeId: string]: CommonnessRatedAdvantageDisadvantageGroupTranslation
22197
+ }
22198
+ }
22199
+
22200
+ export interface CommonnessRatedAdvantageDisadvantageGroupTranslation {
22201
+ /**
22202
+ * The text replacing all entries in the group.
22203
+ */
22204
+ text: string
22205
+ }
22206
+
22207
+ /**
22208
+ * Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.
22209
+ */
22210
+ export interface SingleCommonnessRatedAdvantageDisadvantageInGroup<Identifier> {
22211
+ /**
22212
+ * The advantage’s or disadvantage’s identifier.
22213
+ */
22214
+ id: Identifier
22215
+
22216
+ /**
22217
+ * The level of a commonness-rated advantage or disadvantage.
22218
+ */
22219
+ level?: CommonnessRatedAdvantageDisadvantageLevel
22220
+
22221
+ /**
22222
+ * The options the commonness rating applies to.
22223
+ */
22224
+ options?: CommonnessSelectOptionIdentifier[]
22225
+ }
22226
+
22116
22227
  export type CommonnessRatedSkill = Skill_ID
22117
22228
 
22118
22229
  export interface CulturalPackageItem {
@@ -22197,7 +22308,7 @@ export interface CommonName {
22197
22308
  note?: string
22198
22309
  }
22199
22310
 
22200
- export interface RatedMinimumNumberPrerequisite {
22311
+ export interface RatedMinimumNumberPrerequisiteForProfession {
22201
22312
  /**
22202
22313
  * The minimum number of skills that need to be on the defined minimum skill rating.
22203
22314
  */
@@ -22211,12 +22322,12 @@ export interface RatedMinimumNumberPrerequisite {
22211
22322
  /**
22212
22323
  * The targets that contribute to satisfying the prerequisite.
22213
22324
  */
22214
- targets: RatedMinimumNumberPrerequisiteTarget
22325
+ targets: RatedMinimumNumberPrerequisiteTargetForProfession
22215
22326
 
22216
22327
  display_option?: DisplayOption
22217
22328
  }
22218
22329
 
22219
- export type RatedMinimumNumberPrerequisiteTarget =
22330
+ export type RatedMinimumNumberPrerequisiteTargetForProfession =
22220
22331
  | {
22221
22332
  kind: "Skills"
22222
22333
  Skills: RatedMinimumNumberPrerequisiteSkillsTarget
@@ -22227,7 +22338,7 @@ export type RatedMinimumNumberPrerequisiteTarget =
22227
22338
  }
22228
22339
  | {
22229
22340
  kind: "Spellworks"
22230
- Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
22341
+ Spellworks: RatedMinimumNumberPrerequisiteSpellworksTargetForProfession
22231
22342
  }
22232
22343
  | {
22233
22344
  kind: "Liturgies"
@@ -22259,16 +22370,19 @@ export type RatedMinimumNumberPrerequisiteCombatTechniquesTargetGroup =
22259
22370
  kind: "Ranged"
22260
22371
  }
22261
22372
 
22262
- export interface RatedMinimumNumberPrerequisiteSpellworksTarget {
22263
- /**
22264
- * The skills that are taken into account for satisfying the prerequisite.
22265
- */
22266
- property: Property_ID
22267
- }
22373
+ export type RatedMinimumNumberPrerequisiteSpellworksTargetForProfession =
22374
+ | {
22375
+ kind: "Specific"
22376
+ Specific: Property_ID
22377
+ }
22378
+ | {
22379
+ kind: "SelectOptions"
22380
+ SelectOptions: SpecialAbilityIdentifier
22381
+ }
22268
22382
 
22269
22383
  export interface RatedMinimumNumberPrerequisiteLiturgiesTarget {
22270
22384
  /**
22271
- * The skills that are taken into account for satisfying the prerequisite.
22385
+ * The aspect of which the liturgical chants are taken into account for satisfying the prerequisite.
22272
22386
  */
22273
22387
  aspect: Aspect_ID
22274
22388
  }
@@ -22302,6 +22416,22 @@ export interface ProfessionPackageOptions {
22302
22416
  spellworks?: SpellworksOptions
22303
22417
  spellworksForChosenProperty?: SpellworksForChosenProperty
22304
22418
  liturgies?: LiturgiesOptions
22419
+ lockAdventurePoints?: LockAdventurePointsOption
22420
+ }
22421
+
22422
+ /**
22423
+ * Keep AP for use after character creation to buy or improve entries.
22424
+ */
22425
+ export interface LockAdventurePointsOption {
22426
+ /**
22427
+ * The AP value that is going to be locked for later use.
22428
+ */
22429
+ apValue: number
22430
+
22431
+ /**
22432
+ * The entries the AP can be used for.
22433
+ */
22434
+ entries: SpellworkIdentifier[]
22305
22435
  }
22306
22436
 
22307
22437
  export interface InfluenceEffect {
@@ -23101,6 +23231,50 @@ export type SpecialAbilityGroup =
23101
23231
  kind: "WeaponEnchantment"
23102
23232
  }
23103
23233
 
23234
+ export interface RatedMinimumNumberPrerequisite {
23235
+ /**
23236
+ * The minimum number of skills that need to be on the defined minimum skill rating.
23237
+ */
23238
+ number: number
23239
+
23240
+ /**
23241
+ * The minimum skill rating the defined minimum number of skills need to be on.
23242
+ */
23243
+ value: number
23244
+
23245
+ /**
23246
+ * The targets that contribute to satisfying the prerequisite.
23247
+ */
23248
+ targets: RatedMinimumNumberPrerequisiteTarget
23249
+
23250
+ display_option?: DisplayOption
23251
+ }
23252
+
23253
+ export type RatedMinimumNumberPrerequisiteTarget =
23254
+ | {
23255
+ kind: "Skills"
23256
+ Skills: RatedMinimumNumberPrerequisiteSkillsTarget
23257
+ }
23258
+ | {
23259
+ kind: "CombatTechniques"
23260
+ CombatTechniques: RatedMinimumNumberPrerequisiteCombatTechniquesTarget
23261
+ }
23262
+ | {
23263
+ kind: "Spellworks"
23264
+ Spellworks: RatedMinimumNumberPrerequisiteSpellworksTarget
23265
+ }
23266
+ | {
23267
+ kind: "Liturgies"
23268
+ Liturgies: RatedMinimumNumberPrerequisiteLiturgiesTarget
23269
+ }
23270
+
23271
+ export interface RatedMinimumNumberPrerequisiteSpellworksTarget {
23272
+ /**
23273
+ * The property of which the spells are taken into account for satisfying the prerequisite.
23274
+ */
23275
+ property: Property_ID
23276
+ }
23277
+
23104
23278
  export interface RatedSumPrerequisite {
23105
23279
  /**
23106
23280
  * The minimum required sum of the targets’ ratings.
@@ -25728,6 +25902,10 @@ export type EquipmentIdentifier =
25728
25902
  kind: "IlluminationRefillOrSupply"
25729
25903
  IlluminationRefillOrSupply: IlluminationRefillOrSupply_ID
25730
25904
  }
25905
+ | {
25906
+ kind: "ItemComponent"
25907
+ ItemComponent: ItemComponent_ID
25908
+ }
25731
25909
  | {
25732
25910
  kind: "Jewelry"
25733
25911
  Jewelry: Jewelry_ID
@@ -26026,6 +26204,333 @@ export interface IlluminationRefillOrSupplyTranslation {
26026
26204
  errata?: Errata
26027
26205
  }
26028
26206
 
26207
+ export interface ItemComponent {
26208
+ /**
26209
+ * The cost in silverthalers.
26210
+ */
26211
+ cost: ItemComponentCost
26212
+
26213
+ /**
26214
+ * The weight in kg.
26215
+ */
26216
+ weight?: Weight
26217
+
26218
+ /**
26219
+ * The items the component can be applied to.
26220
+ */
26221
+ applicableItems: ApplicableItems
26222
+
26223
+ /**
26224
+ * Other components this component is not compatible with.
26225
+ */
26226
+ incompatibleWith?: ItemComponent_ID[]
26227
+
26228
+ /**
26229
+ * Special rules for the item component.
26230
+ */
26231
+ rules?: ItemComponentRules
26232
+
26233
+ /**
26234
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26235
+ */
26236
+ src: PublicationRefs
26237
+
26238
+ /**
26239
+ * All translations for the entry, identified by IETF language tag (BCP47).
26240
+ */
26241
+ translations: {
26242
+ [localeId: string]: ItemComponentTranslation
26243
+ }
26244
+ }
26245
+
26246
+ /**
26247
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
26248
+ */
26249
+ export type ItemComponent_ID = string
26250
+
26251
+ export interface ItemComponentTranslation {
26252
+ /**
26253
+ * The item’s name.
26254
+ */
26255
+ name: string
26256
+
26257
+ /**
26258
+ * Special rules text.
26259
+ */
26260
+ rules?: string
26261
+
26262
+ /**
26263
+ * The items the component can be applied to. Used if the generated text is not sufficient.
26264
+ */
26265
+ applicableItems?: string
26266
+
26267
+ errata?: Errata
26268
+ }
26269
+
26270
+ export interface ItemComponentOption {
26271
+ /**
26272
+ * The item component this option belongs to.
26273
+ */
26274
+ parent: ItemComponent_ID
26275
+
26276
+ /**
26277
+ * The cost in silverthalers.
26278
+ */
26279
+ cost: number
26280
+
26281
+ /**
26282
+ * All translations for the entry, identified by IETF language tag (BCP47).
26283
+ */
26284
+ translations: {
26285
+ [localeId: string]: ItemComponentOptionTranslation
26286
+ }
26287
+ }
26288
+
26289
+ /**
26290
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
26291
+ */
26292
+ export type ItemComponentOption_ID = string
26293
+
26294
+ export interface ItemComponentOptionTranslation {
26295
+ /**
26296
+ * The label for the option.
26297
+ */
26298
+ label: string
26299
+ }
26300
+
26301
+ /**
26302
+ * The cost in silverthalers.
26303
+ */
26304
+ export type ItemComponentCost =
26305
+ | {
26306
+ kind: "Fixed"
26307
+ Fixed: FixedCost
26308
+ }
26309
+ | {
26310
+ kind: "ByCombatTechnique"
26311
+ ByCombatTechnique: ItemComponentCostByCombatTechnique
26312
+ }
26313
+ | {
26314
+ kind: "Factor"
26315
+ Factor: number
26316
+ }
26317
+ | {
26318
+ kind: "DerivedFromOption"
26319
+ }
26320
+
26321
+ export interface ItemComponentCostByCombatTechnique {
26322
+ /**
26323
+ * The cost in silverthalers for close combat techniques.
26324
+ */
26325
+ close?: {
26326
+ [closeCombatTechniqueId: string]: ItemComponentCostByCloseCombatTechnique
26327
+ }
26328
+
26329
+ /**
26330
+ * The cost in silverthalers for ranged combat techniques.
26331
+ */
26332
+ ranged?: {
26333
+ [rangedCombatTechniqueId: string]: ItemComponentCostByRangedCombatTechnique
26334
+ }
26335
+ }
26336
+
26337
+ export interface ItemComponentCostByCloseCombatTechnique {
26338
+ /**
26339
+ * The cost in silverthalers for the close combat technique.
26340
+ */
26341
+ value: number
26342
+
26343
+ /**
26344
+ * All translations for the entry, identified by IETF language tag (BCP47).
26345
+ */
26346
+ translations?: {
26347
+ [localeId: string]: ItemComponentCostByCloseCombatTechniqueTranslation
26348
+ }
26349
+ }
26350
+
26351
+ export type ItemComponentCostByCloseCombatTechniqueTranslation = ItemComponentCostByCombatTechniqueTranslation
26352
+
26353
+ export interface ItemComponentCostByRangedCombatTechnique {
26354
+ /**
26355
+ * The cost in silverthalers for the ranged combat technique.
26356
+ */
26357
+ value: number
26358
+
26359
+ /**
26360
+ * All translations for the entry, identified by IETF language tag (BCP47).
26361
+ */
26362
+ translations?: {
26363
+ [localeId: string]: ItemComponentCostByRangedCombatTechniqueTranslation
26364
+ }
26365
+ }
26366
+
26367
+ export type ItemComponentCostByRangedCombatTechniqueTranslation = ItemComponentCostByCombatTechniqueTranslation
26368
+
26369
+ export interface ItemComponentCostByCombatTechniqueTranslation {
26370
+ /**
26371
+ * The label for cost, if different from the name of the combat technique.
26372
+ */
26373
+ label: string
26374
+ }
26375
+
26376
+ /**
26377
+ * The items the component can be applied to.
26378
+ */
26379
+ export type ApplicableItems =
26380
+ | {
26381
+ kind: "MeleeWeapon"
26382
+ MeleeWeapon: ApplicableMeleeWeapons
26383
+ }
26384
+ | {
26385
+ kind: "RangedWeapon"
26386
+ RangedWeapon: ApplicableRangedWeapons
26387
+ }
26388
+ | {
26389
+ kind: "Ammunition"
26390
+ Ammunition: ApplicableAmmunition
26391
+ }
26392
+ | {
26393
+ kind: "Armor"
26394
+ Armor: ApplicableArmor
26395
+ }
26396
+
26397
+ export interface ApplicableMeleeWeapons {
26398
+ /**
26399
+ * Specific weapons this component can be applied to.
26400
+ */
26401
+ weapons?: Weapon_ID[]
26402
+
26403
+ /**
26404
+ * Weapons of combat techniques this component can be applied to.
26405
+ */
26406
+ combatTechniques?: CloseCombatTechnique_ID[]
26407
+
26408
+ /**
26409
+ * The category of weapons this component can be applied to.
26410
+ */
26411
+ category?: ApplicableMeleeWeaponCategory
26412
+ }
26413
+
26414
+ export type ApplicableMeleeWeaponCategory =
26415
+ | {
26416
+ kind: "HasMetalSurface"
26417
+ }
26418
+ | {
26419
+ kind: "HasMetalBladeOrTip"
26420
+ }
26421
+
26422
+ export interface ApplicableRangedWeapons {
26423
+ /**
26424
+ * Specific weapons this component can be applied to.
26425
+ */
26426
+ weapons?: Weapon_ID[]
26427
+
26428
+ /**
26429
+ * Weapons of combat techniques this component can be applied to.
26430
+ */
26431
+ combatTechniques?: RangedCombatTechnique_ID[]
26432
+
26433
+ /**
26434
+ * The minimum reload time a crossbow must have for it to be compatible with this component.
26435
+ */
26436
+ minimumReloadTime?: number
26437
+
26438
+ /**
26439
+ * Whether the crossbow must use bullets to be compatible with this component.
26440
+ */
26441
+ usesBullets?: boolean
26442
+ }
26443
+
26444
+ export interface ApplicableAmmunition {
26445
+ /**
26446
+ * Specific ammunition this component can be applied to.
26447
+ */
26448
+ ammunition?: Ammunition_ID[]
26449
+
26450
+ /**
26451
+ * 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.
26452
+ */
26453
+ invertAmmunition?: boolean
26454
+
26455
+ /**
26456
+ * The category of weapons this component can be applied to.
26457
+ */
26458
+ category?: ApplicableAmmunitionCategory
26459
+ }
26460
+
26461
+ export type ApplicableAmmunitionCategory =
26462
+ | {
26463
+ kind: "ArrowOrBolt"
26464
+ }
26465
+
26466
+ export interface ApplicableArmor {
26467
+ /**
26468
+ * Specific armor this component can be applied to.
26469
+ */
26470
+ armor?: Armor_ID[]
26471
+
26472
+ /**
26473
+ * The category of weapons this component can be applied to.
26474
+ */
26475
+ category?: ApplicableArmorCategory
26476
+ }
26477
+
26478
+ export type ApplicableArmorCategory =
26479
+ | {
26480
+ kind: "Metal"
26481
+ }
26482
+
26483
+ export interface ItemComponentRules {
26484
+ baseItemModifications?: ItemComponentBaseItemModifications
26485
+ }
26486
+
26487
+ export interface ItemComponentBaseItemModifications {
26488
+ /**
26489
+ * The damage points added to the damage points of the base item. Negative values lower the damage points.
26490
+ */
26491
+ damagePoints?: number
26492
+
26493
+ /**
26494
+ * The attack modifier added to the attack modifier of the base item. Negative values lower the attack modifier.
26495
+ */
26496
+ attackModifier?: number
26497
+
26498
+ /**
26499
+ * The parry modifier added to the parry modifier of the base item. Negative values lower the parry modifier.
26500
+ */
26501
+ parryModifier?: number
26502
+
26503
+ /**
26504
+ * The protection added to the protection of the base item. Negative values lower the protection.
26505
+ */
26506
+ protection?: number
26507
+
26508
+ /**
26509
+ * The encumbrance added to the encumbrance of the base item. Negative values lower the encumbrance.
26510
+ */
26511
+ encumbrance?: number
26512
+
26513
+ /**
26514
+ * The range added to the range of the base item. Negative values lower the range.
26515
+ */
26516
+ range?: number
26517
+
26518
+ /**
26519
+ * The reload time added to the reload time of the base item. Negative values lower the reload time.
26520
+ */
26521
+ reloadTime?: number
26522
+
26523
+ /**
26524
+ * The weight added to the weight of the base item. Negative values lower the weight.
26525
+ */
26526
+ weight?: number
26527
+
26528
+ /**
26529
+ * The breaking point rating added to the breaking point rating of the base item. Negative values lower the breaking point rating.
26530
+ */
26531
+ breakingPointRating?: number
26532
+ }
26533
+
26029
26534
  export interface Jewelry {
26030
26535
  /**
26031
26536
  * The cost in silverthalers.