optolith-database-schema 0.13.8 → 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 +19 -0
- package/lib/config/types.d.ts +0 -3
- package/lib/config/types.js +0 -2
- package/lib/types/_Identifier.d.ts +9 -9
- package/lib/types/_IdentifierGroup.d.ts +1 -1
- package/lib/types/equipment/item/Poison.d.ts +7 -0
- package/lib/types/equipment/item/Weapon.d.ts +2 -2
- package/package.json +1 -1
- package/schema/_Identifier.schema.json +18 -18
- package/schema/_IdentifierGroup.schema.json +3 -3
- package/schema/equipment/item/Poison.schema.json +23 -0
- package/schema/equipment/item/Weapon.schema.json +2 -1
- package/lib/types/equipment/item/Alchemicum.d.ts +0 -7
- package/lib/types/equipment/item/Alchemicum.js +0 -14
- package/schema/equipment/item/Alchemicum.schema.json +0 -10
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,25 @@
|
|
|
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
|
+
|
|
5
24
|
### [0.13.8](https://github.com/elyukai/optolith-database-schema/compare/v0.13.7...v0.13.8) (2023-12-07)
|
|
6
25
|
|
|
7
26
|
### [0.13.7](https://github.com/elyukai/optolith-database-schema/compare/v0.13.6...v0.13.7) (2023-12-05)
|
package/lib/config/types.d.ts
CHANGED
|
@@ -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>;
|
package/lib/config/types.js
CHANGED
|
@@ -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.
|
|
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
|
|
23
|
+
* The complexity of crafting the item.
|
|
24
24
|
*/
|
|
25
|
-
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.
|
|
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",
|
|
@@ -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
|
|
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,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
|
-
};
|