@optolith/database-schema 0.54.0 → 0.55.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
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.55.0](https://github.com/Optolith/database-schema/compare/v0.54.0...v0.55.0) (2026-09-08)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * restricted blessing translations and restructuring
10
+
11
+ ### Features
12
+
13
+ * restricted blessing translations and restructuring ([f1867b7](https://github.com/Optolith/database-schema/commit/f1867b7b085a6219b13e5446b61ccf3b75878cba))
5
14
  ## [0.54.0](https://github.com/Optolith/database-schema/compare/v0.53.0...v0.54.0) (2026-09-08)
6
15
 
7
16
  ### ⚠ BREAKING CHANGES
package/gen/types.d.ts CHANGED
@@ -548,6 +548,7 @@ export type TypeAliasMap = {
548
548
  Cause: Cause
549
549
  CheckResultBasedModifier: CheckResultBasedModifier
550
550
  ChildNode: ChildNode
551
+ ChurchBlessedTradition: ChurchBlessedTradition
551
552
  CloseCombatTechniqueSpecialRules: CloseCombatTechniqueSpecialRules
552
553
  CombatAnimalPower: CombatAnimalPower
553
554
  CombatTechniqueAdjustment: CombatTechniqueAdjustment
@@ -2391,6 +2392,11 @@ export interface Locale {
2391
2392
  "corresponding liturgical style special ability": string
2392
2393
  "corresponding magic style special ability": string
2393
2394
  "corresponding skill style special ability": string
2395
+ "No Blessings": string
2396
+ "Restricted Blessings": string
2397
+ "Strongly Restricted Blessings": string
2398
+ "{$nameOfBlessedOnes} cannot use blessings.": string & { __params: { "nameOfBlessedOnes": StringableTranslationParameter } }
2399
+ "{$nameOfBlessedOnes} cannot use {$blessings :list type=disjunction}.": string & { __params: { "nameOfBlessedOnes": StringableTranslationParameter; "blessings": StringableTranslationParameter } }
2394
2400
  "Favored Skills": string
2395
2401
  "The primary attribute of this Tradition is {$attr}.": string & { __params: { "attr": StringableTranslationParameter } }
2396
2402
  "This primary attribute of this Tradition is {$attr}; however, {$casters} use only half of this stat (rounded up) to calculate their base AE pool or purchase AE.": string & { __params: { "attr": StringableTranslationParameter; "casters": StringableTranslationParameter } }
@@ -7562,11 +7568,6 @@ export interface BlessedTradition {
7562
7568
  */
7563
7569
  primaryBlessing?: Blessing_ID
7564
7570
 
7565
- /**
7566
- * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
7567
- */
7568
- restricted_blessings?: RestrictedBlessings
7569
-
7570
7571
  /**
7571
7572
  * A list of favored combat techniques.
7572
7573
  */
@@ -7790,19 +7791,6 @@ export interface IndefiniteBlessingDurationTranslation {
7790
7791
  description: string
7791
7792
  }
7792
7793
 
7793
- /**
7794
- * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
7795
- */
7796
- export type RestrictedBlessings =
7797
- | {
7798
- kind: "Three"
7799
- Three: [Blessing_ID, Blessing_ID, Blessing_ID]
7800
- }
7801
- | {
7802
- kind: "Six"
7803
- Six: [Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID]
7804
- }
7805
-
7806
7794
  export type FavoredCombatTechniques =
7807
7795
  | {
7808
7796
  kind: "All"
@@ -7853,12 +7841,36 @@ export interface FavoredSkillsSelection {
7853
7841
  export type BlessedTraditionType =
7854
7842
  | {
7855
7843
  kind: "Church"
7844
+ Church: ChurchBlessedTradition
7856
7845
  }
7857
7846
  | {
7858
7847
  kind: "Shamanistic"
7859
7848
  Shamanistic: ShamanisticBlessedTradition
7860
7849
  }
7861
7850
 
7851
+ /**
7852
+ * Additional rules for church traditions.
7853
+ */
7854
+ export interface ChurchBlessedTradition {
7855
+ /**
7856
+ * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
7857
+ */
7858
+ restrictedBlessings?: RestrictedBlessings
7859
+ }
7860
+
7861
+ /**
7862
+ * If a tradition restricts the possible blessings, the blessings that are **not** allowed.
7863
+ */
7864
+ export type RestrictedBlessings =
7865
+ | {
7866
+ kind: "Three"
7867
+ Three: [Blessing_ID, Blessing_ID, Blessing_ID]
7868
+ }
7869
+ | {
7870
+ kind: "Six"
7871
+ Six: [Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID, Blessing_ID]
7872
+ }
7873
+
7862
7874
  /**
7863
7875
  * Additional rules for shamanistic traditions.
7864
7876
  */
@@ -1342,6 +1342,11 @@ export declare const Locale: DB.Entity<"Locale", {
1342
1342
  "corresponding liturgical style special ability": null;
1343
1343
  "corresponding magic style special ability": null;
1344
1344
  "corresponding skill style special ability": null;
1345
+ "No Blessings": null;
1346
+ "Restricted Blessings": null;
1347
+ "Strongly Restricted Blessings": null;
1348
+ "{$nameOfBlessedOnes} cannot use blessings.": null;
1349
+ "{$nameOfBlessedOnes} cannot use {$blessings :list type=disjunction}.": null;
1345
1350
  "Favored Skills": null;
1346
1351
  "The primary attribute of this Tradition is {$attr}.": null;
1347
1352
  "This primary attribute of this Tradition is {$attr}; however, {$casters} use only half of this stat (rounded up) to calculate their base AE pool or purchase AE.": null;
@@ -1376,6 +1376,11 @@ export const Locale = DB.Entity(import.meta.url, {
1376
1376
  "corresponding liturgical style special ability": null,
1377
1377
  "corresponding magic style special ability": null,
1378
1378
  "corresponding skill style special ability": null,
1379
+ "No Blessings": null,
1380
+ "Restricted Blessings": null,
1381
+ "Strongly Restricted Blessings": null,
1382
+ "{$nameOfBlessedOnes} cannot use blessings.": null,
1383
+ "{$nameOfBlessedOnes} cannot use {$blessings :list type=disjunction}.": null,
1379
1384
  "Favored Skills": null,
1380
1385
  "The primary attribute of this Tradition is {$attr}.": null,
1381
1386
  "This primary attribute of this Tradition is {$attr}; however, {$casters} use only half of this stat (rounded up) to calculate their base AE pool or purchase AE.": null,
@@ -968,10 +968,6 @@ export declare const BlessedTradition: DB.Entity<"BlessedTradition", {
968
968
  primary: DB.MemberDecl<DB.ReferenceIdentifier, false>;
969
969
  aspects: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
970
970
  primaryBlessing: DB.MemberDecl<DB.ReferenceIdentifier, false>;
971
- restricted_blessings: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RestrictedBlessings", {
972
- Three: DB.EnumCase<DB.Array<DB.ReferenceIdentifier>>;
973
- Six: DB.EnumCase<DB.Array<DB.ReferenceIdentifier>>;
974
- }, []>>, false>;
975
971
  favored_combat_techniques: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"FavoredCombatTechniques", {
976
972
  All: DB.EnumCase<null>;
977
973
  AllClose: DB.EnumCase<null>;
@@ -989,7 +985,12 @@ export declare const BlessedTradition: DB.Entity<"BlessedTradition", {
989
985
  options: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
990
986
  }>, []>>, false>;
991
987
  type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BlessedTraditionType", {
992
- Church: DB.EnumCase<null>;
988
+ Church: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ChurchBlessedTradition", DB.Object<{
989
+ restrictedBlessings: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RestrictedBlessings", {
990
+ Three: DB.EnumCase<DB.Array<DB.ReferenceIdentifier>>;
991
+ Six: DB.EnumCase<DB.Array<DB.ReferenceIdentifier>>;
992
+ }, []>>, false>;
993
+ }>, []>>>;
993
994
  Shamanistic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ShamanisticBlessedTradition", DB.Object<{
994
995
  can_use_bone_mace_as_ceremonial_item: DB.MemberDecl<DB.Boolean, true>;
995
996
  }>, []>>>;
@@ -31,10 +31,6 @@ export const BlessedTradition = DB.Entity(import.meta.url, {
31
31
  comment: "The tradition’s primary blessing. Leave empty if the tradition does not have one.",
32
32
  type: BlessingIdentifier(),
33
33
  }),
34
- restricted_blessings: DB.Optional({
35
- comment: "If a tradition restricts the possible blessings, the blessings that are **not** allowed.",
36
- type: DB.IncludeIdentifier(RestrictedBlessings),
37
- }),
38
34
  favored_combat_techniques: DB.Optional({
39
35
  comment: "A list of favored combat techniques.",
40
36
  type: DB.IncludeIdentifier(FavoredCombatTechniques),
@@ -138,10 +134,20 @@ const BlessedTraditionType = DB.Enum(import.meta.url, {
138
134
  name: "BlessedTraditionType",
139
135
  comment: "The type of the tradition. May be either church or shamanistic.",
140
136
  values: () => ({
141
- Church: DB.EnumCase({ type: null }),
137
+ Church: DB.EnumCase({ type: DB.IncludeIdentifier(ChurchBlessedTradition) }),
142
138
  Shamanistic: DB.EnumCase({ type: DB.IncludeIdentifier(ShamanisticBlessedTradition) }),
143
139
  }),
144
140
  });
141
+ const ChurchBlessedTradition = DB.TypeAlias(import.meta.url, {
142
+ name: "ChurchBlessedTradition",
143
+ comment: "Additional rules for church traditions.",
144
+ type: () => DB.Object({
145
+ restrictedBlessings: DB.Optional({
146
+ comment: "If a tradition restricts the possible blessings, the blessings that are **not** allowed.",
147
+ type: DB.IncludeIdentifier(RestrictedBlessings),
148
+ }),
149
+ }),
150
+ });
145
151
  const ShamanisticBlessedTradition = DB.TypeAlias(import.meta.url, {
146
152
  name: "ShamanisticBlessedTradition",
147
153
  comment: "Additional rules for shamanistic traditions.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optolith/database-schema",
3
- "version": "0.54.0",
3
+ "version": "0.55.0",
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",
@@ -50,7 +50,8 @@
50
50
  "globals": "^17.12.0",
51
51
  "nodemon": "^3.1.14",
52
52
  "prettier": "^3.9.6",
53
- "typescript": "^6.0.3",
53
+ "typescript": "npm:@typescript/typescript6@^6.0.2",
54
+ "typescript-7": "npm:typescript@^7.0.2",
54
55
  "typescript-eslint": "^8.70.0"
55
56
  },
56
57
  "repository": "github:Optolith/database-schema",