optolith-database-schema 0.34.2 → 0.34.4

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.
@@ -2,14 +2,14 @@ import * as DB from "tsondb/schema/dsl";
2
2
  export declare const Attribute: DB.Entity<"Attribute", {
3
3
  position: DB.MemberDecl<DB.Integer, true>;
4
4
  color: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"AttributeColor", {
5
- Red: DB.EnumCase<null>;
6
- Purple: DB.EnumCase<null>;
7
- Green: DB.EnumCase<null>;
8
5
  Black: DB.EnumCase<null>;
9
- Yellow: DB.EnumCase<null>;
10
6
  Blue: DB.EnumCase<null>;
11
- White: DB.EnumCase<null>;
7
+ Green: DB.EnumCase<null>;
12
8
  Orange: DB.EnumCase<null>;
9
+ Purple: DB.EnumCase<null>;
10
+ Red: DB.EnumCase<null>;
11
+ White: DB.EnumCase<null>;
12
+ Yellow: DB.EnumCase<null>;
13
13
  }, []>>, true>;
14
14
  translations: DB.MemberDecl<DB.NestedEntityMap<"AttributeTranslation", {
15
15
  name: DB.MemberDecl<DB.String, true>;
@@ -130,6 +130,24 @@ export declare const DerivedCharacteristic: DB.Entity<"DerivedCharacteristic", {
130
130
  }>, []>>>;
131
131
  }, []>>, false>;
132
132
  }>, []>>>;
133
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
134
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
135
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
136
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
137
+ }, []>>, true>;
138
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
139
+ Hide: DB.EnumCase<null>;
140
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
141
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
142
+ Standalone: DB.EnumCase<null>;
143
+ Connected: DB.EnumCase<null>;
144
+ }, []>>, false>;
145
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
146
+ replacement: DB.MemberDecl<DB.String, true>;
147
+ }>, true>;
148
+ }>, []>>>;
149
+ }, []>>, false>;
150
+ }>, []>>>;
133
151
  SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
134
152
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
135
153
  Penis: DB.EnumCase<null>;
