optolith-database-schema 0.34.1 → 0.34.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,20 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.34.3](https://github.com/elyukai/optolith-database-schema/compare/v0.34.2...v0.34.3) (2026-03-09)
6
+
7
+
8
+ ### Features
9
+
10
+ * add race and activatable influence prerequisites ([bc41f2e](https://github.com/elyukai/optolith-database-schema/commit/bc41f2e7d10ca24b83f3961fd644428c188696ab))
11
+
12
+ ## [0.34.2](https://github.com/elyukai/optolith-database-schema/compare/v0.34.1...v0.34.2) (2026-03-08)
13
+
14
+
15
+ ### Features
16
+
17
+ * make optional rule complexity influence optional ([fa4c6f8](https://github.com/elyukai/optolith-database-schema/commit/fa4c6f820bc5c48ddbceacee325c2d29b839069f))
18
+
5
19
  ## [0.34.1](https://github.com/elyukai/optolith-database-schema/compare/v0.34.0...v0.34.1) (2026-03-08)
6
20
 
7
21
  ## [0.34.0](https://github.com/elyukai/optolith-database-schema/compare/v0.33.0...v0.34.0) (2026-03-08)
package/gen/types.d.ts CHANGED
@@ -3710,28 +3710,28 @@ export interface AttributeTranslation {
3710
3710
  */
3711
3711
  export type AttributeColor =
3712
3712
  | {
3713
- kind: "Red"
3713
+ kind: "Black"
3714
3714
  }
3715
3715
  | {
3716
- kind: "Purple"
3716
+ kind: "Blue"
3717
3717
  }
3718
3718
  | {
3719
3719
  kind: "Green"
3720
3720
  }
3721
3721
  | {
3722
- kind: "Black"
3722
+ kind: "Orange"
3723
3723
  }
3724
3724
  | {
3725
- kind: "Yellow"
3725
+ kind: "Purple"
3726
3726
  }
3727
3727
  | {
3728
- kind: "Blue"
3728
+ kind: "Red"
3729
3729
  }
3730
3730
  | {
3731
3731
  kind: "White"
3732
3732
  }
3733
3733
  | {
3734
- kind: "Orange"
3734
+ kind: "Yellow"
3735
3735
  }
3736
3736
 
3737
3737
  /**
@@ -3855,22 +3855,22 @@ export interface SkillGroupTranslation {
3855
3855
  */
3856
3856
  export type GradientColor =
3857
3857
  | {
3858
- kind: "TribalTeal"
3858
+ kind: "Gaia"
3859
3859
  }
3860
3860
  | {
3861
- kind: "OldRed"
3861
+ kind: "LightHarvestGold"
3862
3862
  }
3863
3863
  | {
3864
- kind: "Verdigris"
3864
+ kind: "OldRed"
3865
3865
  }
3866
3866
  | {
3867
- kind: "Gaia"
3867
+ kind: "SanMarino"
3868
3868
  }
3869
3869
  | {
3870
- kind: "SanMarino"
3870
+ kind: "TribalTeal"
3871
3871
  }
3872
3872
  | {
3873
- kind: "LightHarvestGold"
3873
+ kind: "Verdigris"
3874
3874
  }
3875
3875
 
3876
3876
  /**
@@ -7131,9 +7131,9 @@ export interface OptionalRule {
7131
7131
  isMissingImplementation: boolean
7132
7132
 
7133
7133
  /**
7134
- * How this optional rule influences the complexity of the game.
7134
+ * How this optional rule influences the complexity of the game, if specified.
7135
7135
  */
7136
- complexityInfluence: ComplexityInfluence
7136
+ complexityInfluence?: ComplexityInfluence
7137
7137
 
7138
7138
  prerequisites?: RulePrerequisites
7139
7139
 
@@ -7612,6 +7612,14 @@ export type InfluencePrerequisiteGroup =
7612
7612
  kind: "Influence"
7613
7613
  Influence: InfluencePrerequisite
7614
7614
  }
7615
+ | {
7616
+ kind: "Race"
7617
+ Race: RacePrerequisite
7618
+ }
7619
+ | {
7620
+ kind: "Activatable"
7621
+ Activatable: ActivatablePrerequisite
7622
+ }
7615
7623
  | {
7616
7624
  kind: "Text"
7617
7625
  Text: TextPrerequisite
@@ -19543,7 +19551,7 @@ export interface Reduceable<Content> {
19543
19551
  default: Content
19544
19552
 
19545
19553
  /**
19546
- * The reduced value. In the source, it's the text after the slash. Some entries may not have a reduced value.
19554
+ * 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.
19547
19555
  */
19548
19556
  reduced?: Content
19549
19557
  }
@@ -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>;
@@ -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
  }),
@@ -1364,6 +1364,136 @@ export declare const InfluencePrerequisiteGroup: DB.Enum<"InfluencePrerequisiteG
1364
1364
  }>, []>>>;
1365
1365
  }, []>>, false>;
1366
1366
  }>, []>>>;
1367
+ Race: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RacePrerequisite", DB.Object<{
1368
+ id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
1369
+ active: DB.MemberDecl<DB.Boolean, true>;
1370
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1371
+ Hide: DB.EnumCase<null>;
1372
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1373
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1374
+ Standalone: DB.EnumCase<null>;
1375
+ Connected: DB.EnumCase<null>;
1376
+ }, []>>, false>;
1377
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1378
+ replacement: DB.MemberDecl<DB.String, true>;
1379
+ }>, true>;
1380
+ }>, []>>>;
1381
+ }, []>>, false>;
1382
+ }>, []>>>;
1383
+ Activatable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatablePrerequisite", DB.Object<{
1384
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
1385
+ AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1386
+ AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1387
+ AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1388
+ AdvancedSkillSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1389
+ AncestorGlyph: DB.EnumCase<DB.ReferenceIdentifier>;
1390
+ ArcaneOrbEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1391
+ AttireEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1392
+ Beutelzauber: DB.EnumCase<DB.ReferenceIdentifier>;
1393
+ BlessedTradition: DB.EnumCase<DB.ReferenceIdentifier>;
1394
+ BowlEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1395
+ BrawlingSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1396
+ CauldronEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1397
+ CeremonialItemSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1398
+ ChronicleEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1399
+ CombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1400
+ CombatStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1401
+ CommandSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1402
+ DaggerRitual: DB.EnumCase<DB.ReferenceIdentifier>;
1403
+ FamiliarSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1404
+ FatePointSexSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1405
+ FatePointSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1406
+ FoolsHatEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1407
+ GeneralSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1408
+ Haubenzauber: DB.EnumCase<DB.ReferenceIdentifier>;
1409
+ InstrumentEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1410
+ KarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1411
+ Krallenkettenzauber: DB.EnumCase<DB.ReferenceIdentifier>;
1412
+ Kristallkugelzauber: DB.EnumCase<DB.ReferenceIdentifier>;
1413
+ LiturgicalStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1414
+ LycantropicGift: DB.EnumCase<DB.ReferenceIdentifier>;
1415
+ MagicalSign: DB.EnumCase<DB.ReferenceIdentifier>;
1416
+ MagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1417
+ MagicalTradition: DB.EnumCase<DB.ReferenceIdentifier>;
1418
+ MagicStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1419
+ OrbEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1420
+ PactGift: DB.EnumCase<DB.ReferenceIdentifier>;
1421
+ ProtectiveWardingCircleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1422
+ RingEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1423
+ Sermon: DB.EnumCase<DB.ReferenceIdentifier>;
1424
+ SexSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1425
+ SickleRitual: DB.EnumCase<DB.ReferenceIdentifier>;
1426
+ SikaryanDrainSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1427
+ SkillStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1428
+ SpellSwordEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1429
+ StaffEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1430
+ ToyEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1431
+ Trinkhornzauber: DB.EnumCase<DB.ReferenceIdentifier>;
1432
+ VampiricGift: DB.EnumCase<DB.ReferenceIdentifier>;
1433
+ Vision: DB.EnumCase<DB.ReferenceIdentifier>;
1434
+ WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1435
+ WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1436
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
1437
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
1438
+ }, []>>, true>;
1439
+ active: DB.MemberDecl<DB.Boolean, true>;
1440
+ level: DB.MemberDecl<DB.Integer, false>;
1441
+ options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"RequirableSelectOptionIdentifier", {
1442
+ General: DB.EnumCase<DB.ReferenceIdentifier>;
1443
+ Race: DB.EnumCase<DB.ReferenceIdentifier>;
1444
+ Skill: DB.EnumCase<DB.ReferenceIdentifier>;
1445
+ SkillApplication: DB.EnumCase<DB.ReferenceIdentifier>;
1446
+ CloseCombatTechnique: DB.EnumCase<DB.ReferenceIdentifier>;
1447
+ RangedCombatTechnique: DB.EnumCase<DB.ReferenceIdentifier>;
1448
+ Property: DB.EnumCase<DB.ReferenceIdentifier>;
1449
+ Aspect: DB.EnumCase<DB.ReferenceIdentifier>;
1450
+ Language: DB.EnumCase<DB.ReferenceIdentifier>;
1451
+ AnimalShape: DB.EnumCase<DB.ReferenceIdentifier>;
1452
+ LiturgicalChant: DB.EnumCase<DB.ReferenceIdentifier>;
1453
+ Ceremony: DB.EnumCase<DB.ReferenceIdentifier>;
1454
+ Spell: DB.EnumCase<DB.ReferenceIdentifier>;
1455
+ Ritual: DB.EnumCase<DB.ReferenceIdentifier>;
1456
+ TradeSecret: DB.EnumCase<DB.ReferenceIdentifier>;
1457
+ ArcaneBardTradition: DB.EnumCase<DB.ReferenceIdentifier>;
1458
+ ArcaneDancerTradition: DB.EnumCase<DB.ReferenceIdentifier>;
1459
+ Element: DB.EnumCase<DB.ReferenceIdentifier>;
1460
+ }, []>>>, false>;
1461
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1462
+ Hide: DB.EnumCase<null>;
1463
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1464
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1465
+ Standalone: DB.EnumCase<null>;
1466
+ Connected: DB.EnumCase<null>;
1467
+ }, []>>, false>;
1468
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1469
+ replacement: DB.MemberDecl<DB.String, true>;
1470
+ }>, true>;
1471
+ }>, []>>>;
1472
+ }, []>>, false>;
1473
+ when: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Preconditions", DB.Array<DB.IncludeIdentifier<[], DB.Enum<"PreconditionGroup", {
1474
+ Publication: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationPrerequisite", DB.Object<{
1475
+ id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
1476
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
1477
+ Hide: DB.EnumCase<null>;
1478
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
1479
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
1480
+ Standalone: DB.EnumCase<null>;
1481
+ Connected: DB.EnumCase<null>;
1482
+ }, []>>, false>;
1483
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
1484
+ replacement: DB.MemberDecl<DB.String, true>;
1485
+ }>, true>;
1486
+ }>, []>>>;
1487
+ }, []>>, false>;
1488
+ }>, []>>>;
1489
+ SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
1490
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
1491
+ Penis: DB.EnumCase<null>;
1492
+ Vagina: DB.EnumCase<null>;
1493
+ }, []>>, true>;
1494
+ }>, []>>>;
1495
+ }, []>>>, []>>, false>;
1496
+ }>, []>>>;
1367
1497
  Text: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TextPrerequisite", DB.Object<{
