optolith-database-schema 0.20.6 → 0.21.1

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 (122) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/gen/types.d.ts +1516 -1134
  3. package/lib/types/Advantage.d.ts +185 -159
  4. package/lib/types/Advantage.js +2 -1
  5. package/lib/types/Aspect.js +1 -1
  6. package/lib/types/Cantrip.d.ts +1 -1
  7. package/lib/types/Cantrip.js +1 -1
  8. package/lib/types/Disadvantage.d.ts +185 -159
  9. package/lib/types/Disadvantage.js +2 -1
  10. package/lib/types/Disease.d.ts +45 -18
  11. package/lib/types/Disease.js +6 -1
  12. package/lib/types/Patron.js +2 -4
  13. package/lib/types/_Activatable.d.ts +188 -162
  14. package/lib/types/_Activatable.js +7 -5
  15. package/lib/types/_Prerequisite.d.ts +24 -0
  16. package/lib/types/_Prerequisite.js +5 -1
  17. package/lib/types/equipment/item/MagicalArtifact.d.ts +102 -0
  18. package/lib/types/equipment/item/MagicalArtifact.js +9 -1
  19. package/lib/types/equipment/item/Poison.d.ts +54 -0
  20. package/lib/types/equipment/item/Poison.js +4 -0
  21. package/lib/types/equipment/item/Vehicle.d.ts +8 -0
  22. package/lib/types/equipment/item/Vehicle.js +10 -2
  23. package/lib/types/equipment/item/_RangedWeapon.js +3 -3
  24. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +25 -1
  25. package/lib/types/magicalActions/AnimistPower_Tribe.js +6 -1
  26. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +49 -0
  27. package/lib/types/prerequisites/PrerequisiteGroups.js +8 -0
  28. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +185 -159
  29. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
  30. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +185 -159
  31. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
  32. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +185 -159
  33. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
  34. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +185 -159
  35. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
  36. package/lib/types/specialAbility/AncestorGlyph.d.ts +185 -159
  37. package/lib/types/specialAbility/AncestorGlyph.js +2 -1
  38. package/lib/types/specialAbility/BlessedTradition.d.ts +185 -159
  39. package/lib/types/specialAbility/BlessedTradition.js +2 -1
  40. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +185 -159
  41. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
  42. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +185 -159
  43. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
  44. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +185 -159
  45. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
  46. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +185 -159
  47. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -1
  48. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +185 -159
  49. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -1
  50. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +185 -159
  51. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
  52. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +185 -159
  53. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
  54. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +185 -159
  55. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
  56. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +185 -159
  57. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
  58. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +185 -159
  59. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
  60. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +185 -159
  61. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -1
  62. package/lib/types/specialAbility/LycantropicGift.d.ts +185 -159
  63. package/lib/types/specialAbility/LycantropicGift.js +2 -1
  64. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +185 -159
  65. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
  66. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +185 -159
  67. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
  68. package/lib/types/specialAbility/MagicalTradition.d.ts +185 -159
  69. package/lib/types/specialAbility/MagicalTradition.js +2 -1
  70. package/lib/types/specialAbility/PactGift.d.ts +185 -159
  71. package/lib/types/specialAbility/PactGift.js +2 -1
  72. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +185 -159
  73. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
  74. package/lib/types/specialAbility/Sermon.d.ts +185 -159
  75. package/lib/types/specialAbility/Sermon.js +2 -1
  76. package/lib/types/specialAbility/SexSpecialAbility.d.ts +185 -159
  77. package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
  78. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +185 -159
  79. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
  80. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +185 -159
  81. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -1
  82. package/lib/types/specialAbility/VampiricGift.d.ts +185 -159
  83. package/lib/types/specialAbility/VampiricGift.js +2 -1
  84. package/lib/types/specialAbility/Vision.d.ts +185 -159
  85. package/lib/types/specialAbility/Vision.js +2 -1
  86. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +185 -159
  87. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -1
  88. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +185 -159
  89. package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -1
  90. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +185 -159
  91. package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -1
  92. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +185 -159
  93. package/lib/types/traditionArtifacts/CauldronEnchantment.js +2 -1
  94. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +185 -159
  95. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -1
  96. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +185 -159
  97. package/lib/types/traditionArtifacts/DaggerRitual.js +2 -1
  98. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +185 -159
  99. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -1
  100. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +185 -159
  101. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -1
  102. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +185 -159
  103. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -1
  104. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +185 -159
  105. package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -1
  106. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +185 -159
  107. package/lib/types/traditionArtifacts/RingEnchantment.js +2 -1
  108. package/lib/types/traditionArtifacts/SickleRitual.d.ts +185 -159
  109. package/lib/types/traditionArtifacts/SickleRitual.js +2 -1
  110. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +185 -159
  111. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -1
  112. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +185 -159
  113. package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -1
  114. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +185 -159
  115. package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -1
  116. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +185 -159
  117. package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -1
  118. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +185 -159
  119. package/lib/types/traditionArtifacts/WandEnchantment.js +2 -1
  120. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +185 -159
  121. package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -1
  122. package/package.json +3 -3