@@ -3,12 +3,12 @@ export declare const SkillGroup: DB.Entity<"SkillGroup", {
3
3
  position: DB.MemberDecl<DB.Integer, true>;
4
4
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SkillCheck", DB.Array<DB.ReferenceIdentifier>, []>>, true>;
5
5
  color: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"GradientColor", {
6
- TribalTeal: DB.EnumCase<null>;
7
- OldRed: DB.EnumCase<null>;
8
- Verdigris: DB.EnumCase<null>;
9
6
  Gaia: DB.EnumCase<null>;
10
- SanMarino: DB.EnumCase<null>;
11
7
  LightHarvestGold: DB.EnumCase<null>;
8
+ OldRed: DB.EnumCase<null>;
9
+ SanMarino: DB.EnumCase<null>;
10
+ TribalTeal: DB.EnumCase<null>;
11
+ Verdigris: DB.EnumCase<null>;
12
12
  }, []>>, true>;
13
13
  translations: DB.MemberDecl<DB.NestedEntityMap<"SkillGroupTranslation", {
14
14
  name: DB.MemberDecl<DB.String, true>;
@@ -1,19 +1,19 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  export declare const AttributeColor: DB.Enum<"AttributeColor", {
3
- Red: DB.EnumCase<null>;
4
- Purple: DB.EnumCase<null>;
5
- Green: DB.EnumCase<null>;
6
3
  Black: DB.EnumCase<null>;
7
- Yellow: DB.EnumCase<null>;
8
4
  Blue: DB.EnumCase<null>;
9
- White: DB.EnumCase<null>;
5
+ Green: DB.EnumCase<null>;
10
6
  Orange: DB.EnumCase<null>;
7
+ Purple: DB.EnumCase<null>;
8
+ Red: DB.EnumCase<null>;
9
+ White: DB.EnumCase<null>;
10
+ Yellow: DB.EnumCase<null>;
11
11
  }, []>;
12
12
  export declare const GradientColor: DB.Enum<"GradientColor", {
13
- TribalTeal: DB.EnumCase<null>;
14
- OldRed: DB.EnumCase<null>;
15
- Verdigris: DB.EnumCase<null>;
16
13
  Gaia: DB.EnumCase<null>;
17
- SanMarino: DB.EnumCase<null>;
18
14
  LightHarvestGold: DB.EnumCase<null>;
15
+ OldRed: DB.EnumCase<null>;
16
+ SanMarino: DB.EnumCase<null>;
17
+ TribalTeal: DB.EnumCase<null>;
18
+ Verdigris: DB.EnumCase<null>;
19
19
  }, []>;
@@ -3,25 +3,25 @@ export const AttributeColor = DB.Enum(import.meta.url, {
3
3
  name: "AttributeColor",
4
4
  comment: "A display color for an attribute.",
5
5
  values: () => ({
6
- Red: DB.EnumCase({ type: null }),
7
- Purple: DB.EnumCase({ type: null }),
8
- Green: DB.EnumCase({ type: null }),
9
6
  Black: DB.EnumCase({ type: null }),
10
- Yellow: DB.EnumCase({ type: null }),
11
7
  Blue: DB.EnumCase({ type: null }),
12
- White: DB.EnumCase({ type: null }),
8
+ Green: DB.EnumCase({ type: null }),
13
9
  Orange: DB.EnumCase({ type: null }),
10
+ Purple: DB.EnumCase({ type: null }),
11
+ Red: DB.EnumCase({ type: null }),
12
+ White: DB.EnumCase({ type: null }),
13
+ Yellow: DB.EnumCase({ type: null }),
14
14
  }),
15
15
  });
16
16
  export const GradientColor = DB.Enum(import.meta.url, {
17
17
  name: "GradientColor",
18
18
  comment: "A display color for entries that have a certain color as a gradient in the header of their box in the official publications.",
19
19
  values: () => ({
20
- TribalTeal: DB.EnumCase({ type: null }), // HEX #507471 / CMYK 55 13 33 48
21
- OldRed: DB.EnumCase({ type: null }), // HEX #8c3537 / CMYK 51 91 81 6
22
- Verdigris: DB.EnumCase({ type: null }), // HEX #5b6235 / CMYK 70 53 91 17
23
20
  Gaia: DB.EnumCase({ type: null }), // HEX #62934b / CMYK 64 17 82 13
24
- SanMarino: DB.EnumCase({ type: null }), // HEX #4f70a8 / CMYK 75 53 10 2
25
21
  LightHarvestGold: DB.EnumCase({ type: null }), // HEX #dbb578 / CMYK 9 26 56 9
22
+ OldRed: DB.EnumCase({ type: null }), // HEX #8c3537 / CMYK 51 91 81 6
23
+ SanMarino: DB.EnumCase({ type: null }), // HEX #4f70a8 / CMYK 75 53 10 2
24
+ TribalTeal: DB.EnumCase({ type: null }), // HEX #507471 / CMYK 55 13 33 48
25
+ Verdigris: DB.EnumCase({ type: null }), // HEX #5b6235 / CMYK 70 53 91 17
26
26
  }),
27
27
  });
@@ -62,7 +62,7 @@ This streamlines the wording for diseases and poison by using a unified wording
62
62
  type: DB.TypeArgument(Content),
63
63
  }),
64
64
  reduced: DB.Optional({
65
- comment: "The reduced value. In the source, it's the text after the slash. Some entries may not have a reduced value.",
65
+ comment: "The reduced value. In the source, it's the text after the slash. Some entries may not have a reduced value, i.e. there is no slash with text after it. If the text after the slash is a dash, include it here as well.",
66
66
  type: DB.TypeArgument(Content),
67
67
  }),
68
68
  }),
@@ -15,6 +15,24 @@ export declare const Preconditions: DB.TypeAlias<"Preconditions", DB.Array<DB.In
15
15
  }>, []>>>;
16
16
  }, []>>, false>;
17
17
  }>, []>>>;
18
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
19
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
20
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
21
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
22
+ }, []>>, true>;
23
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
24
+ Hide: DB.EnumCase<null>;
25
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
26
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
27
+ Standalone: DB.EnumCase<null>;
28
+ Connected: DB.EnumCase<null>;
29
+ }, []>>, false>;
30
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
31
+ replacement: DB.MemberDecl<DB.String, true>;
32
+ }>, true>;
33
+ }>, []>>>;
34
+ }, []>>, false>;
35
+ }>, []>>>;
18
36
  SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
19
37
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
20
38
  Penis: DB.EnumCase<null>;
@@ -200,6 +200,24 @@ export declare const DerivedCharacteristicModifierPrerequisiteGroup: DB.Enum<"De
200
200
  }>, []>>>;
201
201
  }, []>>, false>;
202
202
  }>, []>>>;