1368
1498
  verification: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"TextVerificationRule", {
1369
1499
  Pass: DB.EnumCase<null>;
@@ -126,6 +126,8 @@ export const InfluencePrerequisiteGroup = DB.Enum(import.meta.url, {
126
126
  name: "InfluencePrerequisiteGroup",
127
127
  values: () => ({
128
128
  Influence: DB.EnumCase({ type: DB.IncludeIdentifier(InfluencePrerequisite) }),
129
+ Race: DB.EnumCase({ type: DB.IncludeIdentifier(RacePrerequisite) }),
130
+ Activatable: DB.EnumCase({ type: DB.IncludeIdentifier(ActivatablePrerequisite) }),
129
131
  Text: DB.EnumCase({ type: DB.IncludeIdentifier(TextPrerequisite) }),
130
132
  }),
131
133
  });
@@ -5,7 +5,7 @@ export declare const OptionalRule: DB.Entity<"OptionalRule", {
5
5
  Less: DB.EnumCase<null>;
6
6
  Unchanged: DB.EnumCase<null>;
7
7
  More: DB.EnumCase<null>;
8
- }, []>>, true>;
8
+ }, []>>, false>;
9
9
  prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
10
10
  Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
11
11
  Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
@@ -11,8 +11,8 @@ export const OptionalRule = DB.Entity(import.meta.url, {
11
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.",
12
12
  type: DB.Boolean(),
13
13
  }),
14
- complexityInfluence: DB.Required({
15
- comment: "How this optional rule influences the complexity of the game.",
14
+ complexityInfluence: DB.Optional({
15
+ comment: "How this optional rule influences the complexity of the game, if specified.",
16
16
  type: DB.IncludeIdentifier(ComplexityInfluence),
17
17
  }),
18
18
  prerequisites: DB.Optional({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.34.1",
3
+ "version": "0.34.3",
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",