optolith-database-schema 0.16.1 → 0.16.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 [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
+ ### [0.16.3](https://github.com/elyukai/optolith-database-schema/compare/v0.16.2...v0.16.3) (2024-01-18)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * resolve intersection types ([829da00](https://github.com/elyukai/optolith-database-schema/commit/829da0079a60693dbeec94cbfb02b447c5105da5))
11
+
12
+ ### [0.16.2](https://github.com/elyukai/optolith-database-schema/compare/v0.16.1...v0.16.2) (2024-01-18)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * update build artifacts ([cb11b32](https://github.com/elyukai/optolith-database-schema/commit/cb11b322783236738eee3541e1ac3165ab172c1c))
18
+
5
19
  ### [0.16.1](https://github.com/elyukai/optolith-database-schema/compare/v0.16.0...v0.16.1) (2024-01-16)
6
20
 
7
21
  ## [0.16.0](https://github.com/elyukai/optolith-database-schema/compare/v0.15.5...v0.16.0) (2024-01-12)
@@ -341,12 +341,28 @@ export type VariantSpecialAbility = {
341
341
  tag: "Selection";
342
342
  selection: VariantSpecialAbilitySelection;
343
343
  };
344
- export type FixedVariantSpecialAbility = SpecialAbilityDefinition & {
344
+ export type FixedVariantSpecialAbility = {
345
+ /**
346
+ * The identifier of the combat technique to provide the rating for.
347
+ */
348
+ id: SpecialAbilityIdentifier;
345
349
  /**
346
350
  * if set to `false`, if the selection is granted by the basic package, it
347
351
  * is removed.
348
352
  */
349
353
  active?: false;
354
+ /**
355
+ * The level of the received special ability.
356
+ * @integer
357
+ * @minimum 1
358
+ */
359
+ level?: number;
360
+ /**
361
+ * Received select options. Order is important. Typically, you only need the
362
+ * first array index, though.
363
+ * @minItems 1
364
+ */
365
+ options?: RequirableSelectOptionIdentifier[];
350
366
  };
351
367
  export type VariantSpecialAbilitySelection = {
352
368
  /**
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { TypeConfig } from "../typeConfig.js";
5
5
  import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantageDisadvantage.js";
6
- import { Dice } from "./_Dice.js";
6
+ import { Dice, DieType } from "./_Dice.js";
7
7
  import { AdvantageIdentifier, AttributeIdentifier, DisadvantageIdentifier, ExperienceLevelIdentifier } from "./_Identifier.js";
8
8
  import { LocaleMap } from "./_LocaleMap.js";
9
9
  import { NonEmptyString } from "./_NonEmptyString.js";
@@ -176,7 +176,17 @@ export type Weight = {
176
176
  */
177
177
  random: WeightDice[];
178
178
  };
179
- export type WeightDice = Dice & {
179
+ export type WeightDice = {
180
+ /**
181
+ * Number of dice of the same type. Example: 2 in 2D6.
182
+ * @integer
183
+ * @minimum 1
184
+ */
185
+ number: number;
186
+ /**
187
+ * Number of sides on every die. Example: 6 in 2D6.
188
+ */
189
+ sides: DieType;
180
190
  /**
181
191
  * The strategy how to offset the randomly generated values against the
182
192
  * base value. Either they are all added or subtracted or even results are
package/lib/types/UI.d.ts CHANGED
@@ -868,8 +868,8 @@ export type UI = {
868
868
  "skills.header.check": NonEmptyString;
869
869
  "skills.header.improvementcost": NonEmptyString;
870
870
  "skills.header.improvementcost.tooltip": NonEmptyString;
871
- "inlinewiki.newapplications": NonEmptyString;
872
- "inlinewiki.uses": NonEmptyString;
871
+ "New Applications": NonEmptyString;
872
+ "Uses": NonEmptyString;
873
873
  "showfrequency.stronglyrecommended": NonEmptyString;
874
874
  "showfrequency.common": NonEmptyString;
875
875
  "showfrequency.uncommon": NonEmptyString;
@@ -1,4 +1,4 @@
1
- import { CheckResultBased } from "./_ActivatableSkillCheckResultBased.js";
1
+ import { CheckResultBasedModifier, CheckResultValue } from "./_ActivatableSkillCheckResultBased.js";
2
2
  import { LocaleMap } from "./_LocaleMap.js";
3
3
  import { ResponsiveText, ResponsiveTextReplace } from "./_ResponsiveText.js";
4
4
  export type DurationForOneTime = {
@@ -74,11 +74,19 @@ export type FixedDurationTranslation = {
74
74
  /**
75
75
  * Defines the duration being based on a check result.
76
76
  */
77
- export type CheckResultBasedDuration = CheckResultBased & {
77
+ export type CheckResultBasedDuration = {
78
78
  /**
79
79
  * If the duration is the maximum duration, so it may end earlier.
80
80
  */
81
81
  is_maximum?: true;
82
+ /**
83
+ * The base value that is derived from the check result.
84
+ */
85
+ base: CheckResultValue;
86
+ /**
87
+ * If defined, it modifies the base value.
88
+ */
89
+ modifier?: CheckResultBasedModifier;
82
90
  /**
83
91
  * The duration unit.
84
92
  */
@@ -1,4 +1,4 @@
1
- import { CheckResultBased } from "./_ActivatableSkillCheckResultBased.js";
1
+ import { CheckResultBasedModifier, CheckResultValue } from "./_ActivatableSkillCheckResultBased.js";
2
2
  import { LocaleMap } from "./_LocaleMap.js";
3
3
  import { ResponsiveTextOptional, ResponsiveTextReplace } from "./_ResponsiveText.js";
4
4
  export type Range = {
@@ -74,11 +74,19 @@ export type FixedRange = {
74
74
  /**
75
75
  * Defines the range being based on a check result.
76
76
  */
77
- export type CheckResultBasedRange = CheckResultBased & {
77
+ export type CheckResultBasedRange = {
78
78
  /**
79
79
  * If the range is the maximum range.
80
80
  */
81
81
  is_maximum?: true;
82
+ /**
83
+ * The base value that is derived from the check result.
84
+ */
85
+ base: CheckResultValue;
86
+ /**
87
+ * If defined, it modifies the base value.
88
+ */
89
+ modifier?: CheckResultBasedModifier;
82
90
  /**
83
91
  * The duration unit.
84
92
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.16.1",
3
+ "version": "0.16.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",
@@ -648,23 +648,34 @@
648
648
  ]
649
649
  },
650
650
  "FixedVariantSpecialAbility": {
651
- "allOf": [
652
- {
653
- "$ref": "#/$defs/SpecialAbilityDefinition"
651
+ "type": "object",
652
+ "properties": {
653
+ "id": {
654
+ "description": "The identifier of the combat technique to provide the rating for.",
655
+ "$ref": "./_IdentifierGroup.schema.json#/$defs/SpecialAbilityIdentifier"
654
656
  },
655
- {
656
- "type": "object",
657
- "properties": {
658
- "active": {
659
- "description": "if set to `false`, if the selection is granted by the basic package, it\nis removed.",
660
- "const": false
661
- }
657
+ "active": {
658
+ "description": "if set to `false`, if the selection is granted by the basic package, it\nis removed.",
659
+ "const": false
660
+ },
661
+ "level": {
662
+ "description": "The level of the received special ability.",
663
+ "type": "integer",
664
+ "minimum": 1
665
+ },
666
+ "options": {
667
+ "description": "Received select options. Order is important. Typically, you only need the\nfirst array index, though.",
668
+ "type": "array",
669
+ "items": {
670
+ "$ref": "./_IdentifierGroup.schema.json#/$defs/RequirableSelectOptionIdentifier"
662
671
  },
663
- "required": []
672
+ "minItems": 1
664
673
  }
674
+ },
675
+ "required": [
676
+ "id"
665
677
  ],
666
- "type": "object",
667
- "unevaluatedProperties": false
678
+ "additionalProperties": false
668
679
  },
669
680
  "VariantSpecialAbilitySelection": {
670
681
  "type": "object",
@@ -240,25 +240,28 @@
240
240
  "additionalProperties": false
241
241
  },
242
242
  "WeightDice": {
243
- "allOf": [
244
- {
245
- "$ref": "./_Dice.schema.json#/$defs/Dice"
243
+ "type": "object",
244
+ "properties": {
245
+ "number": {
246
+ "description": "Number of dice of the same type. Example: 2 in 2D6.",
247
+ "type": "integer",
248
+ "minimum": 1
246
249
  },
247
- {
248
- "type": "object",
249
- "properties": {
250
- "offset_strategy": {
251
- "description": "The strategy how to offset the randomly generated values against the\nbase value. Either they are all added or subtracted or even results are\nadded and odd results are subtracted.",
252
- "$ref": "#/$defs/WeightDiceOffsetStrategy"
253
- }
254
- },
255
- "required": [
256
- "offset_strategy"
257
- ]
250
+ "sides": {
251
+ "description": "Number of sides on every die. Example: 6 in 2D6.",
252
+ "$ref": "./_Dice.schema.json#/$defs/DieType"
253
+ },
254
+ "offset_strategy": {
255
+ "description": "The strategy how to offset the randomly generated values against the\nbase value. Either they are all added or subtracted or even results are\nadded and odd results are subtracted.",
256
+ "$ref": "#/$defs/WeightDiceOffsetStrategy"
258
257
  }
258
+ },
259
+ "required": [
260
+ "number",
261
+ "sides",
262
+ "offset_strategy"
259
263
  ],
260
- "type": "object",
261
- "unevaluatedProperties": false
264
+ "additionalProperties": false
262
265
  },
263
266
  "WeightDiceOffsetStrategy": {
264
267
  "description": "The strategy how to offset the randomly generated values against the\nbase value. Either they are all added or subtracted or even results are\nadded and odd results are subtracted.",
@@ -2047,10 +2047,10 @@
2047
2047
  "skills.header.improvementcost.tooltip": {
2048
2048
  "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
2049
2049
  },
2050
- "inlinewiki.newapplications": {
2050
+ "New Applications": {
2051
2051
  "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
2052
2052
  },
2053
- "inlinewiki.uses": {
2053
+ "Uses": {
2054
2054
  "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
2055
2055
  },
2056
2056
  "showfrequency.stronglyrecommended": {
@@ -3410,8 +3410,8 @@
3410
3410
  "skills.header.check",
3411
3411
  "skills.header.improvementcost",
3412
3412
  "skills.header.improvementcost.tooltip",
3413
- "inlinewiki.newapplications",
3414
- "inlinewiki.uses",
3413
+ "New Applications",
3414
+ "Uses",
3415
3415
  "showfrequency.stronglyrecommended",
3416
3416
  "showfrequency.common",
3417
3417
  "showfrequency.uncommon",
@@ -201,40 +201,41 @@
201
201
  },
202
202
  "CheckResultBasedDuration": {
203
203
  "description": "Defines the duration being based on a check result.",
204
- "allOf": [
205
- {
206
- "$ref": "./_ActivatableSkillCheckResultBased.schema.json#/$defs/CheckResultBased"
204
+ "type": "object",
205
+ "properties": {
206
+ "is_maximum": {
207
+ "description": "If the duration is the maximum duration, so it may end earlier.",
208
+ "const": true
207
209
  },
208
- {
210
+ "base": {
211
+ "description": "The base value that is derived from the check result.",
212
+ "$ref": "./_ActivatableSkillCheckResultBased.schema.json#/$defs/CheckResultValue"
213
+ },
214
+ "modifier": {
215
+ "description": "If defined, it modifies the base value.",
216
+ "$ref": "./_ActivatableSkillCheckResultBased.schema.json#/$defs/CheckResultBasedModifier"
217
+ },
218
+ "unit": {
219
+ "description": "The duration unit.",
220
+ "$ref": "#/$defs/DurationUnit"
221
+ },
222
+ "translations": {
223
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
209
224
  "type": "object",
210
- "properties": {
211
- "is_maximum": {
212
- "description": "If the duration is the maximum duration, so it may end earlier.",
213
- "const": true
214
- },
215
- "unit": {
216
- "description": "The duration unit.",
217
- "$ref": "#/$defs/DurationUnit"
218
- },
219
- "translations": {
220
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
221
- "type": "object",
222
- "patternProperties": {
223
- "^[a-z]{2}-[A-Z]{2}$": {
224
- "$ref": "#/$defs/CheckResultBasedDurationTranslation"
225
- }
226
- },
227
- "minProperties": 1,
228
- "additionalProperties": false
225
+ "patternProperties": {
226
+ "^[a-z]{2}-[A-Z]{2}$": {
227
+ "$ref": "#/$defs/CheckResultBasedDurationTranslation"
229
228
  }
230
229
  },
231
- "required": [
232
- "unit"
233
- ]
230
+ "minProperties": 1,
231
+ "additionalProperties": false
234
232
  }
233
+ },
234
+ "required": [
235
+ "base",
236
+ "unit"
235
237
  ],
236
- "type": "object",
237
- "unevaluatedProperties": false
238
+ "additionalProperties": false
238
239
  },
239
240
  "CheckResultBasedDurationTranslation": {
240
241
  "type": "object",
@@ -205,33 +205,34 @@
205
205
  },
206
206
  "CheckResultBasedRange": {
207
207
  "description": "Defines the range being based on a check result.",
208
- "allOf": [
209
- {
210
- "$ref": "./_ActivatableSkillCheckResultBased.schema.json#/$defs/CheckResultBased"
208
+ "type": "object",
209
+ "properties": {
210
+ "is_maximum": {
211
+ "description": "If the range is the maximum range.",
212
+ "const": true
211
213
  },
212
- {
213
- "type": "object",
214
- "properties": {
215
- "is_maximum": {
216
- "description": "If the range is the maximum range.",
217
- "const": true
218
- },
219
- "unit": {
220
- "description": "The duration unit.",
221
- "$ref": "#/$defs/RangeUnit"
222
- },
223
- "is_radius": {
224
- "description": "If `true`, the range is a radius.",
225
- "const": true
226
- }
227
- },
228
- "required": [
229
- "unit"
230
- ]
214
+ "base": {
215
+ "description": "The base value that is derived from the check result.",
216
+ "$ref": "./_ActivatableSkillCheckResultBased.schema.json#/$defs/CheckResultValue"
217
+ },
218
+ "modifier": {
219
+ "description": "If defined, it modifies the base value.",
220
+ "$ref": "./_ActivatableSkillCheckResultBased.schema.json#/$defs/CheckResultBasedModifier"
221
+ },
222
+ "unit": {
223
+ "description": "The duration unit.",
224
+ "$ref": "#/$defs/RangeUnit"
225
+ },
226
+ "is_radius": {
227
+ "description": "If `true`, the range is a radius.",
228
+ "const": true
231
229
  }
230
+ },
231
+ "required": [
232
+ "base",
233
+ "unit"
232
234
  ],
233
- "type": "object",
234
- "unevaluatedProperties": false
235
+ "additionalProperties": false
235
236
  },
236
237
  "RangeTranslation": {
237
238
  "type": "object",