203
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
204
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
205
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
206
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
207
+ }, []>>, true>;
208
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
209
+ Hide: DB.EnumCase<null>;
210
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
211
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
212
+ Standalone: DB.EnumCase<null>;
213
+ Connected: DB.EnumCase<null>;
214
+ }, []>>, false>;
215
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
216
+ replacement: DB.MemberDecl<DB.String, true>;
217
+ }>, true>;
218
+ }>, []>>>;
219
+ }, []>>, false>;
220
+ }>, []>>>;
203
221
  SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
204
222
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
205
223
  Penis: DB.EnumCase<null>;
@@ -466,6 +484,24 @@ export declare const GeneralPrerequisiteGroup: DB.Enum<"GeneralPrerequisiteGroup
466
484
  }>, []>>>;
467
485
  }, []>>, false>;
468
486
  }>, []>>>;
487
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
488
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
489
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
490
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
491
+ }, []>>, true>;
492
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
493
+ Hide: DB.EnumCase<null>;
494
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
495
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
496
+ Standalone: DB.EnumCase<null>;
497
+ Connected: DB.EnumCase<null>;
498
+ }, []>>, false>;
499
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
500
+ replacement: DB.MemberDecl<DB.String, true>;
501
+ }>, true>;
502
+ }>, []>>>;
503
+ }, []>>, false>;
504
+ }>, []>>>;
469
505
  SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
470
506
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
471
507
  Penis: DB.EnumCase<null>;
@@ -765,6 +801,24 @@ export declare const ProfessionPrerequisiteGroup: DB.Enum<"ProfessionPrerequisit
765
801
  }>, []>>>;
766
802
  }, []>>, false>;
767
803
  }>, []>>>;
804
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
805
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
806
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
807
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
808
+ }, []>>, true>;
809
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
810
+ Hide: DB.EnumCase<null>;
811
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
812
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
813
+ Standalone: DB.EnumCase<null>;
814
+ Connected: DB.EnumCase<null>;
815
+ }, []>>, false>;
816
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
817
+ replacement: DB.MemberDecl<DB.String, true>;
818
+ }>, true>;
819
+ }>, []>>>;
820
+ }, []>>, false>;
821
+ }>, []>>>;
768
822
  SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
769
823
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
770
824
  Penis: DB.EnumCase<null>;
@@ -1039,6 +1093,24 @@ export declare const AdvantageDisadvantagePrerequisiteGroup: DB.Enum<"AdvantageD
1039
1093
  }>, []>>>;
1040
1094
  }, []>>, false>;
1041
1095
  }>, []>>>;
1096
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
1097
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
1098
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
1099
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
1100
+ }, []>>, true>;
1101
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1102
+ Hide: DB.EnumCase<null>;
1103
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1104
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1105
+ Standalone: DB.EnumCase<null>;
1106
+ Connected: DB.EnumCase<null>;
1107
+ }, []>>, false>;
1108
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1109
+ replacement: DB.MemberDecl<DB.String, true>;
1110
+ }>, true>;
1111
+ }>, []>>>;
1112
+ }, []>>, false>;
1113
+ }>, []>>>;
1042
1114
  SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
1043
1115
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
1044
1116
  Penis: DB.EnumCase<null>;
@@ -1364,6 +1436,169 @@ export declare const InfluencePrerequisiteGroup: DB.Enum<"InfluencePrerequisiteG
1364
1436
  }>, []>>>;
1365
1437
  }, []>>, false>;
1366
1438
  }>, []>>>;
