optolith-database-schema 0.20.5 → 0.21.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 (119) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/gen/types.d.ts +1500 -1131
  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/Patron.js +2 -4
  11. package/lib/types/_Activatable.d.ts +188 -162
  12. package/lib/types/_Activatable.js +7 -5
  13. package/lib/types/_Prerequisite.d.ts +48 -0
  14. package/lib/types/_Prerequisite.js +9 -1
  15. package/lib/types/equipment/item/Poison.d.ts +54 -0
  16. package/lib/types/equipment/item/Poison.js +4 -0
  17. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +25 -1
  18. package/lib/types/magicalActions/AnimistPower_Tribe.js +6 -1
  19. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +69 -0
  20. package/lib/types/prerequisites/PrerequisiteGroups.js +14 -0
  21. package/lib/types/rule/FocusRule.d.ts +24 -0
  22. package/lib/types/rule/FocusRule.js +4 -0
  23. package/lib/types/rule/OptionalRule.d.ts +24 -0
  24. package/lib/types/rule/OptionalRule.js +4 -0
  25. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +185 -159
  26. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
  27. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +185 -159
  28. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
  29. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +185 -159
  30. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
  31. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +185 -159
  32. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
  33. package/lib/types/specialAbility/AncestorGlyph.d.ts +185 -159
  34. package/lib/types/specialAbility/AncestorGlyph.js +2 -1
  35. package/lib/types/specialAbility/BlessedTradition.d.ts +185 -159
  36. package/lib/types/specialAbility/BlessedTradition.js +2 -1
  37. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +185 -159
  38. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
  39. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +185 -159
  40. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
  41. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +185 -159
  42. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
  43. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +185 -159
  44. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -1
  45. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +185 -159
  46. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -1
  47. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +185 -159
  48. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
  49. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +185 -159
  50. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
  51. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +185 -159
  52. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
  53. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +185 -159
  54. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
  55. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +185 -159
  56. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
  57. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +185 -159
  58. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -1
  59. package/lib/types/specialAbility/LycantropicGift.d.ts +185 -159
  60. package/lib/types/specialAbility/LycantropicGift.js +2 -1
  61. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +185 -159
  62. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
  63. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +185 -159
  64. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
  65. package/lib/types/specialAbility/MagicalTradition.d.ts +185 -159
  66. package/lib/types/specialAbility/MagicalTradition.js +2 -1
  67. package/lib/types/specialAbility/PactGift.d.ts +185 -159
  68. package/lib/types/specialAbility/PactGift.js +2 -1
  69. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +185 -159
  70. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
  71. package/lib/types/specialAbility/Sermon.d.ts +185 -159
  72. package/lib/types/specialAbility/Sermon.js +2 -1
  73. package/lib/types/specialAbility/SexSpecialAbility.d.ts +185 -159
  74. package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
  75. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +185 -159
  76. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
  77. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +185 -159
  78. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -1
  79. package/lib/types/specialAbility/VampiricGift.d.ts +185 -159
  80. package/lib/types/specialAbility/VampiricGift.js +2 -1
  81. package/lib/types/specialAbility/Vision.d.ts +185 -159
  82. package/lib/types/specialAbility/Vision.js +2 -1
  83. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +185 -159
  84. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -1
  85. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +185 -159
  86. package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -1
  87. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +185 -159
  88. package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -1
  89. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +185 -159
  90. package/lib/types/traditionArtifacts/CauldronEnchantment.js +2 -1
  91. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +185 -159
  92. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -1
  93. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +185 -159
  94. package/lib/types/traditionArtifacts/DaggerRitual.js +2 -1
  95. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +185 -159
  96. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -1
  97. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +185 -159
  98. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -1
  99. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +185 -159
  100. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -1
  101. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +185 -159
  102. package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -1
  103. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +185 -159
  104. package/lib/types/traditionArtifacts/RingEnchantment.js +2 -1
  105. package/lib/types/traditionArtifacts/SickleRitual.d.ts +185 -159
  106. package/lib/types/traditionArtifacts/SickleRitual.js +2 -1
  107. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +185 -159
  108. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -1
  109. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +185 -159
  110. package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -1
  111. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +185 -159
  112. package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -1
  113. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +185 -159
  114. package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -1
  115. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +185 -159
  116. package/lib/types/traditionArtifacts/WandEnchantment.js +2 -1
  117. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +185 -159
  118. package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -1
  119. package/package.json +1 -1
