optolith-database-schema 0.13.7 → 0.14.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,27 @@
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.14.0](https://github.com/elyukai/optolith-database-schema/compare/v0.13.8...v0.14.0) (2023-12-27)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * remove equipment category Alchemicum
11
+
12
+ ### Features
13
+
14
+ * add optional "notes" field to poison translation ([0cf9d98](https://github.com/elyukai/optolith-database-schema/commit/0cf9d988907734b89119cf6d9e3a3d480199128f)), closes [#28](https://github.com/elyukai/optolith-database-schema/issues/28)
15
+ * add poison duration type "instant" ([0581049](https://github.com/elyukai/optolith-database-schema/commit/0581049f282988ca5a24ff4ba219310003061d59))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * add elixir identifier ([98993f7](https://github.com/elyukai/optolith-database-schema/commit/98993f7c351fc647cbe6982276cebab0e014ec44))
21
+ * remove equipment category Alchemicum ([95768f3](https://github.com/elyukai/optolith-database-schema/commit/95768f30131b9c4e3f66f01950b6c7ea6f9ccfff)), closes [#32](https://github.com/elyukai/optolith-database-schema/issues/32)
22
+ * weapons should require a complexity ([7ad54e1](https://github.com/elyukai/optolith-database-schema/commit/7ad54e1c16e8782072d543450a27a5572ab875ed))
23
+
24
+ ### [0.13.8](https://github.com/elyukai/optolith-database-schema/compare/v0.13.7...v0.13.8) (2023-12-07)
25
+
5
26
  ### [0.13.7](https://github.com/elyukai/optolith-database-schema/compare/v0.13.6...v0.13.7) (2023-12-05)
6
27
 
7
28
  ### [0.13.6](https://github.com/elyukai/optolith-database-schema/compare/v0.13.5...v0.13.6) (2023-12-05)
@@ -48,7 +48,6 @@ import * as Talisman from "../types/Talisman.js";
48
48
  import * as TargetCategory from "../types/TargetCategory.js";
49
49
  import * as UI from "../types/UI.js";
50
50
  import * as EquipmentPackage from "../types/equipment/EquipmentPackage.js";
51
- import * as Alchemicum from "../types/equipment/item/Alchemicum.js";
52
51
  import * as Ammunition from "../types/equipment/item/Ammunition.js";
53
52
  import * as Animal from "../types/equipment/item/Animal.js";
54
53
  import * as AnimalCare from "../types/equipment/item/AnimalCare.js";
@@ -157,7 +156,6 @@ export type TypeMap = {
157
156
  advancedMagicalSpecialAbilities: AdvancedMagicalSpecialAbility.AdvancedMagicalSpecialAbility;
158
157
  advancedSkillSpecialAbilities: AdvancedSkillSpecialAbility.AdvancedSkillSpecialAbility;
159
158
  advantages: Advantage.Advantage;
160
- alchemicae: Alchemicum.Alchemicum;
161
159
  ammunition: Ammunition.Ammunition;
162
160
  ancestorGlyphs: AncestorGlyph.AncestorGlyph;
163
161
  animalCare: AnimalCare.AnimalCare;
@@ -312,7 +310,6 @@ export declare const configMap: {
312
310
  advancedMagicalSpecialAbilities: import("../typeConfig.js").TypeConfig<AdvancedMagicalSpecialAbility.AdvancedMagicalSpecialAbility>;
313
311
  advancedSkillSpecialAbilities: import("../typeConfig.js").TypeConfig<AdvancedSkillSpecialAbility.AdvancedSkillSpecialAbility>;
314
312
  advantages: import("../typeConfig.js").TypeConfig<Advantage.Advantage>;
315
- alchemicae: import("../typeConfig.js").TypeConfig<import("../types/equipment/item/_Item.js").DefaultItem>;
316
313
  ammunition: import("../typeConfig.js").TypeConfig<Ammunition.Ammunition>;
317
314
  ancestorGlyphs: import("../typeConfig.js").TypeConfig<AncestorGlyph.AncestorGlyph>;
318
315
  animalCare: import("../typeConfig.js").TypeConfig<AnimalCare.AnimalCare>;
@@ -48,7 +48,6 @@ import * as Talisman from "../types/Talisman.js";
48
48
  import * as TargetCategory from "../types/TargetCategory.js";
49
49
  import * as UI from "../types/UI.js";
50
50
  import * as EquipmentPackage from "../types/equipment/EquipmentPackage.js";
51
- import * as Alchemicum from "../types/equipment/item/Alchemicum.js";
52
51
  import * as Ammunition from "../types/equipment/item/Ammunition.js";
53
52
  import * as Animal from "../types/equipment/item/Animal.js";
54
53
  import * as AnimalCare from "../types/equipment/item/AnimalCare.js";
@@ -157,7 +156,6 @@ export const configMap = {
157
156
  advancedMagicalSpecialAbilities: AdvancedMagicalSpecialAbility.config,
158
157
  advancedSkillSpecialAbilities: AdvancedSkillSpecialAbility.config,
159
158
  advantages: Advantage.config,
160
- alchemicae: Alchemicum.config,
161
159
  ammunition: Ammunition.config,
162
160
  ancestorGlyphs: AncestorGlyph.config,
163
161
  animalCare: AnimalCare.config,
@@ -830,15 +830,6 @@ export type PatronIdentifier = {
830
830
  */
831
831
  patron: number;
832
832
  };
833
- export type AlchemicumIdentifier = {
834
- tag: "Alchemicum";
835
- /**
836
- * The alchemicum’s identifier.
837
- * @integer
838
- * @minimum 1
839
- */
840
- alchemicum: number;
841
- };
842
833
  export type AmmunitionIdentifier = {
843
834
  tag: "Ammunition";
844
835
  /**
@@ -920,6 +911,15 @@ export type ContainerIdentifier = {
920
911
  */
921
912
  container: number;
922
913
  };
914
+ export type ElixirIdentifier = {
915
+ tag: "Elixir";
916
+ /**
917
+ * The elixir’s identifier.
918
+ * @integer
919
+ * @minimum 1
920
+ */
921
+ elixir: number;
922
+ };
923
923
  export type EquipmentOfBlessedOnesIdentifier = {
924
924
  tag: "EquipmentOfBlessedOnes";
925
925
  /**
@@ -15,7 +15,7 @@ export type LiturgyIdentifier = Identifier.LiturgicalChantIdentifier | Identifie
15
15
  export type MagicalActionIdentifier = Identifier.CurseIdentifier | Identifier.ElvenMagicalSongIdentifier | Identifier.DominationRitualIdentifier | Identifier.MagicalMelodyIdentifier | Identifier.MagicalDanceIdentifier | Identifier.JesterTrickIdentifier | Identifier.AnimistPowerIdentifier | Identifier.GeodeRitualIdentifier | Identifier.ZibiljaRitualIdentifier;
16
16
  export type RequirableSelectOptionIdentifier = Identifier.GeneralIdentifier | Identifier.SkillIdentifier | Identifier.CloseCombatTechniqueIdentifier | Identifier.RangedCombatTechniqueIdentifier;
17
17
  export type CoreRuleDerivableContentIdentifier = Identifier.MagicalTraditionIdentifier | Identifier.FamiliarSpecialAbilityIdentifier | Identifier.MagicalSpecialAbilityIdentifier | Identifier.BlessedTraditionIdentifier;
18
- export type EquipmentIdentifier = Identifier.AlchemicumIdentifier | Identifier.AmmunitionIdentifier | Identifier.AnimalIdentifier | Identifier.AnimalCareIdentifier | Identifier.ArmorIdentifier | Identifier.BandageOrRemedyIdentifier | Identifier.BookIdentifier | Identifier.CeremonialItemIdentifier | Identifier.ClothesIdentifier | Identifier.ContainerIdentifier | Identifier.EquipmentOfBlessedOnesIdentifier | Identifier.GemOrPreciousStoneIdentifier | Identifier.IlluminationLightSourceIdentifier | Identifier.IlluminationRefillsOrSuppliesIdentifier | Identifier.JewelryIdentifier | Identifier.LiebesspielzeugIdentifier | Identifier.LuxuryGoodIdentifier | Identifier.MagicalArtifactIdentifier | Identifier.MusicalInstrumentIdentifier | Identifier.OrienteeringAidIdentifier | Identifier.PoisonIdentifier | Identifier.RopeOrChainIdentifier | Identifier.StationaryIdentifier | Identifier.ThievesToolIdentifier | Identifier.ToolOfTheTradeIdentifier | Identifier.TravelGearOrToolIdentifier | Identifier.VehicleIdentifier | Identifier.WeaponIdentifier | Identifier.WeaponAccessoryIdentifier;
18
+ export type EquipmentIdentifier = Identifier.AmmunitionIdentifier | Identifier.AnimalIdentifier | Identifier.AnimalCareIdentifier | Identifier.ArmorIdentifier | Identifier.BandageOrRemedyIdentifier | Identifier.BookIdentifier | Identifier.CeremonialItemIdentifier | Identifier.ClothesIdentifier | Identifier.ContainerIdentifier | Identifier.ElixirIdentifier | Identifier.EquipmentOfBlessedOnesIdentifier | Identifier.GemOrPreciousStoneIdentifier | Identifier.IlluminationLightSourceIdentifier | Identifier.IlluminationRefillsOrSuppliesIdentifier | Identifier.JewelryIdentifier | Identifier.LiebesspielzeugIdentifier | Identifier.LuxuryGoodIdentifier | Identifier.MagicalArtifactIdentifier | Identifier.MusicalInstrumentIdentifier | Identifier.OrienteeringAidIdentifier | Identifier.PoisonIdentifier | Identifier.RopeOrChainIdentifier | Identifier.StationaryIdentifier | Identifier.ThievesToolIdentifier | Identifier.ToolOfTheTradeIdentifier | Identifier.TravelGearOrToolIdentifier | Identifier.VehicleIdentifier | Identifier.WeaponIdentifier | Identifier.WeaponAccessoryIdentifier;
19
19
  export type OneOrManyNumericIdentifiers = OneNumericIdentifier | ManyNumericIdentifiers;
20
20
  /**
21
21
  * @minimum 1
@@ -72,6 +72,9 @@ export type PoisonStart = {
72
72
  dice_based: DiceBasedPoisonTime;
73
73
  };
74
74
  export type PoisonDuration = {
75
+ tag: "Instant";
76
+ instant: {};
77
+ } | {
75
78
  tag: "Constant";
76
79
  constant: ConstantPoisonTime;
77
80
  } | {
@@ -342,6 +345,10 @@ export type PoisonTranslation = {
342
345
  * The normal and degraded poison's effects.
343
346
  */
344
347
  effect: Reduceable;
348
+ /**
349
+ * Notes on the poison's special features.
350
+ */
351
+ notes?: NonEmptyString;
345
352
  errata?: Errata;
346
353
  };
347
354
  export declare const config: TypeConfig<Poison>;
@@ -20,9 +20,9 @@ export type Weapon = {
20
20
  */
21
21
  weight: Weight;
22
22
  /**
23
- * The complexity of crafting the item, if any.
23
+ * The complexity of crafting the item.
24
24
  */
25
- complexity?: Complexity;
25
+ complexity: Complexity;
26
26
  /**
27
27
  * The structure points of the item. Use an array if the item consists of
28
28
  * multiple components that have individual structure points.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.13.7",
3
+ "version": "0.14.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",
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/node": "^20.8.10",
36
- "optolith-tsjsonschemamd": "^0.10.2",
36
+ "optolith-tsjsonschemamd": "^0.10.4",
37
37
  "standard-version": "^9.5.0",
38
38
  "typescript": "^5.2.2"
39
39
  },
@@ -663,7 +663,8 @@
663
663
  "required": []
664
664
  }
665
665
  ],
666
- "unresolvedProperties": false
666
+ "type": "object",
667
+ "unevaluatedProperties": false
667
668
  },
668
669
  "VariantSpecialAbilitySelection": {
669
670
  "type": "object",
@@ -257,7 +257,8 @@
257
257
  ]
258
258
  }
259
259
  ],
260
- "unresolvedProperties": false
260
+ "type": "object",
261
+ "unevaluatedProperties": false
261
262
  },
262
263
  "WeightDiceOffsetStrategy": {
263
264
  "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.",
@@ -233,7 +233,8 @@
233
233
  ]
234
234
  }
235
235
  ],
236
- "unresolvedProperties": false
236
+ "type": "object",
237
+ "unevaluatedProperties": false
237
238
  },
238
239
  "CheckResultBasedDurationTranslation": {
239
240
  "type": "object",
@@ -230,7 +230,8 @@
230
230
  ]
231
231
  }
232
232
  ],
233
- "unresolvedProperties": false
233
+ "type": "object",
234
+ "unevaluatedProperties": false
234
235
  },
235
236
  "RangeTranslation": {
236
237
  "type": "object",
@@ -1660,24 +1660,6 @@
1660
1660
  ],
1661
1661
  "additionalProperties": false
1662
1662
  },
1663
- "AlchemicumIdentifier": {
1664
- "type": "object",
1665
- "properties": {
1666
- "tag": {
1667
- "const": "Alchemicum"
1668
- },
1669
- "alchemicum": {
1670
- "description": "The alchemicum’s identifier.",
1671
- "type": "integer",
1672
- "minimum": 1
1673
- }
1674
- },
1675
- "required": [
1676
- "tag",
1677
- "alchemicum"
1678
- ],
1679
- "additionalProperties": false
1680
- },
1681
1663
  "AmmunitionIdentifier": {
1682
1664
  "type": "object",
1683
1665
  "properties": {
@@ -1840,6 +1822,24 @@
1840
1822
  ],
1841
1823
  "additionalProperties": false
1842
1824
  },
1825
+ "ElixirIdentifier": {
1826
+ "type": "object",
1827
+ "properties": {
1828
+ "tag": {
1829
+ "const": "Elixir"
1830
+ },
1831
+ "elixir": {
1832
+ "description": "The elixir’s identifier.",
1833
+ "type": "integer",
1834
+ "minimum": 1
1835
+ }
1836
+ },
1837
+ "required": [
1838
+ "tag",
1839
+ "elixir"
1840
+ ],
1841
+ "additionalProperties": false
1842
+ },
1843
1843
  "EquipmentOfBlessedOnesIdentifier": {
1844
1844
  "type": "object",
1845
1845
  "properties": {
@@ -512,9 +512,6 @@
512
512
  },
513
513
  "EquipmentIdentifier": {
514
514
  "oneOf": [
515
- {
516
- "$ref": "./_Identifier.schema.json#/$defs/AlchemicumIdentifier"
517
- },
518
515
  {
519
516
  "$ref": "./_Identifier.schema.json#/$defs/AmmunitionIdentifier"
520
517
  },
@@ -542,6 +539,9 @@
542
539
  {
543
540
  "$ref": "./_Identifier.schema.json#/$defs/ContainerIdentifier"
544
541
  },
542
+ {
543
+ "$ref": "./_Identifier.schema.json#/$defs/ElixirIdentifier"
544
+ },
545
545
  {
546
546
  "$ref": "./_Identifier.schema.json#/$defs/EquipmentOfBlessedOnesIdentifier"
547
547
  },
@@ -161,6 +161,25 @@
161
161
  },
162
162
  "PoisonDuration": {
163
163
  "oneOf": [
164
+ {
165
+ "type": "object",
166
+ "properties": {
167
+ "tag": {
168
+ "const": "Instant"
169
+ },
170
+ "instant": {
171
+ "type": "object",
172
+ "properties": {},
173
+ "required": [],
174
+ "additionalProperties": false
175
+ }
176
+ },
177
+ "required": [
178
+ "tag",
179
+ "instant"
180
+ ],
181
+ "additionalProperties": false
182
+ },
164
183
  {
165
184
  "type": "object",
166
185
  "properties": {
@@ -790,6 +809,10 @@
790
809
  "description": "The normal and degraded poison's effects.",
791
810
  "$ref": "../../_DiseasePoison.schema.json#/$defs/Reduceable"
792
811
  },
812
+ "notes": {
813
+ "description": "Notes on the poison's special features.",
814
+ "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
815
+ },
793
816
  "errata": {
794
817
  "$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
795
818
  }
@@ -15,7 +15,7 @@
15
15
  "$ref": "./_Item.schema.json#/$defs/Weight"
16
16
  },
17
17
  "complexity": {
18
- "description": "The complexity of crafting the item, if any.",
18
+ "description": "The complexity of crafting the item.",
19
19
  "$ref": "./_Item.schema.json#/$defs/Complexity"
20
20
  },
21
21
  "structure_points": {
@@ -64,6 +64,7 @@
64
64
  "required": [
65
65
  "cost",
66
66
  "weight",
67
+ "complexity",
67
68
  "uses",
68
69
  "src",
69
70
  "translations"
@@ -1,7 +0,0 @@
1
- /**
2
- * @main Alchemicum
3
- */
4
- import { TypeConfig } from "../../../typeConfig.js";
5
- import { DefaultItem } from "./_Item.js";
6
- export type Alchemicum = DefaultItem;
7
- export declare const config: TypeConfig<Alchemicum>;
@@ -1,14 +0,0 @@
1
- /**
2
- * @main Alchemicum
3
- */
4
- import { todo } from "../../../validation/builders/integrity.js";
5
- import { validateEntityFileName } from "../../../validation/builders/naming.js";
6
- import { createSchemaValidator } from "../../../validation/builders/schema.js";
7
- import { getFilenamePrefixAsNumericId } from "../../../validation/filename.js";
8
- export const config = {
9
- name: "Alchemicum",
10
- id: getFilenamePrefixAsNumericId,
11
- integrityValidator: todo("Alchemicum"),
12
- schemaValidator: createSchemaValidator(import.meta.url),
13
- fileNameValidator: validateEntityFileName,
14
- };
@@ -1,10 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "/equipment/item/Alchemicum.schema.json",
4
- "$ref": "#/$defs/Alchemicum",
5
- "$defs": {
6
- "Alchemicum": {
7
- "$ref": "./_Item.schema.json#/$defs/DefaultItem"
8
- }
9
- }
10
- }