1439
+ Race: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RacePrerequisite", DB.Object<{
1440
+ id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
1441
+ active: DB.MemberDecl<DB.Boolean, true>;
1442
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1443
+ Hide: DB.EnumCase<null>;
1444
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1445
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1446
+ Standalone: DB.EnumCase<null>;
1447
+ Connected: DB.EnumCase<null>;
1448
+ }, []>>, false>;
1449
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1450
+ replacement: DB.MemberDecl<DB.String, true>;
1451
+ }>, true>;
1452
+ }>, []>>>;
1453
+ }, []>>, false>;
1454
+ }>, []>>>;
1455
+ Profession: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ProfessionPrerequisite", DB.Object<{
1456
+ id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
1457
+ displayOption: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1458
+ Hide: DB.EnumCase<null>;
1459
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1460
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1461
+ Standalone: DB.EnumCase<null>;
1462
+ Connected: DB.EnumCase<null>;
1463
+ }, []>>, false>;
1464
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1465
+ replacement: DB.MemberDecl<DB.String, true>;
1466
+ }>, true>;
1467
+ }>, []>>>;
1468
+ }, []>>, false>;
1469
+ }>, []>>>;
1470
+ Activatable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatablePrerequisite", DB.Object<{
1471
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
1472
+ AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1473
+ AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1474
+ AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1475
+ AdvancedSkillSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1476
+ AncestorGlyph: DB.EnumCase<DB.ReferenceIdentifier>;
1477
+ ArcaneOrbEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1478
+ AttireEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1479
+ Beutelzauber: DB.EnumCase<DB.ReferenceIdentifier>;
1480
+ BlessedTradition: DB.EnumCase<DB.ReferenceIdentifier>;
1481
+ BowlEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1482
+ BrawlingSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1483
+ CauldronEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1484
+ CeremonialItemSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1485
+ ChronicleEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1486
+ CombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1487
+ CombatStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1488
+ CommandSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1489
+ DaggerRitual: DB.EnumCase<DB.ReferenceIdentifier>;
1490
+ FamiliarSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1491
+ FatePointSexSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1492
+ FatePointSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1493
+ FoolsHatEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1494
+ GeneralSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1495
+ Haubenzauber: DB.EnumCase<DB.ReferenceIdentifier>;
1496
+ InstrumentEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1497
+ KarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1498
+ Krallenkettenzauber: DB.EnumCase<DB.ReferenceIdentifier>;
1499
+ Kristallkugelzauber: DB.EnumCase<DB.ReferenceIdentifier>;
1500
+ LiturgicalStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1501
+ LycantropicGift: DB.EnumCase<DB.ReferenceIdentifier>;
1502
+ MagicalSign: DB.EnumCase<DB.ReferenceIdentifier>;
1503
+ MagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1504
+ MagicalTradition: DB.EnumCase<DB.ReferenceIdentifier>;
1505
+ MagicStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1506
+ OrbEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1507
+ PactGift: DB.EnumCase<DB.ReferenceIdentifier>;
1508
+ ProtectiveWardingCircleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1509
+ RingEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1510
+ Sermon: DB.EnumCase<DB.ReferenceIdentifier>;
1511
+ SexSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1512
+ SickleRitual: DB.EnumCase<DB.ReferenceIdentifier>;
1513
+ SikaryanDrainSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1514
+ SkillStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1515
+ SpellSwordEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1516
+ StaffEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1517
+ ToyEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1518
+ Trinkhornzauber: DB.EnumCase<DB.ReferenceIdentifier>;
1519
+ VampiricGift: DB.EnumCase<DB.ReferenceIdentifier>;
1520
+ Vision: DB.EnumCase<DB.ReferenceIdentifier>;
1521
+ WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1522
+ WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1523
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
1524
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
1525
+ }, []>>, true>;
1526
+ active: DB.MemberDecl<DB.Boolean, true>;
1527
+ level: DB.MemberDecl<DB.Integer, false>;
1528
+ options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"RequirableSelectOptionIdentifier", {
1529
+ General: DB.EnumCase<DB.ReferenceIdentifier>;
1530
+ Race: DB.EnumCase<DB.ReferenceIdentifier>;
1531
+ Skill: DB.EnumCase<DB.ReferenceIdentifier>;
1532
+ SkillApplication: DB.EnumCase<DB.ReferenceIdentifier>;
1533
+ CloseCombatTechnique: DB.EnumCase<DB.ReferenceIdentifier>;
1534
+ RangedCombatTechnique: DB.EnumCase<DB.ReferenceIdentifier>;
1535
+ Property: DB.EnumCase<DB.ReferenceIdentifier>;
1536
+ Aspect: DB.EnumCase<DB.ReferenceIdentifier>;
1537
+ Language: DB.EnumCase<DB.ReferenceIdentifier>;
1538
+ AnimalShape: DB.EnumCase<DB.ReferenceIdentifier>;
1539
+ LiturgicalChant: DB.EnumCase<DB.ReferenceIdentifier>;
1540
+ Ceremony: DB.EnumCase<DB.ReferenceIdentifier>;
1541
+ Spell: DB.EnumCase<DB.ReferenceIdentifier>;
1542
+ Ritual: DB.EnumCase<DB.ReferenceIdentifier>;
1543
+ TradeSecret: DB.EnumCase<DB.ReferenceIdentifier>;
1544
+ ArcaneBardTradition: DB.EnumCase<DB.ReferenceIdentifier>;
1545
+ ArcaneDancerTradition: DB.EnumCase<DB.ReferenceIdentifier>;
1546
+ Element: DB.EnumCase<DB.ReferenceIdentifier>;
1547
+ }, []>>>, false>;
1548
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1549
+ Hide: DB.EnumCase<null>;
1550
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1551
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1552
+ Standalone: DB.EnumCase<null>;
1553
+ Connected: DB.EnumCase<null>;
1554
+ }, []>>, false>;
1555
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1556
+ replacement: DB.MemberDecl<DB.String, true>;
1557
+ }>, true>;
1558
+ }>, []>>>;
1559
+ }, []>>, false>;
1560
+ when: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Preconditions", DB.Array<DB.IncludeIdentifier<[], DB.Enum<"PreconditionGroup", {
1561
+ Publication: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationPrerequisite", DB.Object<{
1562
+ id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
1563
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1564
+ Hide: DB.EnumCase<null>;
1565
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1566
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1567
+ Standalone: DB.EnumCase<null>;
1568
+ Connected: DB.EnumCase<null>;
1569
+ }, []>>, false>;
1570
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1571
+ replacement: DB.MemberDecl<DB.String, true>;
1572
+ }>, true>;
1573
+ }>, []>>>;
1574
+ }, []>>, false>;
1575
+ }>, []>>>;
1576
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
1577
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
1578
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
1579
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
1580
+ }, []>>, true>;
1581
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1582
+ Hide: DB.EnumCase<null>;
1583
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1584
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1585
+ Standalone: DB.EnumCase<null>;
1586
+ Connected: DB.EnumCase<null>;
1587
+ }, []>>, false>;
1588
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1589
+ replacement: DB.MemberDecl<DB.String, true>;
1590
+ }>, true>;
1591
+ }>, []>>>;
1592
+ }, []>>, false>;
1593
+ }>, []>>>;
1594
+ SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
1595
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
1596
+ Penis: DB.EnumCase<null>;
1597
+ Vagina: DB.EnumCase<null>;
1598
+ }, []>>, true>;
1599
+ }>, []>>>;
1600
+ }, []>>>, []>>, false>;
1601
+ }>, []>>>;
1367
1602
  Text: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TextPrerequisite", DB.Object<{
