optolith-database-schema 0.34.10 → 0.34.12
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 +14 -0
- package/gen/types.d.ts +57 -4
- package/lib/main.js +1 -0
- package/lib/types/_Identifier.d.ts +1 -0
- package/lib/types/_Identifier.js +2 -0
- package/lib/types/_IdentifierGroup.d.ts +1 -0
- package/lib/types/_IdentifierGroup.js +2 -1
- package/lib/types/equipment/EquipmentPackage.d.ts +1 -0
- package/lib/types/equipment/item/Book.d.ts +2 -2
- package/lib/types/equipment/item/Book.js +4 -4
- package/lib/types/equipment/item/WorkingSupernaturalCreature.d.ts +72 -0
- package/lib/types/equipment/item/WorkingSupernaturalCreature.js +44 -0
- package/lib/types/index.d.ts +2 -1
- package/lib/types/index.js +2 -1
- package/package.json +4 -4
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 [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [0.34.12](https://github.com/elyukai/optolith-database-schema/compare/v0.34.11...v0.34.12) (2026-03-10)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* optional language and script for books ([3239e09](https://github.com/elyukai/optolith-database-schema/commit/3239e095392ff91811956ad8f9f022e057fa9763))
|
|
11
|
+
|
|
12
|
+
## [0.34.11](https://github.com/elyukai/optolith-database-schema/compare/v0.34.10...v0.34.11) (2026-03-10)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* working supernatural creature entity ([f8a174e](https://github.com/elyukai/optolith-database-schema/commit/f8a174efad6dc46e83efd9d6e33155de435e6569))
|
|
18
|
+
|
|
5
19
|
## [0.34.10](https://github.com/elyukai/optolith-database-schema/compare/v0.34.9...v0.34.10) (2026-03-10)
|
|
6
20
|
|
|
7
21
|
|
package/gen/types.d.ts
CHANGED
|
@@ -174,6 +174,7 @@ export type EntityMap = {
|
|
|
174
174
|
Weapon: Weapon
|
|
175
175
|
WeaponAccessory: WeaponAccessory
|
|
176
176
|
WeaponEnchantment: WeaponEnchantment
|
|
177
|
+
WorkingSupernaturalCreature: WorkingSupernaturalCreature
|
|
177
178
|
ZibiljaRitual: ZibiljaRitual
|
|
178
179
|
}
|
|
179
180
|
|
|
@@ -20009,14 +20010,14 @@ export interface BookTranslation {
|
|
|
20009
20010
|
secondary_name?: string
|
|
20010
20011
|
|
|
20011
20012
|
/**
|
|
20012
|
-
* The language the book is written in.
|
|
20013
|
+
* The language the book is written in, if specified.
|
|
20013
20014
|
*/
|
|
20014
|
-
language
|
|
20015
|
+
language?: string
|
|
20015
20016
|
|
|
20016
20017
|
/**
|
|
20017
|
-
* The script that was used for the book.
|
|
20018
|
+
* The script that was used for the book, if specified.
|
|
20018
20019
|
*/
|
|
20019
|
-
script
|
|
20020
|
+
script?: string
|
|
20020
20021
|
|
|
20021
20022
|
/**
|
|
20022
20023
|
* Note text.
|
|
@@ -21431,6 +21432,10 @@ export type EquipmentIdentifier =
|
|
|
21431
21432
|
kind: "WeaponAccessory"
|
|
21432
21433
|
WeaponAccessory: WeaponAccessory_ID
|
|
21433
21434
|
}
|
|
21435
|
+
| {
|
|
21436
|
+
kind: "WorkingSupernaturalCreature"
|
|
21437
|
+
WorkingSupernaturalCreature: WorkingSupernaturalCreature_ID
|
|
21438
|
+
}
|
|
21434
21439
|
|
|
21435
21440
|
export interface GemOrPreciousStone {
|
|
21436
21441
|
/**
|
|
@@ -23249,6 +23254,54 @@ export interface WeaponAccessoryTranslation {
|
|
|
23249
23254
|
errata?: Errata
|
|
23250
23255
|
}
|
|
23251
23256
|
|
|
23257
|
+
export interface WorkingSupernaturalCreature {
|
|
23258
|
+
/**
|
|
23259
|
+
* The cost in silverthalers.
|
|
23260
|
+
*/
|
|
23261
|
+
cost: Cost
|
|
23262
|
+
|
|
23263
|
+
/**
|
|
23264
|
+
* References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
|
|
23265
|
+
*/
|
|
23266
|
+
src: PublicationRefs
|
|
23267
|
+
|
|
23268
|
+
/**
|
|
23269
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
23270
|
+
*/
|
|
23271
|
+
translations: {
|
|
23272
|
+
[localeId: string]: WorkingSupernaturalCreatureTranslation
|
|
23273
|
+
}
|
|
23274
|
+
}
|
|
23275
|
+
|
|
23276
|
+
/**
|
|
23277
|
+
* The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
|
|
23278
|
+
*/
|
|
23279
|
+
export type WorkingSupernaturalCreature_ID = string
|
|
23280
|
+
|
|
23281
|
+
export interface WorkingSupernaturalCreatureTranslation {
|
|
23282
|
+
/**
|
|
23283
|
+
* The working creature’s name.
|
|
23284
|
+
*/
|
|
23285
|
+
name: string
|
|
23286
|
+
|
|
23287
|
+
/**
|
|
23288
|
+
* The working creature’s appearance.
|
|
23289
|
+
*/
|
|
23290
|
+
appearance: string
|
|
23291
|
+
|
|
23292
|
+
/**
|
|
23293
|
+
* The working creature’s components.
|
|
23294
|
+
*/
|
|
23295
|
+
components: string
|
|
23296
|
+
|
|
23297
|
+
/**
|
|
23298
|
+
* The working creature’s use.
|
|
23299
|
+
*/
|
|
23300
|
+
use: string
|
|
23301
|
+
|
|
23302
|
+
errata?: Errata
|
|
23303
|
+
}
|
|
23304
|
+
|
|
23252
23305
|
export interface FamiliarsTrick {
|
|
23253
23306
|
/**
|
|
23254
23307
|
* The animal types this trick is available to. Either it is available to all or only a list of specific animal types.
|
package/lib/main.js
CHANGED
|
@@ -163,4 +163,5 @@ export declare const WandEnchantmentIdentifier: () => R;
|
|
|
163
163
|
export declare const WeaponAccessoryIdentifier: () => R;
|
|
164
164
|
export declare const WeaponEnchantmentIdentifier: () => R;
|
|
165
165
|
export declare const WeaponIdentifier: () => R;
|
|
166
|
+
export declare const WorkingSupernaturalCreatureIdentifier: () => R;
|
|
166
167
|
export declare const ZibiljaRitualIdentifier: () => R;
|
package/lib/types/_Identifier.js
CHANGED
|
@@ -52,6 +52,7 @@ import { TravelGearOrTool } from "./equipment/item/TravelGearOrTool.js";
|
|
|
52
52
|
import { Vehicle } from "./equipment/item/Vehicle.js";
|
|
53
53
|
import { Weapon } from "./equipment/item/Weapon.js";
|
|
54
54
|
import { WeaponAccessory } from "./equipment/item/WeaponAccessory.js";
|
|
55
|
+
import { WorkingSupernaturalCreature } from "./equipment/item/WorkingSupernaturalCreature.js";
|
|
55
56
|
import { ExperienceLevel } from "./ExperienceLevel.js";
|
|
56
57
|
import { EyeColor } from "./EyeColor.js";
|
|
57
58
|
import { HairColor } from "./HairColor.js";
|
|
@@ -314,4 +315,5 @@ export const WandEnchantmentIdentifier = () => R(WandEnchantment);
|
|
|
314
315
|
export const WeaponAccessoryIdentifier = () => R(WeaponAccessory);
|
|
315
316
|
export const WeaponEnchantmentIdentifier = () => R(WeaponEnchantment);
|
|
316
317
|
export const WeaponIdentifier = () => R(Weapon);
|
|
318
|
+
export const WorkingSupernaturalCreatureIdentifier = () => R(WorkingSupernaturalCreature);
|
|
317
319
|
export const ZibiljaRitualIdentifier = () => R(ZibiljaRitual);
|
|
@@ -345,6 +345,7 @@ export declare const EquipmentIdentifier: DB.Enum<"EquipmentIdentifier", {
|
|
|
345
345
|
Vehicle: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
346
346
|
Weapon: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
347
347
|
WeaponAccessory: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
348
|
+
WorkingSupernaturalCreature: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
348
349
|
}, []>;
|
|
349
350
|
export declare const AdvancedSkillStyleSpecialAbilityIdentifier: DB.Enum<"AdvancedSkillStyleSpecialAbilityIdentifier", {
|
|
350
351
|
AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
-
import { AdvancedCombatSpecialAbilityIdentifier, AdvancedKarmaSpecialAbilityIdentifier, AdvancedMagicalSpecialAbilityIdentifier, AdvancedSkillSpecialAbilityIdentifier, AdvantageIdentifier, AmmunitionIdentifier, AncestorGlyphIdentifier, AnimalCareIdentifier, AnimalIdentifier, AnimalShapeIdentifier, AnimalShapeSizeIdentifier, AnimistPowerIdentifier, ArcaneBardTraditionIdentifier, ArcaneDancerTraditionIdentifier, ArcaneOrbEnchantmentIdentifier, ArmorIdentifier, AspectIdentifier, AttireEnchantmentIdentifier, AttributeIdentifier, BandageOrRemedyIdentifier, BeutelzauberIdentifier, BlessedTraditionIdentifier, BlessingIdentifier, BookIdentifier, BowlEnchantmentIdentifier, BrawlingSpecialAbilityIdentifier, CantripIdentifier, CauldronEnchantmentIdentifier, CeremonialItemIdentifier, CeremonialItemSpecialAbilityIdentifier, CeremonyIdentifier, ChronicleEnchantmentIdentifier, CloseCombatTechniqueIdentifier, ClothesIdentifier, ClothingPackageIdentifier, CombatSpecialAbilityIdentifier, CombatStyleSpecialAbilityIdentifier, CommandSpecialAbilityIdentifier, ContainerIdentifier, CultureIdentifier, CurseIdentifier, DaggerRitualIdentifier, DisadvantageIdentifier, DiseaseIdentifier, DominationRitualIdentifier, ElementIdentifier, ElixirIdentifier, ElvenMagicalSongIdentifier, EquipmentOfBlessedOnesIdentifier, FamiliarSpecialAbilityIdentifier, FatePointSexSpecialAbilityIdentifier, FatePointSpecialAbilityIdentifier, FocusRuleIdentifier, FoolsHatEnchantmentIdentifier, GemOrPreciousStoneIdentifier, GeneralIdentifier, GeneralSpecialAbilityIdentifier, GeodeRitualIdentifier, HaubenzauberIdentifier, IlluminationLightSourceIdentifier, IlluminationRefillOrSupplyIdentifier, InstrumentEnchantmentIdentifier, JesterTrickIdentifier, JewelryIdentifier, KarmaSpecialAbilityIdentifier, KrallenkettenzauberIdentifier, KristallkugelzauberIdentifier, LaboratoryIdentifier, LanguageIdentifier, LiebesspielzeugIdentifier, LiturgicalChantIdentifier, LiturgicalStyleSpecialAbilityIdentifier, LuxuryGoodIdentifier, LycantropicGiftIdentifier, MagicalArtifactIdentifier, MagicalDanceIdentifier, MagicalMelodyIdentifier, MagicalRuneIdentifier, MagicalSignIdentifier, MagicalSpecialAbilityIdentifier, MagicalTraditionIdentifier, MagicStyleSpecialAbilityIdentifier, MusicalInstrumentIdentifier, NewspaperIdentifier, OptionalRuleIdentifier, OrbEnchantmentIdentifier, OrienteeringAidIdentifier, PactGiftIdentifier, PatronIdentifier, PoisonIdentifier, PropertyIdentifier, ProtectiveWardingCircleSpecialAbilityIdentifier, RaceIdentifier, RangedCombatTechniqueIdentifier, RingEnchantmentIdentifier, RitualIdentifier, RopeOrChainIdentifier, ScriptIdentifier, SermonIdentifier, SexPracticeIdentifier, SexSpecialAbilityIdentifier, SickleRitualIdentifier, SikaryanDrainSpecialAbilityIdentifier, SkillApplicationIdentifier, SkillIdentifier, SkillStyleSpecialAbilityIdentifier, SpellIdentifier, SpellSwordEnchantmentIdentifier, StaffEnchantmentIdentifier, StationeryIdentifier, TargetCategoryIdentifier, ThievesToolIdentifier, ToolOfTheTradeIdentifier, ToyEnchantmentIdentifier, TradeSecretIdentifier, TravelGearOrToolIdentifier, TrinkhornzauberIdentifier, VampiricGiftIdentifier, VehicleIdentifier, VisionIdentifier, WandEnchantmentIdentifier, WeaponAccessoryIdentifier, WeaponEnchantmentIdentifier, WeaponIdentifier, ZibiljaRitualIdentifier, } from "./_Identifier.js";
|
|
2
|
+
import { AdvancedCombatSpecialAbilityIdentifier, AdvancedKarmaSpecialAbilityIdentifier, AdvancedMagicalSpecialAbilityIdentifier, AdvancedSkillSpecialAbilityIdentifier, AdvantageIdentifier, AmmunitionIdentifier, AncestorGlyphIdentifier, AnimalCareIdentifier, AnimalIdentifier, AnimalShapeIdentifier, AnimalShapeSizeIdentifier, AnimistPowerIdentifier, ArcaneBardTraditionIdentifier, ArcaneDancerTraditionIdentifier, ArcaneOrbEnchantmentIdentifier, ArmorIdentifier, AspectIdentifier, AttireEnchantmentIdentifier, AttributeIdentifier, BandageOrRemedyIdentifier, BeutelzauberIdentifier, BlessedTraditionIdentifier, BlessingIdentifier, BookIdentifier, BowlEnchantmentIdentifier, BrawlingSpecialAbilityIdentifier, CantripIdentifier, CauldronEnchantmentIdentifier, CeremonialItemIdentifier, CeremonialItemSpecialAbilityIdentifier, CeremonyIdentifier, ChronicleEnchantmentIdentifier, CloseCombatTechniqueIdentifier, ClothesIdentifier, ClothingPackageIdentifier, CombatSpecialAbilityIdentifier, CombatStyleSpecialAbilityIdentifier, CommandSpecialAbilityIdentifier, ContainerIdentifier, CultureIdentifier, CurseIdentifier, DaggerRitualIdentifier, DisadvantageIdentifier, DiseaseIdentifier, DominationRitualIdentifier, ElementIdentifier, ElixirIdentifier, ElvenMagicalSongIdentifier, EquipmentOfBlessedOnesIdentifier, FamiliarSpecialAbilityIdentifier, FatePointSexSpecialAbilityIdentifier, FatePointSpecialAbilityIdentifier, FocusRuleIdentifier, FoolsHatEnchantmentIdentifier, GemOrPreciousStoneIdentifier, GeneralIdentifier, GeneralSpecialAbilityIdentifier, GeodeRitualIdentifier, HaubenzauberIdentifier, IlluminationLightSourceIdentifier, IlluminationRefillOrSupplyIdentifier, InstrumentEnchantmentIdentifier, JesterTrickIdentifier, JewelryIdentifier, KarmaSpecialAbilityIdentifier, KrallenkettenzauberIdentifier, KristallkugelzauberIdentifier, LaboratoryIdentifier, LanguageIdentifier, LiebesspielzeugIdentifier, LiturgicalChantIdentifier, LiturgicalStyleSpecialAbilityIdentifier, LuxuryGoodIdentifier, LycantropicGiftIdentifier, MagicalArtifactIdentifier, MagicalDanceIdentifier, MagicalMelodyIdentifier, MagicalRuneIdentifier, MagicalSignIdentifier, MagicalSpecialAbilityIdentifier, MagicalTraditionIdentifier, MagicStyleSpecialAbilityIdentifier, MusicalInstrumentIdentifier, NewspaperIdentifier, OptionalRuleIdentifier, OrbEnchantmentIdentifier, OrienteeringAidIdentifier, PactGiftIdentifier, PatronIdentifier, PoisonIdentifier, PropertyIdentifier, ProtectiveWardingCircleSpecialAbilityIdentifier, RaceIdentifier, RangedCombatTechniqueIdentifier, RingEnchantmentIdentifier, RitualIdentifier, RopeOrChainIdentifier, ScriptIdentifier, SermonIdentifier, SexPracticeIdentifier, SexSpecialAbilityIdentifier, SickleRitualIdentifier, SikaryanDrainSpecialAbilityIdentifier, SkillApplicationIdentifier, SkillIdentifier, SkillStyleSpecialAbilityIdentifier, SpellIdentifier, SpellSwordEnchantmentIdentifier, StaffEnchantmentIdentifier, StationeryIdentifier, TargetCategoryIdentifier, ThievesToolIdentifier, ToolOfTheTradeIdentifier, ToyEnchantmentIdentifier, TradeSecretIdentifier, TravelGearOrToolIdentifier, TrinkhornzauberIdentifier, VampiricGiftIdentifier, VehicleIdentifier, VisionIdentifier, WandEnchantmentIdentifier, WeaponAccessoryIdentifier, WeaponEnchantmentIdentifier, WeaponIdentifier, WorkingSupernaturalCreatureIdentifier, ZibiljaRitualIdentifier, } from "./_Identifier.js";
|
|
3
3
|
export const ActivatableIdentifier = DB.Enum(import.meta.url, {
|
|
4
4
|
name: "ActivatableIdentifier",
|
|
5
5
|
values: () => ({
|
|
@@ -305,6 +305,7 @@ export const EquipmentIdentifier = DB.Enum(import.meta.url, {
|
|
|
305
305
|
Vehicle: DB.EnumCase({ type: VehicleIdentifier() }),
|
|
306
306
|
Weapon: DB.EnumCase({ type: WeaponIdentifier() }),
|
|
307
307
|
WeaponAccessory: DB.EnumCase({ type: WeaponAccessoryIdentifier() }),
|
|
308
|
+
WorkingSupernaturalCreature: DB.EnumCase({ type: WorkingSupernaturalCreatureIdentifier() }),
|
|
308
309
|
}),
|
|
309
310
|
});
|
|
310
311
|
export const AdvancedSkillStyleSpecialAbilityIdentifier = DB.Enum(import.meta.url, {
|
|
@@ -34,6 +34,7 @@ export declare const EquipmentPackage: DB.Entity<"EquipmentPackage", {
|
|
|
34
34
|
Vehicle: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
35
35
|
Weapon: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
36
36
|
WeaponAccessory: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
37
|
+
WorkingSupernaturalCreature: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
37
38
|
}, []>>, true>;
|
|
38
39
|
number: DB.MemberDecl<DB.Integer, false>;
|
|
39
40
|
}>, []>>>, false>;
|
|
@@ -132,8 +132,8 @@ export declare const Book: DB.Entity<"Book", {
|
|
|
132
132
|
translations: DB.MemberDecl<DB.NestedEntityMap<"BookTranslation", {
|
|
133
133
|
name: DB.MemberDecl<DB.String, true>;
|
|
134
134
|
secondary_name: DB.MemberDecl<DB.String, false>;
|
|
135
|
-
language: DB.MemberDecl<DB.String,
|
|
136
|
-
script: DB.MemberDecl<DB.String,
|
|
135
|
+
language: DB.MemberDecl<DB.String, false>;
|
|
136
|
+
script: DB.MemberDecl<DB.String, false>;
|
|
137
137
|
note: DB.MemberDecl<DB.String, false>;
|
|
138
138
|
rules: DB.MemberDecl<DB.String, false>;
|
|
139
139
|
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
@@ -38,12 +38,12 @@ export const Book = DB.Entity(import.meta.url, {
|
|
|
38
38
|
comment: "An auxiliary name or label of the item, if available.",
|
|
39
39
|
type: DB.String({ minLength: 1 }),
|
|
40
40
|
}),
|
|
41
|
-
language: DB.
|
|
42
|
-
comment: "The language the book is written in.",
|
|
41
|
+
language: DB.Optional({
|
|
42
|
+
comment: "The language the book is written in, if specified.",
|
|
43
43
|
type: DB.String({ minLength: 1, isMarkdown: true }),
|
|
44
44
|
}),
|
|
45
|
-
script: DB.
|
|
46
|
-
comment: "The script that was used for the book.",
|
|
45
|
+
script: DB.Optional({
|
|
46
|
+
comment: "The script that was used for the book, if specified.",
|
|
47
47
|
type: DB.String({ minLength: 1, isMarkdown: true }),
|
|
48
48
|
}),
|
|
49
49
|
note: DB.Optional({
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const WorkingSupernaturalCreature: DB.Entity<"WorkingSupernaturalCreature", {
|
|
3
|
+
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Cost", {
|
|
4
|
+
Free: DB.EnumCase<null>;
|
|
5
|
+
Various: DB.EnumCase<null>;
|
|
6
|
+
Invaluable: DB.EnumCase<null>;
|
|
7
|
+
Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedCost", DB.Object<{
|
|
8
|
+
value: DB.MemberDecl<DB.Float, true>;
|
|
9
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"FixedCostTranslation", {
|
|
10
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
11
|
+
}>, false>;
|
|
12
|
+
}>, []>>>;
|
|
13
|
+
Range: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CostRange", DB.Object<{
|
|
14
|
+
from: DB.MemberDecl<DB.Float, true>;
|
|
15
|
+
to: DB.MemberDecl<DB.Float, true>;
|
|
16
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"CostRangeTranslation", {
|
|
17
|
+
wrap_in_text: DB.MemberDecl<DB.String, true>;
|
|
18
|
+
}>, false>;
|
|
19
|
+
}>, []>>>;
|
|
20
|
+
}, []>>, true>;
|
|
21
|
+
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
22
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
23
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
24
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
25
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
26
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
27
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
28
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
29
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
30
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
31
|
+
}, []>>, true>;
|
|
32
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
33
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
34
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
35
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
36
|
+
}, []>>, false>;
|
|
37
|
+
}>, []>>>, true>;
|
|
38
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
39
|
+
}>, []>>, true>;
|
|
40
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
41
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
42
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
43
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
44
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
45
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
46
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
47
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
48
|
+
}, []>>, true>;
|
|
49
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
50
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
51
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
52
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
53
|
+
}, []>>, false>;
|
|
54
|
+
}>, []>>>, true>;
|
|
55
|
+
}>, []>>>;
|
|
56
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
57
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
58
|
+
}>, []>>>;
|
|
59
|
+
}, []>>>, false>;
|
|
60
|
+
}>, true>;
|
|
61
|
+
}>, []>>>, []>>, true>;
|
|
62
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"WorkingSupernaturalCreatureTranslation", {
|
|
63
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
64
|
+
appearance: DB.MemberDecl<DB.String, true>;
|
|
65
|
+
components: DB.MemberDecl<DB.String, true>;
|
|
66
|
+
use: DB.MemberDecl<DB.String, true>;
|
|
67
|
+
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
68
|
+
date: DB.MemberDecl<DB.Date, true>;
|
|
69
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
70
|
+
}>, []>>>, []>>, false>;
|
|
71
|
+
}>, true>;
|
|
72
|
+
}, undefined>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { NestedTranslationMap } from "../../Locale.js";
|
|
3
|
+
import { Errata } from "../../source/_Erratum.js";
|
|
4
|
+
import { src } from "../../source/_PublicationRef.js";
|
|
5
|
+
import { Cost } from "./_Item.js";
|
|
6
|
+
export const WorkingSupernaturalCreature = DB.Entity(import.meta.url, {
|
|
7
|
+
name: "WorkingSupernaturalCreature",
|
|
8
|
+
namePlural: "WorkingSupernaturalCreatures",
|
|
9
|
+
type: () => DB.Object({
|
|
10
|
+
cost: DB.Required({
|
|
11
|
+
comment: "The cost in silverthalers.",
|
|
12
|
+
type: DB.IncludeIdentifier(Cost),
|
|
13
|
+
}),
|
|
14
|
+
src,
|
|
15
|
+
translations: NestedTranslationMap(DB.Required, "WorkingSupernaturalCreature", DB.Object({
|
|
16
|
+
name: DB.Required({
|
|
17
|
+
comment: "The working creature’s name.",
|
|
18
|
+
type: DB.String({ minLength: 1 }),
|
|
19
|
+
}),
|
|
20
|
+
appearance: DB.Required({
|
|
21
|
+
comment: "The working creature’s appearance.",
|
|
22
|
+
type: DB.String({ minLength: 1 }),
|
|
23
|
+
}),
|
|
24
|
+
components: DB.Required({
|
|
25
|
+
comment: "The working creature’s components.",
|
|
26
|
+
type: DB.String({ minLength: 1 }),
|
|
27
|
+
}),
|
|
28
|
+
use: DB.Required({
|
|
29
|
+
comment: "The working creature’s use.",
|
|
30
|
+
type: DB.String({ minLength: 1 }),
|
|
31
|
+
}),
|
|
32
|
+
errata: DB.Optional({
|
|
33
|
+
type: DB.IncludeIdentifier(Errata),
|
|
34
|
+
}),
|
|
35
|
+
})),
|
|
36
|
+
}),
|
|
37
|
+
instanceDisplayName: {},
|
|
38
|
+
uniqueConstraints: [
|
|
39
|
+
{
|
|
40
|
+
entityMapKeyPath: "translations",
|
|
41
|
+
keyPathInEntityMap: "name",
|
|
42
|
+
},
|
|
43
|
+
],
|
|
44
|
+
});
|
package/lib/types/index.d.ts
CHANGED
|
@@ -51,10 +51,12 @@ export { TravelGearOrTool } from "./equipment/item/TravelGearOrTool.js";
|
|
|
51
51
|
export { Vehicle } from "./equipment/item/Vehicle.js";
|
|
52
52
|
export { Weapon } from "./equipment/item/Weapon.js";
|
|
53
53
|
export { WeaponAccessory } from "./equipment/item/WeaponAccessory.js";
|
|
54
|
+
export { WorkingSupernaturalCreature } from "./equipment/item/WorkingSupernaturalCreature.ts";
|
|
54
55
|
export { ExperienceLevel } from "./ExperienceLevel.js";
|
|
55
56
|
export { EyeColor } from "./EyeColor.js";
|
|
56
57
|
export { FamiliarsTrick } from "./FamiliarsTrick.js";
|
|
57
58
|
export { HairColor } from "./HairColor.js";
|
|
59
|
+
export { HomunculusType } from "./HomunculusType.js";
|
|
58
60
|
export { Curriculum, Guideline, LessonPackage } from "./Lessons.js";
|
|
59
61
|
export { LiturgicalChant } from "./LiturgicalChant.js";
|
|
60
62
|
export { Locale } from "./Locale.js";
|
|
@@ -71,7 +73,6 @@ export { MagicalRune } from "./magicalActions/MagicalRune.js";
|
|
|
71
73
|
export { ZibiljaRitual } from "./magicalActions/ZibiljaRitual.js";
|
|
72
74
|
export { MetaCondition } from "./MetaCondition.js";
|
|
73
75
|
export { PactCategory } from "./PactCategory.js";
|
|
74
|
-
export { HomunculusType } from "./HomunculusType.js";
|
|
75
76
|
export { Patron } from "./Patron.js";
|
|
76
77
|
export { PatronCategory } from "./PatronCategory.js";
|
|
77
78
|
export { PersonalityTrait } from "./PersonalityTrait.js";
|
package/lib/types/index.js
CHANGED
|
@@ -51,10 +51,12 @@ export { TravelGearOrTool } from "./equipment/item/TravelGearOrTool.js";
|
|
|
51
51
|
export { Vehicle } from "./equipment/item/Vehicle.js";
|
|
52
52
|
export { Weapon } from "./equipment/item/Weapon.js";
|
|
53
53
|
export { WeaponAccessory } from "./equipment/item/WeaponAccessory.js";
|
|
54
|
+
export { WorkingSupernaturalCreature } from "./equipment/item/WorkingSupernaturalCreature.js";
|
|
54
55
|
export { ExperienceLevel } from "./ExperienceLevel.js";
|
|
55
56
|
export { EyeColor } from "./EyeColor.js";
|
|
56
57
|
export { FamiliarsTrick } from "./FamiliarsTrick.js";
|
|
57
58
|
export { HairColor } from "./HairColor.js";
|
|
59
|
+
export { HomunculusType } from "./HomunculusType.js";
|
|
58
60
|
export { Curriculum, Guideline, LessonPackage } from "./Lessons.js";
|
|
59
61
|
export { LiturgicalChant } from "./LiturgicalChant.js";
|
|
60
62
|
export { Locale } from "./Locale.js";
|
|
@@ -71,7 +73,6 @@ export { MagicalRune } from "./magicalActions/MagicalRune.js";
|
|
|
71
73
|
export { ZibiljaRitual } from "./magicalActions/ZibiljaRitual.js";
|
|
72
74
|
export { MetaCondition } from "./MetaCondition.js";
|
|
73
75
|
export { PactCategory } from "./PactCategory.js";
|
|
74
|
-
export { HomunculusType } from "./HomunculusType.js";
|
|
75
76
|
export { Patron } from "./Patron.js";
|
|
76
77
|
export { PatronCategory } from "./PatronCategory.js";
|
|
77
78
|
export { PersonalityTrait } from "./PersonalityTrait.js";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "optolith-database-schema",
|
|
3
|
-
"version": "0.34.
|
|
3
|
+
"version": "0.34.12",
|
|
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",
|
|
@@ -39,19 +39,19 @@
|
|
|
39
39
|
"license": "MPL-2.0",
|
|
40
40
|
"dependencies": {
|
|
41
41
|
"@elyukai/utils": "^0.3.0",
|
|
42
|
-
"tsondb": "^0.19.
|
|
42
|
+
"tsondb": "^0.19.18",
|
|
43
43
|
"yaml": "^2.8.2"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
46
|
"@eslint/js": "^10.0.1",
|
|
47
|
-
"@types/node": "^25.
|
|
47
|
+
"@types/node": "^25.4.0",
|
|
48
48
|
"commit-and-tag-version": "^12.6.1",
|
|
49
49
|
"eslint": "^10.0.3",
|
|
50
50
|
"globals": "^17.4.0",
|
|
51
51
|
"nodemon": "^3.1.14",
|
|
52
52
|
"prettier": "^3.8.1",
|
|
53
53
|
"typescript": "^5.9.3",
|
|
54
|
-
"typescript-eslint": "^8.
|
|
54
|
+
"typescript-eslint": "^8.57.0"
|
|
55
55
|
},
|
|
56
56
|
"repository": "github:elyukai/optolith-database-schema",
|
|
57
57
|
"bugs": {
|