@@ -19,6 +19,108 @@ export declare const MagicalArtifact: Entity<"MagicalArtifact", {
19
19
  }>, []>>>;
20
20
  }, []>>, true>;
21
21
  weight: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"Weight", import("tsondb/schema/def").FloatType, []>>, false>;
22
+ complexity: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"Complexity", {
23
+ Primitive: import("tsondb/schema/def").EnumCaseDecl<null>;
24
+ Simple: import("tsondb/schema/def").EnumCaseDecl<null>;
25
+ Complex: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ComplexComplexity", Object<{
26
+ ap_value: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
27
+ }>, []>>>;
28
+ }, []>>, false>;
29
+ combat_use: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"CombatUse", {
30
+ Weapon: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ImprovisedWeapon", Object<{
31
+ melee_uses: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<string, {
32
+ damage: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"MeleeDamage", Object<{
33
+ dice: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"Dice", Object<{
34
+ number: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
35
+ sides: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"DieType", import("tsondb/schema/def").IntegerType, []>>, true>;
36
+ }>, []>>, true>;
37
+ flat: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
38
+ }>, []>>, true>;
39
+ damage_threshold: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"PrimaryAttributeDamageThreshold", {
40
+ Default: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"DefaultPrimaryAttributeDamageThreshold", Object<{
41
+ threshold: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
42
+ }>, []>>>;
43
+ List: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"PrimaryAttributeDamageThresholdList", Object<{
44
+ list: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"SinglePrimaryAttributeDamageThreshold", Object<{
45
+ attribute: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
46
+ threshold: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
47
+ }>, []>>>, true>;
48
+ }>, []>>>;
49
+ }, []>>, false>;
50
+ attackModifier: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"AttackModifier", import("tsondb/schema/def").IntegerType, []>>, false>;
51
+ parryModifier: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ParryModifier", import("tsondb/schema/def").IntegerType, []>>, false>;
52
+ reach: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, false>;
53
+ length: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"Length", import("tsondb/schema/def").IntegerType, []>>, false>;
54
+ size: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"ShieldSize", {
55
+ Small: import("tsondb/schema/def").EnumCaseDecl<null>;
56
+ Medium: import("tsondb/schema/def").EnumCaseDecl<null>;
57
+ Large: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"LargeShieldSize", Object<{
58
+ attack_penalty: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
59
+ }>, []>>>;
60
+ }, []>>, false>;
61
+ is_parrying_weapon: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").BooleanType, true>;
62
+ is_two_handed_weapon: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").BooleanType, true>;
63
+ is_improvised_weapon: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").BooleanType, true>;
64
+ }>, false>;
65
+ ranged_uses: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<string, {
66
+ damage: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"RangedDamage", {
67
+ Default: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"DefaultRangedDamage", Object<{
68
+ dice: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"Dice", Object<{
69
+ number: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
70
+ sides: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"DieType", import("tsondb/schema/def").IntegerType, []>>, true>;
71
+ }>, []>>, true>;
72
+ flat: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
73
+ }>, []>>>;
74
+ NotApplicable: import("tsondb/schema/def").EnumCaseDecl<null>;
75
+ Special: import("tsondb/schema/def").EnumCaseDecl<null>;
76
+ }, []>>, true>;
77
+ reload_time: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ReloadTime", Object<{
78
+ value: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
79
+ }>, []>>>, true>;
80
+ range: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"RangeBrackets", Object<{
81
+ close: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
82
+ medium: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
83
+ far: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
84
+ }>, []>>, true>;
85
+ ammunition: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, false>;
86
+ length: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"Length", import("tsondb/schema/def").IntegerType, []>>, false>;
87
+ is_improvised_weapon: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").BooleanType, true>;
88
+ }>, false>;
89
+ sanctified_by: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"SanctifiedBy", import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
90
+ restricted_to_cultures: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"RestrictedToCultures", {
91
+ CulturesOfRace: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
92
+ Cultures: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"RestrictedToSpecificCultures", Object<{
93
+ list: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
94
+ }>, []>>>;
95
+ }, []>>, false>;
96
+ restricted_to_traditions: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, false>;
97
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ImprovisedWeaponTranslation", {
98
+ advantage: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, false>;
99
+ disadvantage: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, false>;
100
+ }>, false>;
101
+ }>, []>>>;
102
+ Armor: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"SecondaryArmor", Object<{
103
+ protection: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"Protection", import("tsondb/schema/def").IntegerType, []>>, true>;
104
+ encumbrance: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"Encumbrance", import("tsondb/schema/def").IntegerType, []>>, true>;
105
+ has_additional_penalties: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"HasAdditionalPenalties", import("tsondb/schema/def").BooleanType, []>>, true>;
106
+ armor_type: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
107
+ hit_zone: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"HitZone", {
108
+ Head: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"HeadHitZone", Object<{
109
+ combination_possibilities: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"HeadHitZoneCombinationPossibilities", Object<{
110
+ armors: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
111
+ protection: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
112
+ }>, []>>, false>;
113
+ }>, []>>>;
114
+ Torso: import("tsondb/schema/def").EnumCaseDecl<null>;
115
+ Arms: import("tsondb/schema/def").EnumCaseDecl<null>;
116
+ Legs: import("tsondb/schema/def").EnumCaseDecl<null>;
117
+ }, []>>, false>;
118
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"SecondaryArmorTranslation", {
119
+ advantage: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, false>;
120
+ disadvantage: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, false>;
121
+ }>, false>;
122
+ }>, []>>>;
123
+ }, []>>, false>;
22
124
  src: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"PublicationRefs", import("tsondb/schema/def").ArrayType<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"PublicationRef", Object<{
23
125
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
24
126
  occurrences: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<string, {
@@ -1,6 +1,6 @@
1
1
  import { Entity, IncludeIdentifier, Object, Optional, Required } from "tsondb/schema/def";
2
2
  import { src } from "../../source/_PublicationRef.js";
3
- import { Cost, DefaultItemTranslations, Weight } from "./_Item.js";
3
+ import { CombatUse, Complexity, Cost, DefaultItemTranslations, Weight } from "./_Item.js";
4
4
  export const MagicalArtifact = Entity(import.meta.url, {
5
5
  name: "MagicalArtifact",
6
6
  namePlural: "MagicalArtifacts",
@@ -13,6 +13,14 @@ export const MagicalArtifact = Entity(import.meta.url, {
13
13
  comment: "The weight in kg.",
14
14
  type: IncludeIdentifier(Weight),
15
15
  }),
16
+ complexity: Optional({
17
+ comment: "The complexity of crafting the item.",
18
+ type: IncludeIdentifier(Complexity),
19
+ }),
20
+ combat_use: Optional({
21
+ comment: "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
22
+ type: IncludeIdentifier(CombatUse),
23
+ }),
16
24
  src,
17
25
  translations: DefaultItemTranslations("MagicalArtifact"),
18
26
  }),
@@ -19,6 +19,33 @@ export declare const Poison: Entity<"Poison", {
19
19
  }>>, []>>>;
20
20
  }, []>>, true>;
21
21
  is_extractable: import("tsondb/schema/def").MemberDecl<Boolean, true>;
22
+ trade_secret: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RecipeTradeSecret", Object<{
23
+ ap_value: import("tsondb/schema/def").MemberDecl<Integer, true>;
24
+ prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"PlainGeneralPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], Enum<"PrerequisitesElement", {
25
+ Single: EnumCase<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
26
+ Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
27
+ list: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
28
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
29
+ Hide: EnumCase<null>;
30
+ ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", Object<{
31
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
32
+ Standalone: EnumCase<null>;
33
+ Connected: EnumCase<null>;
34
+ }, []>>, false>;
35
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
36
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
37
+ }>, true>;
38
+ }>, []>>>;
39
+ }, []>>, false>;
40
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
41
+ Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", Object<{
42
+ list: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
43
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
44
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
45
+ }>, true>;
46
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
47
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>>, false>;
48
+ }>, []>>, false>;
22
49
  }>, []>>>;