1368
1603
  verification: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"TextVerificationRule", {
1369
1604
  Pass: DB.EnumCase<null>;
@@ -1502,6 +1737,24 @@ export declare const LanguagePrerequisiteGroup: DB.Enum<"LanguagePrerequisiteGro
1502
1737
  }>, []>>>;
1503
1738
  }, []>>, false>;
1504
1739
  }>, []>>>;
1740
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
1741
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
1742
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
1743
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
1744
+ }, []>>, true>;
1745
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1746
+ Hide: DB.EnumCase<null>;
1747
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1748
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1749
+ Standalone: DB.EnumCase<null>;
1750
+ Connected: DB.EnumCase<null>;
1751
+ }, []>>, false>;
1752
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1753
+ replacement: DB.MemberDecl<DB.String, true>;
1754
+ }>, true>;
1755
+ }>, []>>>;
1756
+ }, []>>, false>;
1757
+ }>, []>>>;
1505
1758
  SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
1506
1759
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
1507
1760
  Penis: DB.EnumCase<null>;
@@ -1641,6 +1894,24 @@ export declare const PreconditionGroup: DB.Enum<"PreconditionGroup", {
1641
1894
  }>, []>>>;
1642
1895
  }, []>>, false>;
1643
1896
  }>, []>>>;
1897
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
1898
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
1899
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
1900
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
1901
+ }, []>>, true>;
1902
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1903
+ Hide: DB.EnumCase<null>;
1904
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1905
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1906
+ Standalone: DB.EnumCase<null>;
1907
+ Connected: DB.EnumCase<null>;
1908
+ }, []>>, false>;
1909
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1910
+ replacement: DB.MemberDecl<DB.String, true>;
1911
+ }>, true>;
1912
+ }>, []>>>;
1913
+ }, []>>, false>;
1914
+ }>, []>>>;
1644
1915
  SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
1645
1916
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
1646
1917
  Penis: DB.EnumCase<null>;
@@ -8,6 +8,7 @@ import { InfluencePrerequisite } from "./single/InfluencePrerequisite.js";
8
8
  import { PactPrerequisite } from "./single/PactPrerequisite.js";
9
9
  import { PersonalityTraitPrerequisite } from "./single/PersonalityTraitPrerequisite.js";