@@ -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.",
@@ -1,4 +1,24 @@
1
1
  import { Enum, EnumCase, IncludeIdentifier } from "tsondb/schema/def";
2
+ export declare const RulePrerequisiteGroup: Enum<"RulePrerequisiteGroup", {
3
+ Rule: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"RulePrerequisite", import("tsondb/schema/def").ObjectType<{
4
+ id: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"ExtensionRuleIdentifier", {
5
+ FocusRule: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
6
+ OptionalRule: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
7
+ }, []>>, true>;
8
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
9
+ Hide: EnumCase<null>;
10
+ ReplaceWith: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ReplacementDisplayOption", import("tsondb/schema/def").ObjectType<{
11
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
12
+ Standalone: EnumCase<null>;
13
+ Connected: EnumCase<null>;
14
+ }, []>>, false>;
15
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
16
+ replacement: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, true>;
17
+ }>, true>;
18
+ }>, []>>>;
19
+ }, []>>, false>;
20
+ }>, []>>>;
21
+ }, []>;
2
22
  export declare const DerivedCharacteristicPrerequisiteGroup: Enum<"DerivedCharacteristicPrerequisiteGroup", {
3
23
  Rule: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"RulePrerequisite", import("tsondb/schema/def").ObjectType<{
4
24
  id: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"ExtensionRuleIdentifier", {
@@ -1009,6 +1029,22 @@ export declare const ArcaneTraditionPrerequisiteGroup: Enum<"ArcaneTraditionPrer
1009
1029
  }>, []>>>;
1010
1030
  }, []>;
1011
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
+ }>, []>>>;
1012
1048
  Culture: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"CulturePrerequisite", import("tsondb/schema/def").ObjectType<{
1013
1049
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
1014
1050
  display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
@@ -1294,6 +1330,39 @@ export declare const AnimistPowerPrerequisiteGroup: Enum<"AnimistPowerPrerequisi
1294
1330
  }, []>>, false>;
1295
1331
  }>, []>>>;