23
50
  AlchemicalPoison: EnumCase<IncludeIdentifier<[], TypeAlias<"AlchemicalPoison", Object<{
24
51
  effect_types: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], Enum<"EffectType", {
@@ -310,6 +337,33 @@ export declare const AnimalVenom: TypeAlias<"AnimalVenom", Object<{
310
337
  }>>, []>>>;
311
338
  }, []>>, true>;
312
339
  is_extractable: import("tsondb/schema/def").MemberDecl<Boolean, true>;
340
+ trade_secret: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RecipeTradeSecret", Object<{
341
+ ap_value: import("tsondb/schema/def").MemberDecl<Integer, true>;
342
+ prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"PlainGeneralPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], Enum<"PrerequisitesElement", {
343
+ Single: EnumCase<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
344
+ Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
345
+ list: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
346
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
347
+ Hide: EnumCase<null>;
348
+ ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", Object<{
349
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
350
+ Standalone: EnumCase<null>;
351
+ Connected: EnumCase<null>;
352
+ }, []>>, false>;
353
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
354
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
355
+ }>, true>;
356
+ }>, []>>>;
357
+ }, []>>, false>;
358
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
359
+ Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", Object<{
360
+ list: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
361
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
362
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
363
+ }>, true>;
364
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
365
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>>, false>;
366
+ }>, []>>, false>;
313
367
  }>, []>;
