@optolith/database-schema 0.100.0 → 0.102.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,34 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.102.0](https://github.com/Optolith/database-schema/compare/v0.101.0...v0.102.0) (2026-10-15)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * more features and translations for item components
10
+
11
+ ### Features
12
+
13
+ * more features and translations for item components ([84b3b3c](https://github.com/Optolith/database-schema/commit/84b3b3c99acd093c1cead0a4d993fe4c92259815))
14
+
15
+ ## [0.101.0](https://github.com/Optolith/database-schema/compare/v0.100.0...v0.101.0) (2026-10-14)
16
+
17
+ ### ⚠ BREAKING CHANGES
18
+
19
+ * add rule prerequisite to professions
20
+ * grouped commonness-rated entries
21
+ * improve advanced special abilities and item components for rendering
22
+
23
+ ### Features
24
+
25
+ * add rule prerequisite to professions ([9e2f929](https://github.com/Optolith/database-schema/commit/9e2f929f8bff22478200ba7dfcff76c5a26a0b89)), closes [#206](https://github.com/Optolith/database-schema/issues/206)
26
+ * grouped commonness-rated entries ([29fe163](https://github.com/Optolith/database-schema/commit/29fe16309babd830c1215dcb6afa50635bc9c98d)), closes [#207](https://github.com/Optolith/database-schema/issues/207)
27
+ * improve advanced special abilities and item components for rendering ([d3a96f1](https://github.com/Optolith/database-schema/commit/d3a96f17971f78fd72ee008bc36d74f14087a8a7))
28
+
29
+ ### Bug Fixes
30
+
31
+ * item component can have a weight ([ebd8fce](https://github.com/Optolith/database-schema/commit/ebd8fce3697fc471c5bd7ae1634f5137ef2ae2db))
32
+
5
33
  ## [0.100.0](https://github.com/Optolith/database-schema/compare/v0.99.0...v0.100.0) (2026-10-14)
6
34
 
7
35
  ### ⚠ BREAKING CHANGES
package/gen/types.d.ts CHANGED
@@ -298,6 +298,7 @@ export type EnumMap = {
298
298
  CombatTechniquesSelectOptionCategoryCategory: CombatTechniquesSelectOptionCategoryCategory
299
299
  CombatUse: CombatUse
300
300
  CommonCantripNote: CommonCantripNote
301
+ CommonnessRatedAdvantageDisadvantage: CommonnessRatedAdvantageDisadvantage<unknown>
301
302
  CommonnessRatedAdvantageDisadvantageLevel: CommonnessRatedAdvantageDisadvantageLevel
302
303
  CommonnessSelectOptionIdentifier: CommonnessSelectOptionIdentifier
303
304
  CommonnessWeight: CommonnessWeight
@@ -551,7 +552,9 @@ export type TypeAliasMap = {
551
552
  ApplicableArmor: ApplicableArmor
552
553
  ApplicableCloseCombatTechniquesRestrictions: ApplicableCloseCombatTechniquesRestrictions
553
554
  ApplicableCombatTechniquesNegativeCombatTechniquesRestriction: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<unknown>
555
+ ApplicableMeleeCombatTechnique: ApplicableMeleeCombatTechnique
554
556
  ApplicableMeleeWeapons: ApplicableMeleeWeapons
557
+ ApplicableRangedCombatTechnique: ApplicableRangedCombatTechnique
555
558
  ApplicableRangedCombatTechniquesRestrictions: ApplicableRangedCombatTechniquesRestrictions
556
559
  ApplicableRangedWeapons: ApplicableRangedWeapons
557
560
  ApplicableSpecificCombatTechniquesRestrictions: ApplicableSpecificCombatTechniquesRestrictions
@@ -616,7 +619,7 @@ export type TypeAliasMap = {
616
619
  CommonName: CommonName
617
620
  CommonNameGroup: CommonNameGroup
618
621
  CommonNames: CommonNames
619
- CommonnessRatedAdvantageDisadvantage: CommonnessRatedAdvantageDisadvantage<unknown>
622
+ CommonnessRatedAdvantageDisadvantageGroup: CommonnessRatedAdvantageDisadvantageGroup<unknown>
620
623
  CommonnessRatedSkill: CommonnessRatedSkill
621
624
  CommonProfessionConstraints: CommonProfessionConstraints<unknown>
622
625
  ComplexComplexity: ComplexComplexity
@@ -768,6 +771,7 @@ export type TypeAliasMap = {
768
771
  InvaluableCost: InvaluableCost
769
772
  ItemComponentBaseItemModifications: ItemComponentBaseItemModifications
770
773
  ItemComponentCostByCombatTechnique: ItemComponentCostByCombatTechnique
774
+ ItemComponentCostByCombatTechniqueTranslation: ItemComponentCostByCombatTechniqueTranslation
771
775
  ItemComponentRules: ItemComponentRules
772
776
  JesterTrickCastingTime: JesterTrickCastingTime
773
777
  JesterTrickCost: JesterTrickCost
@@ -951,6 +955,8 @@ export type TypeAliasMap = {
951
955
  ShamanisticBlessedTradition: ShamanisticBlessedTradition
952
956
  Since: Since
953
957
  SingleBannzeichenCost: SingleBannzeichenCost
958
+ SingleCommonnessRatedAdvantageDisadvantage: SingleCommonnessRatedAdvantageDisadvantage<unknown>
959
+ SingleCommonnessRatedAdvantageDisadvantageInGroup: SingleCommonnessRatedAdvantageDisadvantageInGroup<unknown>
954
960
  SingleDerivedCharacteristicSkillCheckPenalty: SingleDerivedCharacteristicSkillCheckPenalty
955
961
  SingleMagicalRuneCost: SingleMagicalRuneCost
956
962
  SinglePenalty: SinglePenalty
@@ -2263,6 +2269,7 @@ export interface Locale {
2263
2269
  "the SR for {$skill} combined must add up to at least {$minRating}": string & { __params: { "skill": string; "minRating": string } }
2264
2270
  ".input {$minRating :number} {{{$count} on at least SR {$minRating}: {$list}}}": string & { __params: { "minRating": number; "count": string; "list": string } }
2265
2271
  ".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 } }
2272
+ ".input {$count :number} {{at least {$count} arcane works with properties for {$specialAbility}}}": string & { __params: { "count": number; "specialAbility": string } }
2266
2273
  ".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 } }
2267
2274
  ".input {$count :number} {{{$count} of the following skills}}": string & { __params: { "count": number } }
2268
2275
  ".input {$count :number} {{{$count} combat techniques}}": string & { __params: { "count": number } }
@@ -2694,6 +2701,17 @@ export interface Locale {
2694
2701
  "Small Shield": string
2695
2702
  "{$value} structure points": string & { __params: { "value": string } }
2696
2703
  "additional {$value} AT for main weapon": string & { __params: { "value": string } }
2704
+ "Price": string
2705
+ "all armor": string
2706
+ "all metal armor": string
2707
+ "all weapons with metal blades or tips": string
2708
+ "all weapons with a metal surface": string
2709
+ "all weapons with a handle that can be wrapped with leather": string
2710
+ "only models with a reload time of at least {$timeSpan}": string & { __params: { "timeSpan": string } }
2711
+ "{$weapons} that use bullets as ammunition": string & { __params: { "weapons": string } }
2712
+ ".input {$otherComponentsCount :number} {{{$itemComponent} cannot be combined with item components {$otherComponents}}}": string & { __params: { "otherComponentsCount": number; "itemComponent": string; "otherComponents": string } }
2713
+ "all ammunition types": string
2714
+ "all arrow and bolt types": string
2697
2715
  "Weapons": string
2698
2716
  "Melee Weapons": string
2699
2717
  "Ranged Weapons": string
@@ -2704,6 +2722,7 @@ export interface Locale {
2704
2722
  "Pieces of Armor": string
2705
2723
  "Weapon Accessories": string
2706
2724
  "Armor Accessories": string
2725
+ "Item Components": string
2707
2726
  "Clothes": string
2708
2727
  "Clothing Packages for Social Status": string
2709
2728
  "Travel Gear and Tools": string
@@ -9821,6 +9840,10 @@ export type ProfessionPrerequisiteGroup =
9821
9840
  kind: "Culture"
9822
9841
  Culture: CulturePrerequisite
9823
9842
  }
9843
+ | {
9844
+ kind: "Rule"
9845
+ Rule: RulePrerequisite
9846
+ }
9824
9847
  | {
9825
9848
  kind: "Activatable"
9826
9849
  Activatable: ActivatablePrerequisite
@@ -12511,14 +12534,9 @@ export interface SpecificApplicableCombatTechnique {
12511
12534
  /**
12512
12535
  * All translations for the entry, identified by IETF language tag (BCP47).
12513
12536
  */
12514
- translation?: {
12537
+ translations?: {
12515
12538
  [localeId: string]: SpecificApplicableCombatTechniqueTranslation
12516
12539
  }
12517
-
12518
- /**
12519
- * The specific weapons this combat special ability is only applicable to.
12520
- */
12521
- weapons?: Weapon_ID[]
12522
12540
  }
12523
12541
 
12524
12542
  export interface SpecificApplicableCombatTechniqueTranslation {
@@ -12543,6 +12561,11 @@ export interface ApplicableSpecificCombatTechniquesRestrictions {
12543
12561
  level?: number
12544
12562
 
12545
12563
  hasOneBluntSide?: boolean
12564
+
12565
+ /**
12566
+ * The specific weapons this combat special ability is only applicable to.
12567
+ */
12568
+ weapons?: Weapon_ID[]
12546
12569
  }
12547
12570
 
12548
12571
  export interface Weapon {
@@ -21477,10 +21500,20 @@ export interface BlessedTraditionGroupConstraint {
21477
21500
  rarity?: Rarity
21478
21501
  }
21479
21502
 
21503
+ export type CommonnessRatedAdvantageDisadvantage<Identifier> =
21504
+ | {
21505
+ kind: "Single"
21506
+ Single: SingleCommonnessRatedAdvantageDisadvantage<Identifier>
21507
+ }
21508
+ | {
21509
+ kind: "Group"
21510
+ Group: CommonnessRatedAdvantageDisadvantageGroup<Identifier>
21511
+ }
21512
+
21480
21513
  /**
21481
21514
  * Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.
21482
21515
  */
21483
- export interface CommonnessRatedAdvantageDisadvantage<Identifier> {
21516
+ export interface SingleCommonnessRatedAdvantageDisadvantage<Identifier> {
21484
21517
  /**
21485
21518
  * The advantage’s or disadvantage’s identifier.
21486
21519
  */
@@ -21500,11 +21533,11 @@ export interface CommonnessRatedAdvantageDisadvantage<Identifier> {
21500
21533
  * All translations for the entry, identified by IETF language tag (BCP47).
21501
21534
  */
21502
21535
  translations?: {
21503
- [localeId: string]: CommonnessRatedAdvantageDisadvantageTranslation
21536
+ [localeId: string]: SingleCommonnessRatedAdvantageDisadvantageTranslation
21504
21537
  }
21505
21538
  }
21506
21539
 
21507
- export interface CommonnessRatedAdvantageDisadvantageTranslation {
21540
+ export interface SingleCommonnessRatedAdvantageDisadvantageTranslation {
21508
21541
  /**
21509
21542
  * The options the commonness rating applies to. This can be specified if plain options cannot exactly describe the options as written in the publication.
21510
21543
  */
@@ -22163,6 +22196,47 @@ export type TradeSecretAdventurePointsValue =
22163
22196
  DependingOnActiveInstances: AdventurePointsDependingOnActiveInstances
22164
22197
  }
22165
22198
 
22199
+ /**
22200
+ * Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.
22201
+ */
22202
+ export interface CommonnessRatedAdvantageDisadvantageGroup<Identifier> {
22203
+ list: SingleCommonnessRatedAdvantageDisadvantageInGroup<Identifier>[]
22204
+
22205
+ /**
22206
+ * All translations for the entry, identified by IETF language tag (BCP47).
22207
+ */
22208
+ translations: {
22209
+ [localeId: string]: CommonnessRatedAdvantageDisadvantageGroupTranslation
22210
+ }
22211
+ }
22212
+
22213
+ export interface CommonnessRatedAdvantageDisadvantageGroupTranslation {
22214
+ /**
22215
+ * The text replacing all entries in the group.
22216
+ */
22217
+ text: string
22218
+ }
22219
+
22220
+ /**
22221
+ * Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.
22222
+ */
22223
+ export interface SingleCommonnessRatedAdvantageDisadvantageInGroup<Identifier> {
22224
+ /**
22225
+ * The advantage’s or disadvantage’s identifier.
22226
+ */
22227
+ id: Identifier
22228
+
22229
+ /**
22230
+ * The level of a commonness-rated advantage or disadvantage.
22231
+ */
22232
+ level?: CommonnessRatedAdvantageDisadvantageLevel
22233
+
22234
+ /**
22235
+ * The options the commonness rating applies to.
22236
+ */
22237
+ options?: CommonnessSelectOptionIdentifier[]
22238
+ }
22239
+
22166
22240
  export type CommonnessRatedSkill = Skill_ID
22167
22241
 
22168
22242
  export interface CulturalPackageItem {
@@ -26149,6 +26223,11 @@ export interface ItemComponent {
26149
26223
  */
26150
26224
  cost: ItemComponentCost
26151
26225
 
26226
+ /**
26227
+ * The weight in kg.
26228
+ */
26229
+ weight?: Weight
26230
+
26152
26231
  /**
26153
26232
  * The items the component can be applied to.
26154
26233
  */
@@ -26282,6 +26361,8 @@ export interface ItemComponentCostByCloseCombatTechnique {
26282
26361
  }
26283
26362
  }
26284
26363
 
26364
+ export type ItemComponentCostByCloseCombatTechniqueTranslation = ItemComponentCostByCombatTechniqueTranslation
26365
+
26285
26366
  export interface ItemComponentCostByRangedCombatTechnique {
26286
26367
  /**
26287
26368
  * The cost in silverthalers for the ranged combat technique.
@@ -26296,6 +26377,15 @@ export interface ItemComponentCostByRangedCombatTechnique {
26296
26377
  }
26297
26378
  }
26298
26379
 
26380
+ export type ItemComponentCostByRangedCombatTechniqueTranslation = ItemComponentCostByCombatTechniqueTranslation
26381
+
26382
+ export interface ItemComponentCostByCombatTechniqueTranslation {
26383
+ /**
26384
+ * The label for cost, if different from the name of the combat technique.
26385
+ */
26386
+ label: string
26387
+ }
26388
+
26299
26389
  /**
26300
26390
  * The items the component can be applied to.
26301
26391
  */
@@ -26326,7 +26416,7 @@ export interface ApplicableMeleeWeapons {
26326
26416
  /**
26327
26417
  * Weapons of combat techniques this component can be applied to.
26328
26418
  */
26329
- combatTechniques?: CloseCombatTechnique_ID[]
26419
+ combatTechniques?: ApplicableMeleeCombatTechnique[]
26330
26420
 
26331
26421
  /**
26332
26422
  * The category of weapons this component can be applied to.
@@ -26334,6 +26424,27 @@ export interface ApplicableMeleeWeapons {
26334
26424
  category?: ApplicableMeleeWeaponCategory
26335
26425
  }
26336
26426
 
26427
+ export interface ApplicableMeleeCombatTechnique {
26428
+ /**
26429
+ * The combat technique this component can be applied to.
26430
+ */
26431
+ combatTechnique: CloseCombatTechnique_ID
26432
+
26433
+ /**
26434
+ * All translations for the entry, identified by IETF language tag (BCP47).
26435
+ */
26436
+ translations?: {
26437
+ [localeId: string]: ApplicableMeleeCombatTechniqueTranslation
26438
+ }
26439
+ }
26440
+
26441
+ export interface ApplicableMeleeCombatTechniqueTranslation {
26442
+ /**
26443
+ * The name that should be displayed if the name of combat technique should not be used.
26444
+ */
26445
+ text: string
26446
+ }
26447
+
26337
26448
  export type ApplicableMeleeWeaponCategory =
26338
26449
  | {
26339
26450
  kind: "HasMetalSurface"
@@ -26341,6 +26452,9 @@ export type ApplicableMeleeWeaponCategory =
26341
26452
  | {
26342
26453
  kind: "HasMetalBladeOrTip"
26343
26454
  }
26455
+ | {
26456
+ kind: "HasWrappableHandle"
26457
+ }
26344
26458
 
26345
26459
  export interface ApplicableRangedWeapons {
26346
26460
  /**
@@ -26351,7 +26465,7 @@ export interface ApplicableRangedWeapons {
26351
26465
  /**
26352
26466
  * Weapons of combat techniques this component can be applied to.
26353
26467
  */
26354
- combatTechniques?: RangedCombatTechnique_ID[]
26468
+ combatTechniques?: ApplicableRangedCombatTechnique[]
26355
26469
 
26356
26470
  /**
26357
26471
  * The minimum reload time a crossbow must have for it to be compatible with this component.
@@ -26364,6 +26478,27 @@ export interface ApplicableRangedWeapons {
26364
26478
  usesBullets?: boolean
26365
26479
  }
26366
26480
 
26481
+ export interface ApplicableRangedCombatTechnique {
26482
+ /**
26483
+ * The combat technique this component can be applied to.
26484
+ */
26485
+ combatTechnique: RangedCombatTechnique_ID
26486
+
26487
+ /**
26488
+ * All translations for the entry, identified by IETF language tag (BCP47).
26489
+ */
26490
+ translations?: {
26491
+ [localeId: string]: ApplicableRangedCombatTechniqueTranslation
26492
+ }
26493
+ }
26494
+
26495
+ export interface ApplicableRangedCombatTechniqueTranslation {
26496
+ /**
26497
+ * The name that should be displayed if the name of combat technique should not be used.
26498
+ */
26499
+ text: string
26500
+ }
26501
+
26367
26502
  export interface ApplicableAmmunition {
26368
26503
  /**
26369
26504
  * Specific ammunition this component can be applied to.