10
10
  import { PrimaryAttributePrerequisite } from "./single/PrimaryAttributePrerequisite.js";
11
+ import { ProfessionPrerequisite } from "./single/ProfessionPrerequisite.js";
11
12
  import { PublicationPrerequisite } from "./single/PublicationPrerequisite.js";
12
13
  import { RacePrerequisite } from "./single/RacePrerequisite.js";
13
14
  import { RatedMinimumNumberPrerequisite } from "./single/RatedMinimumNumberPrerequisite.js";
@@ -126,6 +127,9 @@ export const InfluencePrerequisiteGroup = DB.Enum(import.meta.url, {
126
127
  name: "InfluencePrerequisiteGroup",
127
128
  values: () => ({
128
129
  Influence: DB.EnumCase({ type: DB.IncludeIdentifier(InfluencePrerequisite) }),
130
+ Race: DB.EnumCase({ type: DB.IncludeIdentifier(RacePrerequisite) }),
131
+ Profession: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionPrerequisite) }),
132
+ Activatable: DB.EnumCase({ type: DB.IncludeIdentifier(ActivatablePrerequisite) }),
129
133
  Text: DB.EnumCase({ type: DB.IncludeIdentifier(TextPrerequisite) }),
130
134
  }),
131
135
  });
@@ -167,6 +171,7 @@ export const PreconditionGroup = DB.Enum(import.meta.url, {
167
171
  name: "PreconditionGroup",
168
172
  values: () => ({
169
173
  Publication: DB.EnumCase({ type: DB.IncludeIdentifier(PublicationPrerequisite) }),
174
+ Rule: DB.EnumCase({ type: DB.IncludeIdentifier(RulePrerequisite) }),
170
175
  SexualCharacteristic: DB.EnumCase({
171
176
  type: DB.IncludeIdentifier(SexualCharacteristicPrerequisite),
172
177
  }),
@@ -105,6 +105,24 @@ export declare const ActivatablePrerequisite: DB.TypeAlias<"ActivatablePrerequis
105
105
  }>, []>>>;
106
106
  }, []>>, false>;
107
107
  }>, []>>>;
108
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
109
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
110
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
111
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
112
+ }, []>>, true>;
113
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
114
+ Hide: DB.EnumCase<null>;
115
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
116
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
117
+ Standalone: DB.EnumCase<null>;
118
+ Connected: DB.EnumCase<null>;
119
+ }, []>>, false>;
120
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
121
+ replacement: DB.MemberDecl<DB.String, true>;
122
+ }>, true>;
123
+ }>, []>>>;
124
+ }, []>>, false>;
125
+ }>, []>>>;
108
126
  SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
109
127
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
110
128
  Penis: DB.EnumCase<null>;
@@ -0,0 +1,16 @@
1
+ import * as DB from "tsondb/schema/dsl";
2
+ export declare const ProfessionPrerequisite: DB.TypeAlias<"ProfessionPrerequisite", DB.Object<{
3
+ id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
4
+ displayOption: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
5
+ Hide: DB.EnumCase<null>;
6
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
7
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
8
+ Standalone: DB.EnumCase<null>;
9
+ Connected: DB.EnumCase<null>;
10
+ }, []>>, false>;
11
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
12
+ replacement: DB.MemberDecl<DB.String, true>;
13
+ }>, true>;
14
+ }>, []>>>;
15
+ }, []>>, false>;
16
+ }>, []>;
@@ -0,0 +1,16 @@
1
+ import * as DB from "tsondb/schema/dsl";
2
+ import { ProfessionIdentifier } from "../../_Identifier.js";
3
+ import { DisplayOption } from "../DisplayOption.js";
4
+ export const ProfessionPrerequisite = DB.TypeAlias(import.meta.url, {
5
+ name: "ProfessionPrerequisite",
6
+ comment: "Requires a specific profession.",
7
+ type: () => DB.Object({
8
+ id: DB.Required({
9
+ comment: "The profession’s identifier.",
10
+ type: ProfessionIdentifier(),
11
+ }),
12
+ displayOption: DB.Optional({
13
+ type: DB.IncludeIdentifier(DisplayOption),
14
+ }),
15
+ }),
16
+ });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.34.2",
3
+ "version": "0.34.4",
4
4
  "description": "Definitions and utilities for the flat-file database of Optolith, a character creation tool for the Pen and Paper RPG “The Dark Eye 5”, and its external integrations into other software.",
5
5
  "keywords": [
6
6
  "tde",