314
368
  export declare const AlchemicalPoison: TypeAlias<"AlchemicalPoison", Object<{
315
369
  effect_types: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], Enum<"EffectType", {
@@ -188,6 +188,10 @@ export const AnimalVenom = TypeAlias(import.meta.url, {
188
188
  comment: "If `false`, the poison cannot be extracted.",
189
189
  type: Boolean(),
190
190
  }),
191
+ trade_secret: Optional({
192
+ comment: "AP value and prerequisites of the poison’s trade secret.",
193
+ type: IncludeIdentifier(RecipeTradeSecret),
194
+ }),
191
195
  }),
192
196
  });
193
197
  const AnimalVenomLevel = Enum(import.meta.url, {
@@ -18,6 +18,14 @@ export declare const Vehicle: Entity<"Vehicle", {
18
18
  }>, false>;
19
19
  }>, []>>>;
20
20
  }, []>>, true>;
21
+ weight: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"Weight", import("tsondb/schema/def").FloatType, []>>, false>;
22
+ complexity: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"Complexity", {
23
+ Primitive: import("tsondb/schema/def").EnumCaseDecl<null>;
24
+ Simple: import("tsondb/schema/def").EnumCaseDecl<null>;
25
+ Complex: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ComplexComplexity", Object<{
26
+ ap_value: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
27
+ }>, []>>>;
28
+ }, []>>, false>;
21
29
  src: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"PublicationRefs", import("tsondb/schema/def").ArrayType<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"PublicationRef", Object<{
22
30
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
23
31
  occurrences: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<string, {
@@ -1,6 +1,6 @@
1
- import { Entity, IncludeIdentifier, Object, Required } from "tsondb/schema/def";
1
+ import { Entity, IncludeIdentifier, Object, Optional, Required } from "tsondb/schema/def";
2
2
  import { src } from "../../source/_PublicationRef.js";
3
- import { Cost, DefaultItemTranslations } from "./_Item.js";
3
+ import { Complexity, Cost, DefaultItemTranslations, Weight } from "./_Item.js";
4
4
  export const Vehicle = Entity(import.meta.url, {
5
5
  name: "Vehicle",
6
6
  namePlural: "Vehicles",
@@ -9,6 +9,14 @@ export const Vehicle = Entity(import.meta.url, {
9
9
  comment: "The cost in silverthalers.",
10
10
  type: IncludeIdentifier(Cost),
11
11
  }),
12
+ weight: Optional({
13
+ comment: "The weight in kg.",
14
+ type: IncludeIdentifier(Weight),
15
+ }),
16
+ complexity: Optional({
17
+ comment: "The complexity of crafting the item.",
18
+ type: IncludeIdentifier(Complexity),
19
+ }),
12
20
  src,
13
21
  translations: DefaultItemTranslations("Vehicle"),
14
22
  }),
@@ -65,15 +65,15 @@ const RangeBrackets = TypeAlias(import.meta.url, {
65
65
  type: () => Object({
66
66
  close: Required({
67
67
  comment: "The close range bracket for the weapon. Distance in m.",
68
- type: Integer({ minimum: 1 }),
68
+ type: Integer({ minimum: 0 }),
69
69
  }),
70
70
  medium: Required({
71
71
  comment: "The medium range bracket for the weapon. Distance in m.",
72
- type: Integer({ minimum: 1 }),
72
+ type: Integer({ minimum: 0 }),
73
73
  }),
74
74
  far: Required({
75
75
  comment: "The far range bracket for the weapon. Distance in m.",
76
- type: Integer({ minimum: 1 }),
76
+ type: Integer({ minimum: 0 }),
77
77
  }),
78
78
  }),
79
79
  });
@@ -1,5 +1,29 @@
1
- import { Entity, String } from "tsondb/schema/def";
1
+ import { Entity, IncludeIdentifier, Object, String } from "tsondb/schema/def";
2
2
  export declare const Tribe: Entity<"Tribe", {
3
+ prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"TribePrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PlainPrerequisites", import("tsondb/schema/def").ArrayType<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"PrerequisitesElement", {
4
+ Single: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
5
+ Disjunction: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PrerequisitesDisjunction", Object<{
6
+ list: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
7
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"DisplayOption", {
8
+ Hide: import("tsondb/schema/def").EnumCaseDecl<null>;
9
+ ReplaceWith: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ReplacementDisplayOption", Object<{
10
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"SentenceType", {
11
+ Standalone: import("tsondb/schema/def").EnumCaseDecl<null>;
12
+ Connected: import("tsondb/schema/def").EnumCaseDecl<null>;
13
+ }, []>>, false>;
14
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
15
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
16
+ }>, true>;
17
+ }>, []>>>;
18
+ }, []>>, false>;
19
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
20
+ Group: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PrerequisiteGroup", Object<{
21
+ list: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
22
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
23
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
24
+ }>, true>;
25
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
26
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>>, true>;
3
27
  translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"TribeTranslation", {
4
28
  name: import("tsondb/schema/def").MemberDecl<String, true>;
5
29
  }>, true>;
@@ -1,9 +1,14 @@
1
- import { Entity, Object, Required, String } from "tsondb/schema/def";
1
+ import { Entity, IncludeIdentifier, Object, Required, String } from "tsondb/schema/def";
2
2
  import { NestedTranslationMap } from "../Locale.js";
3
+ import { TribePrerequisites } from "../_Prerequisite.js";
3
4
  export const Tribe = Entity(import.meta.url, {
4
5
  name: "Tribe",
5
6
  namePlural: "Tribes",
6
7
  type: () => Object({
8
+ prerequisites: Required({
9
+ comment: "The prerequisite(s) to be of this tribe.",
10
+ type: IncludeIdentifier(TribePrerequisites),
11
+ }),
7
12
  translations: NestedTranslationMap(Required, "Tribe", Object({
8
13
  name: Required({
9
14
  comment: "The tribe’s name.",
@@ -1029,6 +1029,22 @@ export declare const ArcaneTraditionPrerequisiteGroup: Enum<"ArcaneTraditionPrer
1029
1029
  }>, []>>>;
1030
1030
  }, []>;
1031
1031
  export declare const PersonalityTraitPrerequisiteGroup: Enum<"PersonalityTraitPrerequisiteGroup", {
1032
+ Race: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"RacePrerequisite", import("tsondb/schema/def").ObjectType<{
1033
+ id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
1034
+ active: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").BooleanType, true>;
1035
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
1036
+ Hide: EnumCase<null>;
1037
+ ReplaceWith: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ReplacementDisplayOption", import("tsondb/schema/def").ObjectType<{
1038
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
1039
+ Standalone: EnumCase<null>;
1040
+ Connected: EnumCase<null>;
1041
+ }, []>>, false>;
1042
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
1043
+ replacement: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, true>;
1044
+ }>, true>;
1045
+ }>, []>>>;
1046
+ }, []>>, false>;
1047
+ }>, []>>>;
1032
1048
  Culture: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"CulturePrerequisite", import("tsondb/schema/def").ObjectType<{
1033
1049
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
1034
1050
  display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
@@ -1314,6 +1330,39 @@ export declare const AnimistPowerPrerequisiteGroup: Enum<"AnimistPowerPrerequisi
1314
1330
  }, []>>, false>;
1315
1331
  }>, []>>>;
1316
1332
  }, []>;
1333
+ export declare const TribePrerequisiteGroup: Enum<"TribePrerequisiteGroup", {
1334
+ Race: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"RacePrerequisite", import("tsondb/schema/def").ObjectType<{
1335
+ id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
1336
+ active: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").BooleanType, true>;
1337
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
1338
+ Hide: EnumCase<null>;
1339
+ ReplaceWith: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ReplacementDisplayOption", import("tsondb/schema/def").ObjectType<{
1340
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
1341
+ Standalone: EnumCase<null>;
1342
+ Connected: EnumCase<null>;
1343
+ }, []>>, false>;
1344
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
1345
+ replacement: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, true>;
1346
+ }>, true>;
1347
+ }>, []>>>;
1348
+ }, []>>, false>;
1349
+ }>, []>>>;
1350
+ Culture: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"CulturePrerequisite", import("tsondb/schema/def").ObjectType<{
1351
+ id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
1352
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
1353
+ Hide: EnumCase<null>;
1354
+ ReplaceWith: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ReplacementDisplayOption", import("tsondb/schema/def").ObjectType<{
1355
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
1356
+ Standalone: EnumCase<null>;
1357
+ Connected: EnumCase<null>;
1358
+ }, []>>, false>;
1359
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
1360
+ replacement: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, true>;
1361
+ }>, true>;
1362
+ }>, []>>>;
1363
+ }, []>>, false>;
1364
+ }>, []>>>;
1365
+ }, []>;
1317
1366
  export declare const GeodeRitualPrerequisiteGroup: Enum<"GeodeRitualPrerequisiteGroup", {
1318
1367
  Influence: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"InfluencePrerequisite", import("tsondb/schema/def").ObjectType<{
1319
1368
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
@@ -107,6 +107,7 @@ export const ArcaneTraditionPrerequisiteGroup = Enum(import.meta.url, {
107
107
  export const PersonalityTraitPrerequisiteGroup = Enum(import.meta.url, {
108
108
  name: "PersonalityTraitPrerequisiteGroup",
109
109
  values: () => ({
110
+ Race: EnumCase({ type: IncludeIdentifier(RacePrerequisite) }),
110
111
  Culture: EnumCase({ type: IncludeIdentifier(CulturePrerequisite) }),
111
112
  Text: EnumCase({ type: IncludeIdentifier(TextPrerequisite) }),
112
113
  }),
@@ -145,6 +146,13 @@ export const AnimistPowerPrerequisiteGroup = Enum(import.meta.url, {
145
146
  AnimistPower: EnumCase({ type: IncludeIdentifier(AnimistPowerPrerequisite) }),
146
147
  }),
147
148
  });
149
+ export const TribePrerequisiteGroup = Enum(import.meta.url, {
150
+ name: "TribePrerequisiteGroup",
151
+ values: () => ({
152
+ Race: EnumCase({ type: IncludeIdentifier(RacePrerequisite) }),
153
+ Culture: EnumCase({ type: IncludeIdentifier(CulturePrerequisite) }),
154
+ }),
155
+ });
148
156
  export const GeodeRitualPrerequisiteGroup = Enum(import.meta.url, {
149
157
  name: "GeodeRitualPrerequisiteGroup",
150
158
  values: () => ({