optolith-database-schema 0.31.2 → 0.31.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.
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.31.4](https://github.com/elyukai/optolith-database-schema/compare/v0.31.3...v0.31.4) (2026-02-16)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * optional withdrawal prevention and disease link ([a9211ec](https://github.com/elyukai/optolith-database-schema/commit/a9211ec6b784538cc303cde312b59d8f72079775))
11
+
12
+ ## [0.31.3](https://github.com/elyukai/optolith-database-schema/compare/v0.31.2...v0.31.3) (2026-02-16)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * interpretation and display of poisons/elixirs ([30a6a3c](https://github.com/elyukai/optolith-database-schema/commit/30a6a3c4262e2920f9100605faee8c426cd37491))
18
+
5
19
  ## [0.31.2](https://github.com/elyukai/optolith-database-schema/compare/v0.31.1...v0.31.2) (2026-02-15)
6
20
 
7
21
 
package/gen/types.d.ts CHANGED
@@ -2334,10 +2334,10 @@ export interface Locale {
2334
2334
  ".input {$value :number} {{{$value} Structure Points}}": string & { __params: { "value": number } }
2335
2335
  "{$value} Structure Points": string & { __params: { "value": StringableTranslationParameter } }
2336
2336
  "{$types} poison": string & { __params: { "types": StringableTranslationParameter } }
2337
- "Weapon": string
2338
- "Ingestion": string
2339
- "Inhalation": string
2340
- "Contact": string
2337
+ "Weapon (poison)": string
2338
+ "Ingestion (poison)": string
2339
+ "Inhalation (poison)": string
2340
+ "Contact (poison)": string
2341
2341
  "Level": string
2342
2342
  "Type": string
2343
2343
  "animal venom": string
@@ -2362,6 +2362,7 @@ export interface Locale {
2362
2362
  "The poison levels equals the QL.": string
2363
2363
  ".input {$value :number} {{{$value} applications every {$interval}}}": string & { __params: { "value": number; "interval": StringableTranslationParameter } }
2364
2364
  "{$valueRange} on {$dice}": string & { __params: { "valueRange": StringableTranslationParameter; "dice": StringableTranslationParameter } }
2365
+ "Ingestion": string
2365
2366
  "Side Effect": string
2366
2367
  "Overdose": string
2367
2368
  "Legality": string
@@ -2371,6 +2372,9 @@ export interface Locale {
2371
2372
  "Value/Cost": string
2372
2373
  "cannot be extracted": string
2373
2374
  ".input {$hiddenCount :number} {{Alternative Names}}": string & { __params: { "hiddenCount": number } }
2375
+ ".input {$count :number} {{check required every {$count}. application}}": string & { __params: { "count": number } }
2376
+ ".input {$count :number} {{check required every {$count}. application in the same month}}": string & { __params: { "count": number } }
2377
+ "see {$link}": string & { __params: { "link": StringableTranslationParameter } }
2374
2378
  "Failed": string
2375
2379
  "Progress": string
2376
2380
  "Incubation Time": string
@@ -21985,12 +21989,17 @@ export interface IntoxicantAddiction {
21985
21989
  /**
21986
21990
  * The interval at which to check for addiction after an ingestion. If set to one, every ingestion has to be checked for addiction. If set to two, every second ingestion has to be checked, and so on.
21987
21991
  */
21988
- check: IntoxicantAddictionCheck
21992
+ check?: IntoxicantAddictionCheck
21989
21993
 
21990
21994
  /**
21991
21995
  * The maximum interval at which it, while addicted, must be ingested to not suffer from withdrawal symptoms.
21992
21996
  */
21993
- withdrawalPrevention: IntoxicantAddictionWithdrawalPrevention
21997
+ withdrawalPrevention?: IntoxicantAddictionWithdrawalPrevention
21998
+
21999
+ /**
22000
+ * The disease that represents the addiction.
22001
+ */
22002
+ disease?: Disease_ID
21994
22003
 
21995
22004
  /**
21996
22005
  * All translations for the entry, identified by IETF language tag (BCP47).
@@ -1415,10 +1415,10 @@ export declare const Locale: DB.Entity<"Locale", {
1415
1415
  ".input {$value :number} {{{$value} Structure Points}}": null;
1416
1416
  "{$value} Structure Points": null;
1417
1417
  "{$types} poison": null;
1418
- Weapon: null;
1419
- Ingestion: null;
1420
- Inhalation: null;
1421
- Contact: null;
1418
+ "Weapon (poison)": null;
1419
+ "Ingestion (poison)": null;
1420
+ "Inhalation (poison)": null;
1421
+ "Contact (poison)": null;
1422
1422
  Level: null;
1423
1423
  Type: null;
1424
1424
  "animal venom": null;
@@ -1443,6 +1443,7 @@ export declare const Locale: DB.Entity<"Locale", {
1443
1443
  "The poison levels equals the QL.": null;
1444
1444
  ".input {$value :number} {{{$value} applications every {$interval}}}": null;
1445
1445
  "{$valueRange} on {$dice}": null;
1446
+ Ingestion: null;
1446
1447
  "Side Effect": null;
1447
1448
  Overdose: null;
1448
1449
  Legality: null;
@@ -1452,6 +1453,9 @@ export declare const Locale: DB.Entity<"Locale", {
1452
1453
  "Value/Cost": null;
1453
1454
  "cannot be extracted": null;
1454
1455
  ".input {$hiddenCount :number} {{Alternative Names}}": null;
1456
+ ".input {$count :number} {{check required every {$count}. application}}": null;
1457
+ ".input {$count :number} {{check required every {$count}. application in the same month}}": null;
1458
+ "see {$link}": null;
1455
1459
  Failed: null;
1456
1460
  Progress: null;
1457
1461
  "Incubation Time": null;
@@ -1455,10 +1455,10 @@ export const Locale = DB.Entity(import.meta.url, {
1455
1455
  "{$value} Structure Points": null,
1456
1456
  // poisons/elixirs
1457
1457
  "{$types} poison": null,
1458
- "Weapon": null,
1459
- "Ingestion": null,
1460
- "Inhalation": null,
1461
- "Contact": null,
1458
+ "Weapon (poison)": null,
1459
+ "Ingestion (poison)": null,
1460
+ "Inhalation (poison)": null,
1461
+ "Contact (poison)": null,
1462
1462
  "Level": null,
1463
1463
  "Type": null,
1464
1464
  "animal venom": null,
@@ -1483,6 +1483,7 @@ export const Locale = DB.Entity(import.meta.url, {
1483
1483
  "The poison levels equals the QL.": null,
1484
1484
  ".input {$value :number} {{{$value} applications every {$interval}}}": null,
1485
1485
  "{$valueRange} on {$dice}": null,
1486
+ "Ingestion": null,
1486
1487
  "Side Effect": null,
1487
1488
  "Overdose": null,
1488
1489
  "Legality": null,
@@ -1492,6 +1493,9 @@ export const Locale = DB.Entity(import.meta.url, {
1492
1493
  "Value/Cost": null,
1493
1494
  "cannot be extracted": null,
1494
1495
  ".input {$hiddenCount :number} {{Alternative Names}}": null,
1496
+ ".input {$count :number} {{check required every {$count}. application}}": null,
1497
+ ".input {$count :number} {{check required every {$count}. application in the same month}}": null,
1498
+ "see {$link}": null,
1495
1499
  // sex practices
1496
1500
  "Failed": null,
1497
1501
  // diseases
@@ -101,7 +101,7 @@ export declare const Poison: DB.Entity<"Poison", {
101
101
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionCheck", DB.Object<{
102
102
  interval: DB.MemberDecl<DB.Integer, true>;
103
103
  onlySameMonth: DB.MemberDecl<DB.Boolean, false>;
104
- }>, []>>, true>;
104
+ }>, []>>, false>;
105
105
  withdrawalPrevention: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionWithdrawalPrevention", DB.Object<{
106
106
  amount: DB.MemberDecl<DB.Integer, true>;
107
107
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"IntoxicantAddictionWithdrawalPreventionInterval", {
@@ -115,7 +115,8 @@ export declare const Poison: DB.Entity<"Poison", {
115
115
  }>, []>>, true>;
116
116
  }>, []>>>;
117
117
  }, []>>, true>;
118
- }>, []>>, true>;
118
+ }>, []>>, false>;
119
+ disease: DB.MemberDecl<DB.ReferenceIdentifier, false>;
119
120
  translations: DB.MemberDecl<DB.NestedEntityMap<"IntoxicantAddictionTranslation", {
120
121
  chance: DB.MemberDecl<DB.String, true>;
121
122
  }>, false>;
@@ -155,7 +156,7 @@ export declare const Poison: DB.Entity<"Poison", {
155
156
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionCheck", DB.Object<{
156
157
  interval: DB.MemberDecl<DB.Integer, true>;
157
158
  onlySameMonth: DB.MemberDecl<DB.Boolean, false>;
158
- }>, []>>, true>;
159
+ }>, []>>, false>;
159
160
  withdrawalPrevention: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionWithdrawalPrevention", DB.Object<{
160
161
  amount: DB.MemberDecl<DB.Integer, true>;
161
162
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"IntoxicantAddictionWithdrawalPreventionInterval", {
@@ -169,7 +170,8 @@ export declare const Poison: DB.Entity<"Poison", {
169
170
  }>, []>>, true>;
170
171
  }>, []>>>;
171
172
  }, []>>, true>;
172
- }>, []>>, true>;
173
+ }>, []>>, false>;
174
+ disease: DB.MemberDecl<DB.ReferenceIdentifier, false>;
173
175
  translations: DB.MemberDecl<DB.NestedEntityMap<"IntoxicantAddictionTranslation", {
174
176
  chance: DB.MemberDecl<DB.String, true>;
175
177
  }>, false>;
@@ -457,7 +459,7 @@ export declare const AlchemicalPoison: DB.TypeAlias<"AlchemicalPoison", DB.Objec
457
459
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionCheck", DB.Object<{
458
460
  interval: DB.MemberDecl<DB.Integer, true>;
459
461
  onlySameMonth: DB.MemberDecl<DB.Boolean, false>;
460
- }>, []>>, true>;
462
+ }>, []>>, false>;
461
463
  withdrawalPrevention: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionWithdrawalPrevention", DB.Object<{
462
464
  amount: DB.MemberDecl<DB.Integer, true>;
463
465
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"IntoxicantAddictionWithdrawalPreventionInterval", {
@@ -471,7 +473,8 @@ export declare const AlchemicalPoison: DB.TypeAlias<"AlchemicalPoison", DB.Objec
471
473
  }>, []>>, true>;
472
474
  }>, []>>>;
473
475
  }, []>>, true>;
474
- }>, []>>, true>;
476
+ }>, []>>, false>;
477
+ disease: DB.MemberDecl<DB.ReferenceIdentifier, false>;
475
478
  translations: DB.MemberDecl<DB.NestedEntityMap<"IntoxicantAddictionTranslation", {
476
479
  chance: DB.MemberDecl<DB.String, true>;
477
480
  }>, false>;
@@ -511,7 +514,7 @@ export declare const PlantPoison: DB.TypeAlias<"PlantPoison", DB.Object<{
511
514
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionCheck", DB.Object<{
512
515
  interval: DB.MemberDecl<DB.Integer, true>;
513
516
  onlySameMonth: DB.MemberDecl<DB.Boolean, false>;
514
- }>, []>>, true>;
517
+ }>, []>>, false>;
515
518
  withdrawalPrevention: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionWithdrawalPrevention", DB.Object<{
516
519
  amount: DB.MemberDecl<DB.Integer, true>;
517
520
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"IntoxicantAddictionWithdrawalPreventionInterval", {
@@ -525,7 +528,8 @@ export declare const PlantPoison: DB.TypeAlias<"PlantPoison", DB.Object<{
525
528
  }>, []>>, true>;
526
529
  }>, []>>>;
527
530
  }, []>>, true>;
528
- }>, []>>, true>;
531
+ }>, []>>, false>;
532
+ disease: DB.MemberDecl<DB.ReferenceIdentifier, false>;
529
533
  translations: DB.MemberDecl<DB.NestedEntityMap<"IntoxicantAddictionTranslation", {
530
534
  chance: DB.MemberDecl<DB.String, true>;
531
535
  }>, false>;
@@ -570,7 +574,7 @@ export declare const Intoxicant: DB.TypeAlias<"Intoxicant", DB.Object<{
570
574
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionCheck", DB.Object<{
571
575
  interval: DB.MemberDecl<DB.Integer, true>;
572
576
  onlySameMonth: DB.MemberDecl<DB.Boolean, false>;
573
- }>, []>>, true>;
577
+ }>, []>>, false>;
574
578
  withdrawalPrevention: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionWithdrawalPrevention", DB.Object<{
575
579
  amount: DB.MemberDecl<DB.Integer, true>;
576
580
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"IntoxicantAddictionWithdrawalPreventionInterval", {
@@ -584,7 +588,8 @@ export declare const Intoxicant: DB.TypeAlias<"Intoxicant", DB.Object<{
584
588
  }>, []>>, true>;
585
589
  }>, []>>>;
586
590
  }, []>>, true>;
587
- }>, []>>, true>;
591
+ }>, []>>, false>;
592
+ disease: DB.MemberDecl<DB.ReferenceIdentifier, false>;
588
593
  translations: DB.MemberDecl<DB.NestedEntityMap<"IntoxicantAddictionTranslation", {
589
594
  chance: DB.MemberDecl<DB.String, true>;
590
595
  }>, false>;
@@ -604,7 +609,7 @@ export declare const IntoxicantAddiction: DB.TypeAlias<"IntoxicantAddiction", DB
604
609
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionCheck", DB.Object<{
605
610
  interval: DB.MemberDecl<DB.Integer, true>;
606
611
  onlySameMonth: DB.MemberDecl<DB.Boolean, false>;
607
- }>, []>>, true>;
612
+ }>, []>>, false>;
608
613
  withdrawalPrevention: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"IntoxicantAddictionWithdrawalPrevention", DB.Object<{
609
614
  amount: DB.MemberDecl<DB.Integer, true>;
610
615
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"IntoxicantAddictionWithdrawalPreventionInterval", {
@@ -618,7 +623,8 @@ export declare const IntoxicantAddiction: DB.TypeAlias<"IntoxicantAddiction", DB
618
623
  }>, []>>, true>;
619
624
  }>, []>>>;
620
625
  }, []>>, true>;
621
- }>, []>>, true>;
626
+ }>, []>>, false>;
627
+ disease: DB.MemberDecl<DB.ReferenceIdentifier, false>;
622
628
  translations: DB.MemberDecl<DB.NestedEntityMap<"IntoxicantAddictionTranslation", {
623
629
  chance: DB.MemberDecl<DB.String, true>;
624
630
  }>, false>;
@@ -3,6 +3,7 @@ import { NestedTranslationMap } from "../../Locale.js";
3
3
  import { AlternativeName } from "../../_AlternativeNames.js";
4
4
  import { Dice } from "../../_Dice.js";
5
5
  import { Reduceable, Resistance } from "../../_DiseasePoison.js";
6
+ import { DiseaseIdentifier } from "../../_Identifier.js";
6
7
  import { MathOperation } from "../../_MathExpression.js";
7
8
  import { Errata } from "../../source/_Erratum.js";
8
9
  import { src } from "../../source/_PublicationRef.js";
@@ -412,14 +413,18 @@ export const IntoxicantAddiction = DB.TypeAlias(import.meta.url, {
412
413
  comment: "The chance of getting addicted after an ingestion in percent. Some intoxicants do not have a contant chance of addiction.",
413
414
  type: DB.Integer({ minimum: 0, maximum: 100, multipleOf: 5 }),
414
415
  }),
415
- check: DB.Required({
416
+ check: DB.Optional({
416
417
  comment: "The interval at which to check for addiction after an ingestion. If set to one, every ingestion has to be checked for addiction. If set to two, every second ingestion has to be checked, and so on.",
417
418
  type: DB.IncludeIdentifier(IntoxicantAddictionCheck),
418
419
  }),
419
- withdrawalPrevention: DB.Required({
420
+ withdrawalPrevention: DB.Optional({
420
421
  comment: "The maximum interval at which it, while addicted, must be ingested to not suffer from withdrawal symptoms.",
421
422
  type: DB.IncludeIdentifier(IntoxicantAddictionWithdrawalPrevention),
422
423
  }),
424
+ disease: DB.Optional({
425
+ comment: "The disease that represents the addiction.",
426
+ type: DiseaseIdentifier(),
427
+ }),
423
428
  translations: NestedTranslationMap(DB.Optional, "IntoxicantAddiction", DB.Object({
424
429
  chance: DB.Required({
425
430
  comment: "The chance of getting addicted after an ingestion. Use if and only if the plain constant percent is not sufficient.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.31.2",
3
+ "version": "0.31.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",