@optolith/database-schema 0.55.0 → 0.57.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,24 @@
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.57.0](https://github.com/Optolith/database-schema/compare/v0.56.0...v0.57.0) (2026-09-10)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * allow any advanced special ability for slot
10
+
11
+ ### Features
12
+
13
+ * allow any advanced special ability for slot ([dac3a55](https://github.com/Optolith/database-schema/commit/dac3a55200c45c0c1ae0b1b6fd4faeb318907b77)), closes [#104](https://github.com/Optolith/database-schema/issues/104)
14
+ ## [0.56.0](https://github.com/Optolith/database-schema/compare/v0.55.0...v0.56.0) (2026-09-08)
15
+
16
+ ### ⚠ BREAKING CHANGES
17
+
18
+ * advanced combat special ability type and labels
19
+
20
+ ### Features
21
+
22
+ * advanced combat special ability type and labels ([b953514](https://github.com/Optolith/database-schema/commit/b95351409bb2a7d0e4af365b299e3a2bccf0a3a4))
5
23
  ## [0.55.0](https://github.com/Optolith/database-schema/compare/v0.54.0...v0.55.0) (2026-09-08)
6
24
 
7
25
  ### ⚠ BREAKING CHANGES
package/gen/types.d.ts CHANGED
@@ -961,6 +961,11 @@ export interface AdvancedCombatSpecialAbility {
961
961
  */
962
962
  usage_type: CombatSpecialAbilityUsageType
963
963
 
964
+ /**
965
+ * The definition of if the combat special ability can be used when armed or when unarmed.
966
+ */
967
+ type: CombatSpecialAbilityType
968
+
964
969
  /**
965
970
  * Definitions for possible options for the activatable entry, derived from entry categories.
966
971
  *
@@ -1087,6 +1092,17 @@ export type CombatSpecialAbilityUsageType =
1087
1092
  kind: "SpecialManeuver"
1088
1093
  }
1089
1094
 
1095
+ /**
1096
+ * The definition of if the combat special ability can be used when armed or when unarmed.
1097
+ */
1098
+ export type CombatSpecialAbilityType =
1099
+ | {
1100
+ kind: "Armed"
1101
+ }
1102
+ | {
1103
+ kind: "Unarmed"
1104
+ }
1105
+
1090
1106
  /**
1091
1107
  * Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
1092
1108
  *
@@ -2382,12 +2398,15 @@ export interface Locale {
2382
2398
  "Active": string
2383
2399
  "Basic Maneuver": string
2384
2400
  "Special Maneuver": string
2401
+ "AC": string
2402
+ "UC": string
2385
2403
  "Volume": string
2386
2404
  "Penalty": string
2387
2405
  "Binding Cost": string
2388
2406
  "one or two of these special abilities can alternatively be replaced by advanced special abilities {$first} and/or {$second}": string & { __params: { "first": StringableTranslationParameter; "second": StringableTranslationParameter } }
2389
2407
  ".input {$count :number} {{{$count} more by primary patron}}": string & { __params: { "count": number } }
2390
2408
  "Patron": string
2409
+ ".input {$count :number} {{Here you can select {$count} fitting special abilities.}}": string & { __params: { "count": number } }
2391
2410
  "corresponding combat style special ability": string
2392
2411
  "corresponding liturgical style special ability": string
2393
2412
  "corresponding magic style special ability": string
@@ -13471,17 +13490,6 @@ export type CombatSpecialAbilityTypeUsageType =
13471
13490
  kind: "Active"
13472
13491
  }
13473
13492
 
13474
- /**
13475
- * The definition of if the combat special ability can be used when armed or when unarmed.
13476
- */
13477
- export type CombatSpecialAbilityType =
13478
- | {
13479
- kind: "Armed"
13480
- }
13481
- | {
13482
- kind: "Unarmed"
13483
- }
13484
-
13485
13493
  /**
13486
13494
  * A reference to an advanced special ability.
13487
13495
  */
@@ -13502,6 +13510,9 @@ export type AdvancedSpecialAbility<Identifier> =
13502
13510
  kind: "DeriveFromExternalOption"
13503
13511
  DeriveFromExternalOption: AdvancedSpecialAbilityDerivedFromExternalOption<Identifier>
13504
13512
  }
13513
+ | {
13514
+ kind: "Any"
13515
+ }
13505
13516
 
13506
13517
  export interface RestrictAdvancedSpecialAbilityOptions<Identifier> {
13507
13518
  /**
@@ -1332,12 +1332,15 @@ export declare const Locale: DB.Entity<"Locale", {
1332
1332
  Active: null;
1333
1333
  "Basic Maneuver": null;
1334
1334
  "Special Maneuver": null;
1335
+ AC: null;
1336
+ UC: null;
1335
1337
  Volume: null;
1336
1338
  Penalty: null;
1337
1339
  "Binding Cost": null;
1338
1340
  "one or two of these special abilities can alternatively be replaced by advanced special abilities {$first} and/or {$second}": null;
1339
1341
  ".input {$count :number} {{{$count} more by primary patron}}": null;
1340
1342
  Patron: null;
1343
+ ".input {$count :number} {{Here you can select {$count} fitting special abilities.}}": null;
1341
1344
  "corresponding combat style special ability": null;
1342
1345
  "corresponding liturgical style special ability": null;
1343
1346
  "corresponding magic style special ability": null;
@@ -1366,12 +1366,15 @@ export const Locale = DB.Entity(import.meta.url, {
1366
1366
  "Active": null,
1367
1367
  "Basic Maneuver": null,
1368
1368
  "Special Maneuver": null,
1369
+ "AC": null,
1370
+ "UC": null,
1369
1371
  "Volume": null,
1370
1372
  "Penalty": null,
1371
1373
  "Binding Cost": null,
1372
1374
  "one or two of these special abilities can alternatively be replaced by advanced special abilities {$first} and/or {$second}": null,
1373
1375
  ".input {$count :number} {{{$count} more by primary patron}}": null,
1374
1376
  "Patron": null,
1377
+ ".input {$count :number} {{Here you can select {$count} fitting special abilities.}}": null,
1375
1378
  "corresponding combat style special ability": null,
1376
1379
  "corresponding liturgical style special ability": null,
1377
1380
  "corresponding magic style special ability": null,
@@ -47,4 +47,5 @@ export declare const advanced: (identifier: DB.Type) => DB.MemberDecl<DB.Array<D
47
47
  }>, []>>>;
48
48
  }, []>>, false>;
49
49
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>;
50
+ Any: DB.EnumCase<null>;
50
51
  }, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, true>;
@@ -23,6 +23,10 @@ const AdvancedSpecialAbility = DB.GenEnum(import.meta.url, {
23
23
  DB.TypeArgument(Identifier),
24
24
  ]),
25
25
  }),
26
+ Any: DB.EnumCase({
27
+ comment: "Any advanced special ability is possible.",
28
+ type: null,
29
+ }),
26
30
  }),
27
31
  });
28
32
  const RestrictAdvancedSpecialAbilityOptions = DB.GenTypeAlias(import.meta.url, {
@@ -13,6 +13,10 @@ export declare const AdvancedCombatSpecialAbility: DB.Entity<"AdvancedCombatSpec
13
13
  BasicManeuver: DB.EnumCase<null>;
14
14
  SpecialManeuver: DB.EnumCase<null>;
15
15
  }, []>>, true>;
16
+ type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CombatSpecialAbilityType", {
17
+ Armed: DB.EnumCase<null>;
18
+ Unarmed: DB.EnumCase<null>;
19
+ }, []>>, true>;
16
20
  select_options: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptions", DB.Object<{
17
21
  derived: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionCategory", {
18
22
  Blessings: DB.EnumCase<null>;
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { input, levels, maximum, name, name_in_library, rules } from "../_Activatable.js";
3
3
  import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
4
- import { combat_techniques, penalty, special_ability_usage_type } from "../_ActivatableCombat.js";
4
+ import { combat_techniques, penalty, special_ability_usage_type, type, } from "../_ActivatableCombat.js";
5
5
  import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.js";
6
6
  import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
7
7
  import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js";
@@ -17,6 +17,7 @@ export const AdvancedCombatSpecialAbility = DB.Entity(import.meta.url, {
17
17
  levels,
18
18
  nameBuilderRules,
19
19
  usage_type: special_ability_usage_type,
20
+ type,
20
21
  select_options,
21
22
  explicit_select_options,
22
23
  skill_applications,
@@ -1082,6 +1082,7 @@ export declare const CombatStyleSpecialAbility: DB.Entity<"CombatStyleSpecialAbi
1082
1082
  }>, []>>>;
1083
1083
  }, []>>, false>;
1084
1084
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>;
1085
+ Any: DB.EnumCase<null>;
1085
1086
  }, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, true>;
1086
1087
  prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"GeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesForLevels", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteForLevel", DB.Object<{
1087
1088
  level: DB.MemberDecl<DB.Integer, true>;
@@ -1022,6 +1022,7 @@ export declare const LiturgicalStyleSpecialAbility: DB.Entity<"LiturgicalStyleSp
1022
1022
  }>, []>>>;
1023
1023
  }, []>>, false>;
1024
1024
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>;
1025
+ Any: DB.EnumCase<null>;
1025
1026
  }, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, true>;
1026
1027
  prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"GeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesForLevels", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteForLevel", DB.Object<{
1027
1028
  level: DB.MemberDecl<DB.Integer, true>;
@@ -1022,6 +1022,7 @@ export declare const MagicStyleSpecialAbility: DB.Entity<"MagicStyleSpecialAbili
1022
1022
  }>, []>>>;
1023
1023
  }, []>>, false>;
1024
1024
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>;
1025
+ Any: DB.EnumCase<null>;
1025
1026
  }, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, true>;
1026
1027
  prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"GeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesForLevels", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteForLevel", DB.Object<{
1027
1028
  level: DB.MemberDecl<DB.Integer, true>;
@@ -968,6 +968,7 @@ export declare const SkillStyleSpecialAbility: DB.Entity<"SkillStyleSpecialAbili
968
968
  }>, []>>>;
969
969
  }, []>>, false>;
970
970
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>;
971
+ Any: DB.EnumCase<null>;
971
972
  }, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, true>;
972
973
  prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"GeneralPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesForLevels", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteForLevel", DB.Object<{
973
974
  level: DB.MemberDecl<DB.Integer, true>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@optolith/database-schema",
3
- "version": "0.55.0",
3
+ "version": "0.57.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",