@optolith/database-schema 0.106.0 → 0.107.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 (71) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/gen/types.d.ts +176 -1
  3. package/lib/types/_Prerequisite.d.ts +24 -0
  4. package/lib/types/_Prerequisite.js +5 -1
  5. package/lib/types/equipment/item/Ammunition.d.ts +24 -0
  6. package/lib/types/equipment/item/Ammunition.js +5 -0
  7. package/lib/types/equipment/item/Animal.d.ts +24 -0
  8. package/lib/types/equipment/item/Animal.js +5 -0
  9. package/lib/types/equipment/item/AnimalCare.d.ts +25 -1
  10. package/lib/types/equipment/item/AnimalCare.js +6 -1
  11. package/lib/types/equipment/item/Armor.d.ts +24 -0
  12. package/lib/types/equipment/item/Armor.js +5 -0
  13. package/lib/types/equipment/item/ArmorAccessory.d.ts +24 -0
  14. package/lib/types/equipment/item/ArmorAccessory.js +5 -0
  15. package/lib/types/equipment/item/BandageOrRemedy.d.ts +24 -0
  16. package/lib/types/equipment/item/BandageOrRemedy.js +5 -0
  17. package/lib/types/equipment/item/Book.d.ts +24 -0
  18. package/lib/types/equipment/item/Book.js +5 -1
  19. package/lib/types/equipment/item/CeremonialItem.d.ts +24 -0
  20. package/lib/types/equipment/item/CeremonialItem.js +5 -0
  21. package/lib/types/equipment/item/Clothes.d.ts +24 -0
  22. package/lib/types/equipment/item/Clothes.js +5 -0
  23. package/lib/types/equipment/item/Container.d.ts +24 -0
  24. package/lib/types/equipment/item/Container.js +5 -0
  25. package/lib/types/equipment/item/Elixir.d.ts +24 -0
  26. package/lib/types/equipment/item/Elixir.js +5 -0
  27. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +24 -0
  28. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +5 -0
  29. package/lib/types/equipment/item/GemOrPreciousStone.d.ts +24 -0
  30. package/lib/types/equipment/item/GemOrPreciousStone.js +5 -0
  31. package/lib/types/equipment/item/IlluminationLightSource.d.ts +24 -0
  32. package/lib/types/equipment/item/IlluminationLightSource.js +5 -0
  33. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +24 -0
  34. package/lib/types/equipment/item/IlluminationRefillOrSupply.js +5 -0
  35. package/lib/types/equipment/item/Item.d.ts +24 -0
  36. package/lib/types/equipment/item/Item.js +5 -0
  37. package/lib/types/equipment/item/ItemComponent.d.ts +24 -0
  38. package/lib/types/equipment/item/ItemComponent.js +5 -0
  39. package/lib/types/equipment/item/Jewelry.d.ts +24 -0
  40. package/lib/types/equipment/item/Jewelry.js +5 -0
  41. package/lib/types/equipment/item/Laboratory.d.ts +24 -0
  42. package/lib/types/equipment/item/Laboratory.js +5 -0
  43. package/lib/types/equipment/item/Liebesspielzeug.d.ts +24 -0
  44. package/lib/types/equipment/item/Liebesspielzeug.js +5 -0
  45. package/lib/types/equipment/item/LuxuryGood.d.ts +24 -0
  46. package/lib/types/equipment/item/LuxuryGood.js +5 -0
  47. package/lib/types/equipment/item/MagicalArtifact.d.ts +24 -0
  48. package/lib/types/equipment/item/MagicalArtifact.js +5 -0
  49. package/lib/types/equipment/item/MusicalInstrument.d.ts +24 -0
  50. package/lib/types/equipment/item/MusicalInstrument.js +5 -0
  51. package/lib/types/equipment/item/OrienteeringAid.d.ts +24 -0
  52. package/lib/types/equipment/item/Poison.d.ts +24 -0
  53. package/lib/types/equipment/item/Poison.js +5 -0
  54. package/lib/types/equipment/item/RopeOrChain.d.ts +24 -0
  55. package/lib/types/equipment/item/Stationery.d.ts +24 -0
  56. package/lib/types/equipment/item/ThievesTool.d.ts +24 -0
  57. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +24 -0
  58. package/lib/types/equipment/item/ToolOfTheTrade.js +5 -0
  59. package/lib/types/equipment/item/TravelGearOrTool.d.ts +24 -0
  60. package/lib/types/equipment/item/TravelGearOrTool.js +5 -0
  61. package/lib/types/equipment/item/Vehicle.d.ts +24 -0
  62. package/lib/types/equipment/item/Vehicle.js +5 -0
  63. package/lib/types/equipment/item/Weapon.d.ts +24 -0
  64. package/lib/types/equipment/item/Weapon.js +5 -0
  65. package/lib/types/equipment/item/WeaponAccessory.d.ts +24 -0
  66. package/lib/types/equipment/item/WeaponAccessory.js +5 -0
  67. package/lib/types/equipment/item/_Item.d.ts +24 -0
  68. package/lib/types/equipment/item/_Item.js +5 -1
  69. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +21 -0
  70. package/lib/types/prerequisites/PrerequisiteGroups.js +6 -0
  71. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,22 @@
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.107.0](https://github.com/Optolith/database-schema/compare/v0.106.1...v0.107.0) (2026-10-16)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * optional animal care weight
10
+
11
+ ### Features
12
+
13
+ * optional animal care weight ([8b1b1a4](https://github.com/Optolith/database-schema/commit/8b1b1a4195016b6606ebae13862674b7455bc956))
14
+
15
+ ## [0.106.1](https://github.com/Optolith/database-schema/compare/v0.106.0...v0.106.1) (2026-10-16)
16
+
17
+ ### Features
18
+
19
+ * rule prerequisites for equipment ([db0785f](https://github.com/Optolith/database-schema/commit/db0785f4dec591ef94e8a65b2a4d396976d11fbc))
20
+
5
21
  ## [0.106.0](https://github.com/Optolith/database-schema/compare/v0.105.0...v0.106.0) (2026-10-16)
6
22
 
7
23
  ### ⚠ BREAKING CHANGES
package/gen/types.d.ts CHANGED
@@ -335,6 +335,7 @@ export type EnumMap = {
335
335
  EnhancementPrerequisiteGroup: EnhancementPrerequisiteGroup
336
336
  EquipmentCategoryType: EquipmentCategoryType
337
337
  EquipmentIdentifier: EquipmentIdentifier
338
+ EquipmentPrerequisiteGroup: EquipmentPrerequisiteGroup
338
339
  ExpressionBasedParameterExpressionValue: ExpressionBasedParameterExpressionValue
339
340
  ExpressionBasedPoisonTimeExpressionValue: ExpressionBasedPoisonTimeExpressionValue
340
341
  ExtensionRuleIdentifier: ExtensionRuleIdentifier
@@ -678,6 +679,7 @@ export type TypeAliasMap = {
678
679
  EnhancementPrerequisite: EnhancementPrerequisite
679
680
  EnhancementPrerequisites: EnhancementPrerequisites
680
681
  EquipmentPackageItem: EquipmentPackageItem
682
+ EquipmentPrerequisites: EquipmentPrerequisites
681
683
  Errata: Errata
682
684
  Erratum: Erratum
683
685
  ExclusiveCantripNote: ExclusiveCantripNote
@@ -6000,6 +6002,11 @@ export interface Poison {
6000
6002
  */
6001
6003
  cost?: PoisonCost
6002
6004
 
6005
+ /**
6006
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
6007
+ */
6008
+ prerequisites?: EquipmentPrerequisites
6009
+
6003
6010
  /**
6004
6011
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
6005
6012
  */
@@ -6629,6 +6636,14 @@ export interface CostRangeTranslation {
6629
6636
  wrap_in_text: string
6630
6637
  }
6631
6638
 
6639
+ export type EquipmentPrerequisites = PlainPrerequisites<EquipmentPrerequisiteGroup>
6640
+
6641
+ export type EquipmentPrerequisiteGroup =
6642
+ | {
6643
+ kind: "Rule"
6644
+ Rule: RulePrerequisite
6645
+ }
6646
+
6632
6647
  export interface AnimalShape {
6633
6648
  /**
6634
6649
  * The animal shape’s path.
@@ -12623,6 +12638,11 @@ export interface Weapon {
12623
12638
  */
12624
12639
  knownItemSpecifics?: KnownItemSpecifics
12625
12640
 
12641
+ /**
12642
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
12643
+ */
12644
+ prerequisites?: EquipmentPrerequisites
12645
+
12626
12646
  /**
12627
12647
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
12628
12648
  */
@@ -13061,6 +13081,11 @@ export interface Ammunition {
13061
13081
  */
13062
13082
  complexity?: Complexity
13063
13083
 
13084
+ /**
13085
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
13086
+ */
13087
+ prerequisites?: EquipmentPrerequisites
13088
+
13064
13089
  /**
13065
13090
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
13066
13091
  */
@@ -23725,6 +23750,11 @@ export interface Animal {
23725
23750
  */
23726
23751
  cost: Cost
23727
23752
 
23753
+ /**
23754
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
23755
+ */
23756
+ prerequisites?: EquipmentPrerequisites
23757
+
23728
23758
  /**
23729
23759
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
23730
23760
  */
@@ -23778,6 +23808,11 @@ export interface AnimalCare {
23778
23808
  */
23779
23809
  complexity?: Complexity
23780
23810
 
23811
+ /**
23812
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
23813
+ */
23814
+ prerequisites?: EquipmentPrerequisites
23815
+
23781
23816
  /**
23782
23817
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
23783
23818
  */
@@ -23842,7 +23877,7 @@ export interface GeneralAnimalCare {
23842
23877
  /**
23843
23878
  * The weight in kg.
23844
23879
  */
23845
- weight: Weight
23880
+ weight?: Weight
23846
23881
  }
23847
23882
 
23848
23883
  export interface AnimalFeed {
@@ -24027,6 +24062,11 @@ export interface Armor {
24027
24062
  */
24028
24063
  knownItemSpecifics?: KnownItemSpecifics
24029
24064
 
24065
+ /**
24066
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
24067
+ */
24068
+ prerequisites?: EquipmentPrerequisites
24069
+
24030
24070
  /**
24031
24071
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
24032
24072
  */
@@ -24274,6 +24314,11 @@ export interface ArmorAccessory {
24274
24314
  */
24275
24315
  combat_use?: CombatUse
24276
24316
 
24317
+ /**
24318
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
24319
+ */
24320
+ prerequisites?: EquipmentPrerequisites
24321
+
24277
24322
  /**
24278
24323
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
24279
24324
  */
@@ -24450,6 +24495,11 @@ export interface BandageOrRemedy {
24450
24495
  */
24451
24496
  combat_use?: CombatUse
24452
24497
 
24498
+ /**
24499
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
24500
+ */
24501
+ prerequisites?: EquipmentPrerequisites
24502
+
24453
24503
  /**
24454
24504
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
24455
24505
  */
@@ -24606,6 +24656,11 @@ export interface Book {
24606
24656
  */
24607
24657
  rules?: BookRules
24608
24658
 
24659
+ /**
24660
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
24661
+ */
24662
+ prerequisites?: EquipmentPrerequisites
24663
+
24609
24664
  /**
24610
24665
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
24611
24666
  */
@@ -24968,6 +25023,11 @@ export interface CeremonialItem {
24968
25023
  */
24969
25024
  combat_use?: CombatUse
24970
25025
 
25026
+ /**
25027
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
25028
+ */
25029
+ prerequisites?: EquipmentPrerequisites
25030
+
24971
25031
  /**
24972
25032
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
24973
25033
  */
@@ -25036,6 +25096,11 @@ export interface Clothes {
25036
25096
  */
25037
25097
  combat_use?: CombatUse
25038
25098
 
25099
+ /**
25100
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
25101
+ */
25102
+ prerequisites?: EquipmentPrerequisites
25103
+
25039
25104
  /**
25040
25105
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
25041
25106
  */
@@ -25164,6 +25229,11 @@ export interface Container {
25164
25229
  */
25165
25230
  combat_use?: CombatUse
25166
25231
 
25232
+ /**
25233
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
25234
+ */
25235
+ prerequisites?: EquipmentPrerequisites
25236
+
25167
25237
  /**
25168
25238
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
25169
25239
  */
@@ -25573,6 +25643,11 @@ export interface Elixir {
25573
25643
  */
25574
25644
  trade_secret?: RecipeTradeSecret
25575
25645
 
25646
+ /**
25647
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
25648
+ */
25649
+ prerequisites?: EquipmentPrerequisites
25650
+
25576
25651
  /**
25577
25652
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
25578
25653
  */
@@ -25803,6 +25878,11 @@ export interface EquipmentOfBlessedOnes {
25803
25878
  */
25804
25879
  combat_use?: CombatUse
25805
25880
 
25881
+ /**
25882
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
25883
+ */
25884
+ prerequisites?: EquipmentPrerequisites
25885
+
25806
25886
  /**
25807
25887
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
25808
25888
  */
@@ -26050,6 +26130,11 @@ export interface GemOrPreciousStone {
26050
26130
  */
26051
26131
  weight?: Weight
26052
26132
 
26133
+ /**
26134
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
26135
+ */
26136
+ prerequisites?: EquipmentPrerequisites
26137
+
26053
26138
  /**
26054
26139
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26055
26140
  */
@@ -26128,6 +26213,11 @@ export interface IlluminationLightSource {
26128
26213
  */
26129
26214
  combat_use?: CombatUse
26130
26215
 
26216
+ /**
26217
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
26218
+ */
26219
+ prerequisites?: EquipmentPrerequisites
26220
+
26131
26221
  /**
26132
26222
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26133
26223
  */
@@ -26222,6 +26312,11 @@ export interface IlluminationRefillOrSupply {
26222
26312
  */
26223
26313
  combat_use?: CombatUse
26224
26314
 
26315
+ /**
26316
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
26317
+ */
26318
+ prerequisites?: EquipmentPrerequisites
26319
+
26225
26320
  /**
26226
26321
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26227
26322
  */
@@ -26290,6 +26385,11 @@ export interface ItemComponent {
26290
26385
  */
26291
26386
  rules?: ItemComponentRules
26292
26387
 
26388
+ /**
26389
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
26390
+ */
26391
+ prerequisites?: EquipmentPrerequisites
26392
+
26293
26393
  /**
26294
26394
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26295
26395
  */
@@ -26657,6 +26757,11 @@ export interface Jewelry {
26657
26757
  */
26658
26758
  structure_points: StructurePoints
26659
26759
 
26760
+ /**
26761
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
26762
+ */
26763
+ prerequisites?: EquipmentPrerequisites
26764
+
26660
26765
  /**
26661
26766
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26662
26767
  */
@@ -26729,6 +26834,11 @@ export interface Laboratory {
26729
26834
  */
26730
26835
  level: number
26731
26836
 
26837
+ /**
26838
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
26839
+ */
26840
+ prerequisites?: EquipmentPrerequisites
26841
+
26732
26842
  /**
26733
26843
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26734
26844
  */
@@ -26797,6 +26907,11 @@ export interface Liebesspielzeug {
26797
26907
  */
26798
26908
  combat_use?: CombatUse
26799
26909
 
26910
+ /**
26911
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
26912
+ */
26913
+ prerequisites?: EquipmentPrerequisites
26914
+
26800
26915
  /**
26801
26916
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26802
26917
  */
@@ -26865,6 +26980,11 @@ export interface LuxuryGood {
26865
26980
  */
26866
26981
  combat_use?: CombatUse
26867
26982
 
26983
+ /**
26984
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
26985
+ */
26986
+ prerequisites?: EquipmentPrerequisites
26987
+
26868
26988
  /**
26869
26989
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26870
26990
  */
@@ -26933,6 +27053,11 @@ export interface MagicalArtifact {
26933
27053
  */
26934
27054
  combat_use?: CombatUse
26935
27055
 
27056
+ /**
27057
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
27058
+ */
27059
+ prerequisites?: EquipmentPrerequisites
27060
+
26936
27061
  /**
26937
27062
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
26938
27063
  */
@@ -27016,6 +27141,11 @@ export interface MusicalInstrument {
27016
27141
  */
27017
27142
  combat_use?: CombatUse
27018
27143
 
27144
+ /**
27145
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
27146
+ */
27147
+ prerequisites?: EquipmentPrerequisites
27148
+
27019
27149
  /**
27020
27150
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
27021
27151
  */
@@ -27125,6 +27255,11 @@ export interface OrienteeringAid {
27125
27255
  */
27126
27256
  combat_use?: CombatUse
27127
27257
 
27258
+ /**
27259
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
27260
+ */
27261
+ prerequisites?: EquipmentPrerequisites
27262
+
27128
27263
  /**
27129
27264
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
27130
27265
  */
@@ -27193,6 +27328,11 @@ export interface RopeOrChain {
27193
27328
  */
27194
27329
  combat_use?: CombatUse
27195
27330
 
27331
+ /**
27332
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
27333
+ */
27334
+ prerequisites?: EquipmentPrerequisites
27335
+
27196
27336
  /**
27197
27337
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
27198
27338
  */
@@ -27261,6 +27401,11 @@ export interface Stationery {
27261
27401
  */
27262
27402
  combat_use?: CombatUse
27263
27403
 
27404
+ /**
27405
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
27406
+ */
27407
+ prerequisites?: EquipmentPrerequisites
27408
+
27264
27409
  /**
27265
27410
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
27266
27411
  */
@@ -27329,6 +27474,11 @@ export interface ThievesTool {
27329
27474
  */
27330
27475
  combat_use?: CombatUse
27331
27476
 
27477
+ /**
27478
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
27479
+ */
27480
+ prerequisites?: EquipmentPrerequisites
27481
+
27332
27482
  /**
27333
27483
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
27334
27484
  */
@@ -27392,6 +27542,11 @@ export interface ToolOfTheTrade {
27392
27542
  */
27393
27543
  structure_points: StructurePoints
27394
27544
 
27545
+ /**
27546
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
27547
+ */
27548
+ prerequisites?: EquipmentPrerequisites
27549
+
27395
27550
  /**
27396
27551
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
27397
27552
  */
@@ -27460,6 +27615,11 @@ export interface TravelGearOrTool {
27460
27615
  */
27461
27616
  combat_use?: CombatUse
27462
27617
 
27618
+ /**
27619
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
27620
+ */
27621
+ prerequisites?: EquipmentPrerequisites
27622
+
27463
27623
  /**
27464
27624
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
27465
27625
  */
@@ -27518,6 +27678,11 @@ export interface Vehicle {
27518
27678
  */
27519
27679
  complexity?: Complexity
27520
27680
 
27681
+ /**
27682
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
27683
+ */
27684
+ prerequisites?: EquipmentPrerequisites
27685
+
27521
27686
  /**
27522
27687
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
27523
27688
  */
@@ -27586,6 +27751,11 @@ export interface WeaponAccessory {
27586
27751
  */
27587
27752
  combat_use?: CombatUse
27588
27753
 
27754
+ /**
27755
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
27756
+ */
27757
+ prerequisites?: EquipmentPrerequisites
27758
+
27589
27759
  /**
27590
27760
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
27591
27761
  */
@@ -28161,6 +28331,11 @@ export interface Item {
28161
28331
  */
28162
28332
  knownItemSpecifics?: KnownItemSpecifics
28163
28333
 
28334
+ /**
28335
+ * The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.
28336
+ */
28337
+ prerequisites?: EquipmentPrerequisites
28338
+
28164
28339
  /**
28165
28340
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
28166
28341
  */
@@ -447,3 +447,27 @@ export declare const BookPrerequisites: DB.TypeAlias<"BookPrerequisites", DB.Inc
447
447
  }>, true>;
448
448
  }>, [T: DB.Param<"T", DB.Type>]>>>;
449
449
  }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>;
450
+ export declare const EquipmentPrerequisites: DB.TypeAlias<"EquipmentPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
451
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
452
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
453
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
454
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
455
+ Hide: DB.EnumCase<null>;
456
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
457
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
458
+ Standalone: DB.EnumCase<null>;
459
+ Connected: DB.EnumCase<null>;
460
+ }, []>>, false>;
461
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
462
+ replacement: DB.MemberDecl<DB.String, true>;
463
+ }>, true>;
464
+ }>, []>>>;
465
+ }, []>>, false>;
466
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
467
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
468
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
469
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
470
+ text: DB.MemberDecl<DB.String, true>;
471
+ }>, true>;
472
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
473
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>;
@@ -4,7 +4,7 @@
4
4
  import * as DB from "tsondb/schema/dsl";
5
5
  import { NestedTranslationMap } from "./Locale.js";
6
6
  import { DisplayOption } from "./prerequisites/DisplayOption.js";
7
- import { AdvantageDisadvantagePrerequisiteGroup, AnimistPowerPrerequisiteGroup, ArcaneTraditionPrerequisiteGroup, BookPrerequisiteGroup, DerivedCharacteristicPrerequisiteGroup, EnhancementPrerequisiteGroup, GeneralPrerequisiteGroup, GeodeRitualPrerequisiteGroup, InfluencePrerequisiteGroup, LanguagePrerequisiteGroup, LiturgyPrerequisiteGroup, PersonalityTraitPrerequisiteGroup, ProfessionPrerequisiteGroup, PublicationPrerequisiteGroup, RulePrerequisiteGroup, SpellworkPrerequisiteGroup, TribePrerequisiteGroup, } from "./prerequisites/PrerequisiteGroups.js";
7
+ import { AdvantageDisadvantagePrerequisiteGroup, AnimistPowerPrerequisiteGroup, ArcaneTraditionPrerequisiteGroup, BookPrerequisiteGroup, DerivedCharacteristicPrerequisiteGroup, EnhancementPrerequisiteGroup, EquipmentPrerequisiteGroup, GeneralPrerequisiteGroup, GeodeRitualPrerequisiteGroup, InfluencePrerequisiteGroup, LanguagePrerequisiteGroup, LiturgyPrerequisiteGroup, PersonalityTraitPrerequisiteGroup, ProfessionPrerequisiteGroup, PublicationPrerequisiteGroup, RulePrerequisiteGroup, SpellworkPrerequisiteGroup, TribePrerequisiteGroup, } from "./prerequisites/PrerequisiteGroups.js";
8
8
  const PrerequisiteGroup = DB.GenTypeAlias(import.meta.url, {
9
9
  name: "PrerequisiteGroup",
10
10
  comment: "A prerequisite group has no influence on validation logic. It serves as a single unit for displaying purposes, where the source uses a prerequisites item that cannot be represented as a single prerequisite.",
@@ -192,3 +192,7 @@ export const BookPrerequisites = DB.TypeAlias(import.meta.url, {
192
192
  name: "BookPrerequisites",
193
193
  type: () => DB.GenIncludeIdentifier(PlainPrerequisites, [DB.IncludeIdentifier(BookPrerequisiteGroup)]),
194
194
  });
195
+ export const EquipmentPrerequisites = DB.TypeAlias(import.meta.url, {
196
+ name: "EquipmentPrerequisites",
197
+ type: () => DB.GenIncludeIdentifier(PlainPrerequisites, [DB.IncludeIdentifier(EquipmentPrerequisiteGroup)]),
198
+ });
@@ -94,6 +94,30 @@ export declare const Ammunition: DB.Entity<"Ammunition", {
94
94
  }>, []>>>, []>>, false>;
95
95
  }>, []>>>;
96
96
  }, []>>, false>;
97
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EquipmentPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
98
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
99
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
100
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
101
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
102
+ Hide: DB.EnumCase<null>;
103
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
104
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
105
+ Standalone: DB.EnumCase<null>;
106
+ Connected: DB.EnumCase<null>;
107
+ }, []>>, false>;
108
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
109
+ replacement: DB.MemberDecl<DB.String, true>;
110
+ }>, true>;
111
+ }>, []>>>;
112
+ }, []>>, false>;
113
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
114
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
115
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
116
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
117
+ text: DB.MemberDecl<DB.String, true>;
118
+ }>, true>;
119
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
120
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
97
121
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
98
122
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
99
123
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -1,4 +1,5 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
+ import { EquipmentPrerequisites } from "../../_Prerequisite.js";
2
3
  import { NestedTranslationMap } from "../../Locale.js";
3
4
  import { Errata } from "../../source/_Erratum.js";
4
5
  import { src } from "../../source/_PublicationRef.js";
@@ -15,6 +16,10 @@ export const Ammunition = DB.Entity(import.meta.url, {
15
16
  comment: "The complexity of crafting the item.",
16
17
  type: DB.IncludeIdentifier(Complexity),
17
18
  }),
19
+ prerequisites: DB.Optional({
20
+ comment: "The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.",
21
+ type: DB.IncludeIdentifier(EquipmentPrerequisites),
22
+ }),
18
23
  src,
19
24
  translations: NestedTranslationMap(DB.Required, "Ammunition", DB.Object({
20
25
  name: DB.Required({
@@ -22,6 +22,30 @@ export declare const Animal: DB.Entity<"Animal", {
22
22
  }>, false>;
23
23
  }>, []>>>;
24
24
  }, []>>, true>;
25
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EquipmentPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
26
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
27
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
28
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
29
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
30
+ Hide: DB.EnumCase<null>;
31
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
32
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
33
+ Standalone: DB.EnumCase<null>;
34
+ Connected: DB.EnumCase<null>;
35
+ }, []>>, false>;
36
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
37
+ replacement: DB.MemberDecl<DB.String, true>;
38
+ }>, true>;
39
+ }>, []>>>;
40
+ }, []>>, false>;
41
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
42
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
43
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
44
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
45
+ text: DB.MemberDecl<DB.String, true>;
46
+ }>, true>;
47
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
48
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
25
49
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
26
50
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
27
51
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -1,4 +1,5 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
+ import { EquipmentPrerequisites } from "../../_Prerequisite.js";
2
3
  import { src } from "../../source/_PublicationRef.js";
3
4
  import { Cost, DefaultItemTranslations } from "./_Item.js";
4
5
  export const Animal = DB.Entity(import.meta.url, {
@@ -9,6 +10,10 @@ export const Animal = DB.Entity(import.meta.url, {
9
10
  comment: "The cost in silverthalers.",
10
11
  type: DB.IncludeIdentifier(Cost),
11
12
  }),
13
+ prerequisites: DB.Optional({
14
+ comment: "The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.",
15
+ type: DB.IncludeIdentifier(EquipmentPrerequisites),
16
+ }),
12
17
  src,
13
18
  translations: DefaultItemTranslations("Animal"),
14
19
  }),
@@ -24,7 +24,7 @@ export declare const AnimalCare: DB.Entity<"AnimalCare", {
24
24
  }>, false>;
25
25
  }>, []>>>;
26
26
  }, []>>, true>;
27
- weight: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Weight", DB.Float, []>>, true>;
27
+ weight: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Weight", DB.Float, []>>, false>;
28
28
  }>, []>>>;
29
29
  Feed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AnimalFeed", DB.Object<{
30
30
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"AnimalFeedCost", {
@@ -109,6 +109,30 @@ export declare const AnimalCare: DB.Entity<"AnimalCare", {
109
109
  }>, []>>>, []>>, false>;
110
110
  }>, []>>>;
111
111
  }, []>>, false>;
112
+ prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"EquipmentPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
113
+ Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
114
+ Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
115
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
116
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
117
+ Hide: DB.EnumCase<null>;
118
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
119
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
120
+ Standalone: DB.EnumCase<null>;
121
+ Connected: DB.EnumCase<null>;
122
+ }, []>>, false>;
123
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
124
+ replacement: DB.MemberDecl<DB.String, true>;
125
+ }>, true>;
126
+ }>, []>>>;
127
+ }, []>>, false>;
128
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
129
+ Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
130
+ list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
131
+ translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
132
+ text: DB.MemberDecl<DB.String, true>;
133
+ }>, true>;
134
+ }>, [T: DB.Param<"T", DB.Type>]>>>;
135
+ }, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
112
136
  src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
113
137
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
114
138
  occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
@@ -1,4 +1,5 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
+ import { EquipmentPrerequisites } from "../../_Prerequisite.js";
2
3
  import { src } from "../../source/_PublicationRef.js";
3
4
  import { Complexity, Cost, DefaultItemTranslations, FixedCost, Weight } from "./_Item.js";
4
5
  export const AnimalCare = DB.Entity(import.meta.url, {
@@ -13,6 +14,10 @@ export const AnimalCare = DB.Entity(import.meta.url, {
13
14
  comment: "The complexity of crafting the item.",
14
15
  type: DB.IncludeIdentifier(Complexity),
15
16
  }),
17
+ prerequisites: DB.Optional({
18
+ comment: "The prerequisites of the item, if any. Note that this is fully separate from the prerequisites of the item’s trade secret, which are defined independently from this.",
19
+ type: DB.IncludeIdentifier(EquipmentPrerequisites),
20
+ }),
16
21
  src,
17
22
  translations: DefaultItemTranslations("AnimalCare"),
18
23
  }),
@@ -39,7 +44,7 @@ const GeneralAnimalCare = DB.TypeAlias(import.meta.url, {
39
44
  comment: "The cost in silverthalers.",
40
45
  type: DB.IncludeIdentifier(Cost),
41
46
  }),
42
- weight: DB.Required({
47
+ weight: DB.Optional({
43
48
  comment: "The weight in kg.",
44
49
  type: DB.IncludeIdentifier(Weight),
45
50
  }),