1296
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
+ }, []>;
1297
1366
  export declare const GeodeRitualPrerequisiteGroup: Enum<"GeodeRitualPrerequisiteGroup", {
1298
1367
  Influence: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"InfluencePrerequisite", import("tsondb/schema/def").ObjectType<{
1299
1368
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
@@ -19,6 +19,12 @@ import { SocialStatusPrerequisite } from "./single/SocialStatusPrerequisite.js";
19
19
  import { StatePrerequisite } from "./single/StatePrerequisite.js";
20
20
  import { TextPrerequisite } from "./single/TextPrerequisite.js";
21
21
  import { BlessedTraditionPrerequisite, MagicalTraditionPrerequisite, } from "./single/TraditionPrerequisite.js";
22
+ export const RulePrerequisiteGroup = Enum(import.meta.url, {
23
+ name: "RulePrerequisiteGroup",
24
+ values: () => ({
25
+ Rule: EnumCase({ type: IncludeIdentifier(RulePrerequisite) }),
26
+ }),
27
+ });
22
28
  export const DerivedCharacteristicPrerequisiteGroup = Enum(import.meta.url, {
23
29
  name: "DerivedCharacteristicPrerequisiteGroup",
24
30
  values: () => ({
@@ -101,6 +107,7 @@ export const ArcaneTraditionPrerequisiteGroup = Enum(import.meta.url, {
101
107
  export const PersonalityTraitPrerequisiteGroup = Enum(import.meta.url, {
102
108
  name: "PersonalityTraitPrerequisiteGroup",
103
109
  values: () => ({
110
+ Race: EnumCase({ type: IncludeIdentifier(RacePrerequisite) }),
104
111
  Culture: EnumCase({ type: IncludeIdentifier(CulturePrerequisite) }),
105
112
  Text: EnumCase({ type: IncludeIdentifier(TextPrerequisite) }),
106
113
  }),
@@ -139,6 +146,13 @@ export const AnimistPowerPrerequisiteGroup = Enum(import.meta.url, {
139
146
  AnimistPower: EnumCase({ type: IncludeIdentifier(AnimistPowerPrerequisite) }),
140
147
  }),
141
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
+ });
142
156
  export const GeodeRitualPrerequisiteGroup = Enum(import.meta.url, {
143
157
  name: "GeodeRitualPrerequisiteGroup",
144
158
  values: () => ({
@@ -3,6 +3,30 @@ export declare const FocusRule: Entity<"FocusRule", {
3
3
  subject: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, false>;
4
4
  level: import("tsondb/schema/def").MemberDecl<Integer, true>;
5
5
  isMissingImplementation: import("tsondb/schema/def").MemberDecl<Boolean, true>;
6
+ prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"RulePrerequisites", 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", {
7
+ Single: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
8
+ 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<{
9
+ 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>;
10
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"DisplayOption", {
11
+ Hide: import("tsondb/schema/def").EnumCaseDecl<null>;
12
+ ReplaceWith: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ReplacementDisplayOption", Object<{
13
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"SentenceType", {
14
+ Standalone: import("tsondb/schema/def").EnumCaseDecl<null>;
15
+ Connected: import("tsondb/schema/def").EnumCaseDecl<null>;
16
+ }, []>>, false>;
17
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
18
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
19
+ }>, true>;
20
+ }>, []>>>;
21
+ }, []>>, false>;
22
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
23
+ 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<{
24
+ 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>;
25
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
26
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
27
+ }>, true>;
28
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
29
+ }, [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>;
6
30
  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<{
7
31
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
8
32
  occurrences: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<string, {
@@ -1,5 +1,6 @@
1
1
  import { Boolean, Entity, IncludeIdentifier, Integer, Object, Optional, Required, String, } from "tsondb/schema/def";
2
2
  import { SubjectIdentifier } from "../_Identifier.js";
3
+ import { RulePrerequisites } from "../_Prerequisite.js";
3
4
  import { NestedTranslationMap } from "../Locale.js";
4
5
  import { Errata } from "../source/_Erratum.js";
5
6
  import { src } from "../source/_PublicationRef.js";
@@ -19,6 +20,9 @@ export const FocusRule = Entity(import.meta.url, {
19
20
  comment: "Has the focus rule not been implemented in Optolith yet? This is also true if the focus rule does not (currently) apply to any Optolith feature.",
20
21
  type: Boolean(),
21
22
  }),
23
+ prerequisites: Optional({
24
+ type: IncludeIdentifier(RulePrerequisites),
25
+ }),
22
26
  src,
23
27
  translations: NestedTranslationMap(Required, "FocusRule", Object({
24
28
  name: Required({
@@ -1,6 +1,30 @@
1
1
  import { Boolean, Entity, IncludeIdentifier, Object, String } from "tsondb/schema/def";
2
2
  export declare const OptionalRule: Entity<"OptionalRule", {
3
3
  isMissingImplementation: import("tsondb/schema/def").MemberDecl<Boolean, true>;
4
+ prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"RulePrerequisites", 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", {
5
+ Single: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
6
+ 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<{
7
+ 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>;
8
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"DisplayOption", {
9
+ Hide: import("tsondb/schema/def").EnumCaseDecl<null>;
10
+ ReplaceWith: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ReplacementDisplayOption", Object<{
11
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"SentenceType", {
12
+ Standalone: import("tsondb/schema/def").EnumCaseDecl<null>;
13
+ Connected: import("tsondb/schema/def").EnumCaseDecl<null>;
14
+ }, []>>, false>;
15
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
16
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
17
+ }>, true>;
18
+ }>, []>>>;
19
+ }, []>>, false>;
20
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
21
+ 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<{
22
+ 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>;
23
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
24
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
25
+ }>, true>;
26
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
27
+ }, [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>;
4
28
  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<{
5
29
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
6
30
  occurrences: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<string, {
@@ -1,4 +1,5 @@
1
1
  import { Boolean, Entity, IncludeIdentifier, Object, Optional, Required, String, } from "tsondb/schema/def";
2
+ import { RulePrerequisites } 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";
@@ -10,6 +11,9 @@ export const OptionalRule = Entity(import.meta.url, {
10
11
  comment: "Has the optional rule not been implemented in Optolith yet? This is also true if the optional rule does not (currently) apply to any Optolith feature.",
11
12
  type: Boolean(),
12
13
  }),
14
+ prerequisites: Optional({
15
+ type: IncludeIdentifier(RulePrerequisites),
16
+ }),
13
17
  src,
14
18
  translations: NestedTranslationMap(Required, "OptionalRule", Object({
15
19
  name: Required({