optolith-database-schema 0.30.0 → 0.31.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,30 @@
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.31.0](https://github.com/elyukai/optolith-database-schema/compare/v0.30.1...v0.31.0) (2026-02-14)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * use correct entity names in identifier groups
11
+
12
+ ### Features
13
+
14
+ * add some translations for equipment ([3fa1060](https://github.com/elyukai/optolith-database-schema/commit/3fa10600c26c6c82cbbed08a8cca6114d6feeeee))
15
+ * locale measurement adjustments ([9040013](https://github.com/elyukai/optolith-database-schema/commit/9040013a844b33a707b7d0f8d804f24a2bfb1325))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * use correct entity names in identifier groups ([b46029d](https://github.com/elyukai/optolith-database-schema/commit/b46029da1e0520cbe99f3665a928868648e027ca))
21
+
22
+ ## [0.30.1](https://github.com/elyukai/optolith-database-schema/compare/v0.30.0...v0.30.1) (2026-02-13)
23
+
24
+
25
+ ### Features
26
+
27
+ * add translations for curricula ([7da65cf](https://github.com/elyukai/optolith-database-schema/commit/7da65cf3b8015be63dccf93137dfa4cc97ed1d24))
28
+
5
29
  ## [0.30.0](https://github.com/elyukai/optolith-database-schema/compare/v0.29.1...v0.30.0) (2026-02-12)
6
30
 
7
31
 
package/gen/types.d.ts CHANGED
@@ -637,6 +637,7 @@ export type TypeAliasMap = {
637
637
  LiturgiesOptions: LiturgiesOptions
638
638
  LiturgyPrerequisites: LiturgyPrerequisites
639
639
  LiturgyTraditionWithAspects: LiturgyTraditionWithAspects
640
+ LocaleMeasurementAdjustments: LocaleMeasurementAdjustments
640
641
  MagicalDancePerformanceParameters: MagicalDancePerformanceParameters
641
642
  MagicalMelodyPerformanceParameters: MagicalMelodyPerformanceParameters
642
643
  MagicalProfessionGroup: MagicalProfessionGroup
@@ -1097,6 +1098,11 @@ export interface Locale {
1097
1098
  */
1098
1099
  is_missing_implementation: boolean
1099
1100
 
1101
+ /**
1102
+ * Measurement adjustments for units used in the locale.
1103
+ */
1104
+ measurementAdjustments?: LocaleMeasurementAdjustments
1105
+
1100
1106
  /**
1101
1107
  * The translations strings for the locale.
1102
1108
  */
@@ -2261,6 +2267,29 @@ export interface Locale {
2261
2267
  "{$cost} (activation) + {$halvedCost} per {$interval}": string & { __params: { "cost": StringableTranslationParameter; "halvedCost": StringableTranslationParameter; "interval": StringableTranslationParameter } }
2262
2268
  "Variable": string
2263
2269
  "{$value} permanent AE": string & { __params: { "value": StringableTranslationParameter } }
2270
+ "Guideline": string
2271
+ "Elective Spellworks Package": string
2272
+ "Restricted Spellworks": string
2273
+ "All, at the GM’s discretion": string
2274
+ ".input {$count :number} {{only {$count} additional spellworks with the Property {$property}}}": string & { __params: { "count": number; "property": StringableTranslationParameter } }
2275
+ "no spellworks with the Property {$property}": string & { __params: { "property": StringableTranslationParameter } }
2276
+ "Demon Summoning": string
2277
+ "the following spells are not taught: {$spells}": string & { __params: { "spells": StringableTranslationParameter } }
2278
+ "no Borbaradian spellworks": string
2279
+ "no spellworks that inflict DP or sDP on intelligent creatures": string
2280
+ "Spellwork Changes": string
2281
+ "Skills (+)": string
2282
+ "Skills (−)": string
2283
+ "{$replacement} instead of {$base}": string & { __params: { "replacement": StringableTranslationParameter; "base": StringableTranslationParameter } }
2284
+ "Clothing Package {$socialStatus}": string & { __params: { "socialStatus": StringableTranslationParameter } }
2285
+ "Cost": string
2286
+ "Total": string
2287
+ ".input {$value :number} {{{$value} pounds}}": string & { __params: { "value": number } }
2288
+ ".input {$value :number} {{{$value} silverthalers}}": string & { __params: { "value": number } }
2289
+ ".input {$from :number} .input {$to :number} {{{$from}–{$to} pounds}}": string & { __params: { "from": number; "to": number } }
2290
+ ".input {$from :number} .input {$to :number} {{{$from}–{$to} silverthalers}}": string & { __params: { "from": number; "to": number } }
2291
+ "Various": string
2292
+ "Invaluable": string
2264
2293
  }
2265
2294
  }
2266
2295
 
@@ -2269,6 +2298,31 @@ export interface Locale {
2269
2298
  */
2270
2299
  export type Locale_ID = string
2271
2300
 
2301
+ /**
2302
+ * Measurements in the database always use the metric system, although the actual unit used in the locale’s translation may be different. Some translation may use different units where values have to be converted using a multiplier.
2303
+ */
2304
+ export interface LocaleMeasurementAdjustments {
2305
+ /**
2306
+ * Some lengths in the database are stored in kilometers (or “miles”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation.
2307
+ */
2308
+ milesMultiplier?: number
2309
+
2310
+ /**
2311
+ * Some lengths in the database are stored in meters (or “steps”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation (e.g. yards).
2312
+ */
2313
+ stepsMultiplier?: number
2314
+
2315
+ /**
2316
+ * Some lengths in the database are stored in centimeters (or “halffingers”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation (e.g. inches).
2317
+ */
2318
+ halffingersMultiplier?: number
2319
+
2320
+ /**
2321
+ * Weights in the database are stored in kilogram (or “stone”, as it is called originally). This multiplier is used to convert these weights to the unit used in the locale’s translation (e.g. pounds).
2322
+ */
2323
+ stonesMultiplier?: number
2324
+ }
2325
+
2272
2326
  export interface PropertiesSelectOptionCategory {
2273
2327
  /**
2274
2328
  * Does each property require its corresponding property knowledge?
@@ -20735,8 +20789,8 @@ export type EquipmentIdentifier =
20735
20789
  IlluminationLightSource: IlluminationLightSource_ID
20736
20790
  }
20737
20791
  | {
20738
- kind: "IlluminationRefillsOrSupplies"
20739
- IlluminationRefillsOrSupplies: IlluminationRefillOrSupply_ID
20792
+ kind: "IlluminationRefillOrSupply"
20793
+ IlluminationRefillOrSupply: IlluminationRefillOrSupply_ID
20740
20794
  }
20741
20795
  | {
20742
20796
  kind: "Jewelry"
@@ -20779,8 +20833,8 @@ export type EquipmentIdentifier =
20779
20833
  RopeOrChain: RopeOrChain_ID
20780
20834
  }
20781
20835
  | {
20782
- kind: "Stationary"
20783
- Stationary: Stationery_ID
20836
+ kind: "Stationery"
20837
+ Stationery: Stationery_ID
20784
20838
  }
20785
20839
  | {
20786
20840
  kind: "ThievesTool"
@@ -3,6 +3,12 @@ export declare const Locale: DB.Entity<"Locale", {
3
3
  name: DB.MemberDecl<DB.String, true>;
4
4
  region: DB.MemberDecl<DB.String, true>;
5
5
  is_missing_implementation: DB.MemberDecl<DB.Boolean, true>;
6
+ measurementAdjustments: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"LocaleMeasurementAdjustments", DB.Object<{
7
+ milesMultiplier: DB.MemberDecl<DB.Float, false>;
8
+ stepsMultiplier: DB.MemberDecl<DB.Float, false>;
9
+ halffingersMultiplier: DB.MemberDecl<DB.Float, false>;
10
+ stonesMultiplier: DB.MemberDecl<DB.Float, false>;
11
+ }>, []>>, false>;
6
12
  translations: DB.MemberDecl<DB.TranslationObject<{
7
13
  "About {$app}": null;
8
14
  "Preferences \u2026": null;
@@ -1344,6 +1350,29 @@ export declare const Locale: DB.Entity<"Locale", {
1344
1350
  "{$cost} (activation) + {$halvedCost} per {$interval}": null;
1345
1351
  Variable: null;
1346
1352
  "{$value} permanent AE": null;
1353
+ Guideline: null;
1354
+ "Elective Spellworks Package": null;
1355
+ "Restricted Spellworks": null;
1356
+ "All, at the GM\u2019s discretion": null;
1357
+ ".input {$count :number} {{only {$count} additional spellworks with the Property {$property}}}": null;
1358
+ "no spellworks with the Property {$property}": null;
1359
+ "Demon Summoning": null;
1360
+ "the following spells are not taught: {$spells}": null;
1361
+ "no Borbaradian spellworks": null;
1362
+ "no spellworks that inflict DP or sDP on intelligent creatures": null;
1363
+ "Spellwork Changes": null;
1364
+ "Skills (+)": null;
1365
+ "Skills (\u2212)": null;
1366
+ "{$replacement} instead of {$base}": null;
1367
+ "Clothing Package {$socialStatus}": null;
1368
+ Cost: null;
1369
+ Total: null;
1370
+ ".input {$value :number} {{{$value} pounds}}": null;
1371
+ ".input {$value :number} {{{$value} silverthalers}}": null;
1372
+ ".input {$from :number} .input {$to :number} {{{$from}\u2013{$to} pounds}}": null;
1373
+ ".input {$from :number} .input {$to :number} {{{$from}\u2013{$to} silverthalers}}": null;
1374
+ Various: null;
1375
+ Invaluable: null;
1347
1376
  }>, false>;
1348
1377
  }, undefined>;
1349
1378
  export declare const NestedTranslationMap: <Name extends string, T extends Record<string, DB.MemberDecl>, R extends boolean>(MemberDeclCreator: <T_1 extends DB.Type>(options: {
@@ -16,6 +16,10 @@ export const Locale = DB.Entity(import.meta.url, {
16
16
  comment: "The language is not (fully) implemented and thus needs to be excluded from stable releases.",
17
17
  type: DB.Boolean(),
18
18
  }),
19
+ measurementAdjustments: DB.Optional({
20
+ comment: "Measurement adjustments for units used in the locale.",
21
+ type: DB.IncludeIdentifier(LocaleMeasurementAdjustments),
22
+ }),
19
23
  translations: DB.Optional({
20
24
  // TODO: Make Required again once translations are added for all locales
21
25
  comment: "The translations strings for the locale.",
@@ -1383,6 +1387,31 @@ export const Locale = DB.Entity(import.meta.url, {
1383
1387
  "{$cost} (activation) + {$halvedCost} per {$interval}": null,
1384
1388
  "Variable": null,
1385
1389
  "{$value} permanent AE": null,
1390
+ // curricula
1391
+ "Guideline": null,
1392
+ "Elective Spellworks Package": null,
1393
+ "Restricted Spellworks": null,
1394
+ "All, at the GM’s discretion": null,
1395
+ ".input {$count :number} {{only {$count} additional spellworks with the Property {$property}}}": null,
1396
+ "no spellworks with the Property {$property}": null,
1397
+ "Demon Summoning": null,
1398
+ "the following spells are not taught: {$spells}": null,
1399
+ "no Borbaradian spellworks": null,
1400
+ "no spellworks that inflict DP or sDP on intelligent creatures": null,
1401
+ "Spellwork Changes": null,
1402
+ "Skills (+)": null,
1403
+ "Skills (−)": null,
1404
+ "{$replacement} instead of {$base}": null,
1405
+ // equipment
1406
+ "Clothing Package {$socialStatus}": null,
1407
+ "Cost": null,
1408
+ "Total": null,
1409
+ ".input {$value :number} {{{$value} pounds}}": null,
1410
+ ".input {$value :number} {{{$value} silverthalers}}": null,
1411
+ ".input {$from :number} .input {$to :number} {{{$from}–{$to} pounds}}": null,
1412
+ ".input {$from :number} .input {$to :number} {{{$from}–{$to} silverthalers}}": null,
1413
+ "Various": null,
1414
+ "Invaluable": null,
1386
1415
  }, { allKeysAreRequired: true }),
1387
1416
  }),
1388
1417
  }),
@@ -1397,6 +1426,28 @@ export const Locale = DB.Entity(import.meta.url, {
1397
1426
  ],
1398
1427
  ],
1399
1428
  });
1429
+ const LocaleMeasurementAdjustments = DB.TypeAlias(import.meta.url, {
1430
+ name: "LocaleMeasurementAdjustments",
1431
+ comment: "Measurements in the database always use the metric system, although the actual unit used in the locale’s translation may be different. Some translation may use different units where values have to be converted using a multiplier.",
1432
+ type: () => DB.Object({
1433
+ milesMultiplier: DB.Optional({
1434
+ comment: "Some lengths in the database are stored in kilometers (or “miles”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation.",
1435
+ type: DB.Float({ minimum: { value: 0, isExclusive: true } }),
1436
+ }),
1437
+ stepsMultiplier: DB.Optional({
1438
+ comment: "Some lengths in the database are stored in meters (or “steps”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation (e.g. yards).",
1439
+ type: DB.Float({ minimum: { value: 0, isExclusive: true } }),
1440
+ }),
1441
+ halffingersMultiplier: DB.Optional({
1442
+ comment: "Some lengths in the database are stored in centimeters (or “halffingers”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation (e.g. inches).",
1443
+ type: DB.Float({ minimum: { value: 0, isExclusive: true } }),
1444
+ }),
1445
+ stonesMultiplier: DB.Optional({
1446
+ comment: "Weights in the database are stored in kilogram (or “stone”, as it is called originally). This multiplier is used to convert these weights to the unit used in the locale’s translation (e.g. pounds).",
1447
+ type: DB.Float({ minimum: { value: 0, isExclusive: true } }),
1448
+ }),
1449
+ }, { minProperties: 1 }),
1450
+ });
1400
1451
  export const NestedTranslationMap = (MemberDeclCreator, entityName, type) => MemberDeclCreator({
1401
1452
  comment: "All translations for the entry, identified by IETF language tag (BCP47).",
1402
1453
  type: DB.NestedEntityMap({
@@ -74,7 +74,7 @@ export declare const GuidelineIdentifier: () => R;
74
74
  export declare const HairColorIdentifier: () => R;
75
75
  export declare const HaubenzauberIdentifier: () => R;
76
76
  export declare const IlluminationLightSourceIdentifier: () => R;
77
- export declare const IlluminationRefillsOrSuppliesIdentifier: () => R;
77
+ export declare const IlluminationRefillOrSupplyIdentifier: () => R;
78
78
  export declare const InfluenceIdentifier: () => R;
79
79
  export declare const InstrumentEnchantmentIdentifier: () => R;
80
80
  export declare const JesterTrickIdentifier: () => R;
@@ -225,7 +225,7 @@ export const GuidelineIdentifier = () => R(Guideline);
225
225
  export const HairColorIdentifier = () => R(HairColor);
226
226
  export const HaubenzauberIdentifier = () => R(Haubenzauber);
227
227
  export const IlluminationLightSourceIdentifier = () => R(IlluminationLightSource);
228
- export const IlluminationRefillsOrSuppliesIdentifier = () => R(IlluminationRefillOrSupply);
228
+ export const IlluminationRefillOrSupplyIdentifier = () => R(IlluminationRefillOrSupply);
229
229
  export const InfluenceIdentifier = () => R(Influence);
230
230
  export const InstrumentEnchantmentIdentifier = () => R(InstrumentEnchantment);
231
231
  export const JesterTrickIdentifier = () => R(JesterTrick);
@@ -327,7 +327,7 @@ export declare const EquipmentIdentifier: DB.Enum<"EquipmentIdentifier", {
327
327
  EquipmentOfBlessedOnes: DB.EnumCase<DB.ReferenceIdentifier>;
328
328
  GemOrPreciousStone: DB.EnumCase<DB.ReferenceIdentifier>;
329
329
  IlluminationLightSource: DB.EnumCase<DB.ReferenceIdentifier>;
330
- IlluminationRefillsOrSupplies: DB.EnumCase<DB.ReferenceIdentifier>;
330
+ IlluminationRefillOrSupply: DB.EnumCase<DB.ReferenceIdentifier>;
331
331
  Jewelry: DB.EnumCase<DB.ReferenceIdentifier>;
332
332
  Laboratory: DB.EnumCase<DB.ReferenceIdentifier>;
333
333
  Liebesspielzeug: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -338,7 +338,7 @@ export declare const EquipmentIdentifier: DB.Enum<"EquipmentIdentifier", {
338
338
  OrienteeringAid: DB.EnumCase<DB.ReferenceIdentifier>;
339
339
  Poison: DB.EnumCase<DB.ReferenceIdentifier>;
340
340
  RopeOrChain: DB.EnumCase<DB.ReferenceIdentifier>;
341
- Stationary: DB.EnumCase<DB.ReferenceIdentifier>;
341
+ Stationery: DB.EnumCase<DB.ReferenceIdentifier>;
342
342
  ThievesTool: DB.EnumCase<DB.ReferenceIdentifier>;
343
343
  ToolOfTheTrade: DB.EnumCase<DB.ReferenceIdentifier>;
344
344
  TravelGearOrTool: 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, IlluminationRefillsOrSuppliesIdentifier, 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, ZibiljaRitualIdentifier, } from "./_Identifier.js";
3
3
  export const ActivatableIdentifier = DB.Enum(import.meta.url, {
4
4
  name: "ActivatableIdentifier",
5
5
  values: () => ({
@@ -287,7 +287,7 @@ export const EquipmentIdentifier = DB.Enum(import.meta.url, {
287
287
  EquipmentOfBlessedOnes: DB.EnumCase({ type: EquipmentOfBlessedOnesIdentifier() }),
288
288
  GemOrPreciousStone: DB.EnumCase({ type: GemOrPreciousStoneIdentifier() }),
289
289
  IlluminationLightSource: DB.EnumCase({ type: IlluminationLightSourceIdentifier() }),
290
- IlluminationRefillsOrSupplies: DB.EnumCase({ type: IlluminationRefillsOrSuppliesIdentifier() }),
290
+ IlluminationRefillOrSupply: DB.EnumCase({ type: IlluminationRefillOrSupplyIdentifier() }),
291
291
  Jewelry: DB.EnumCase({ type: JewelryIdentifier() }),
292
292
  Laboratory: DB.EnumCase({ type: LaboratoryIdentifier() }),
293
293
  Liebesspielzeug: DB.EnumCase({ type: LiebesspielzeugIdentifier() }),
@@ -298,7 +298,7 @@ export const EquipmentIdentifier = DB.Enum(import.meta.url, {
298
298
  OrienteeringAid: DB.EnumCase({ type: OrienteeringAidIdentifier() }),
299
299
  Poison: DB.EnumCase({ type: PoisonIdentifier() }),
300
300
  RopeOrChain: DB.EnumCase({ type: RopeOrChainIdentifier() }),
301
- Stationary: DB.EnumCase({ type: StationeryIdentifier() }),
301
+ Stationery: DB.EnumCase({ type: StationeryIdentifier() }),
302
302
  ThievesTool: DB.EnumCase({ type: ThievesToolIdentifier() }),
303
303
  ToolOfTheTrade: DB.EnumCase({ type: ToolOfTheTradeIdentifier() }),
304
304
  TravelGearOrTool: DB.EnumCase({ type: TravelGearOrToolIdentifier() }),
@@ -16,7 +16,7 @@ export declare const EquipmentPackage: DB.Entity<"EquipmentPackage", {
16
16
  EquipmentOfBlessedOnes: DB.EnumCase<DB.ReferenceIdentifier>;
17
17
  GemOrPreciousStone: DB.EnumCase<DB.ReferenceIdentifier>;
18
18
  IlluminationLightSource: DB.EnumCase<DB.ReferenceIdentifier>;
19
- IlluminationRefillsOrSupplies: DB.EnumCase<DB.ReferenceIdentifier>;
19
+ IlluminationRefillOrSupply: DB.EnumCase<DB.ReferenceIdentifier>;
20
20
  Jewelry: DB.EnumCase<DB.ReferenceIdentifier>;
21
21
  Laboratory: DB.EnumCase<DB.ReferenceIdentifier>;
22
22
  Liebesspielzeug: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -27,7 +27,7 @@ export declare const EquipmentPackage: DB.Entity<"EquipmentPackage", {
27
27
  OrienteeringAid: DB.EnumCase<DB.ReferenceIdentifier>;
28
28
  Poison: DB.EnumCase<DB.ReferenceIdentifier>;
29
29
  RopeOrChain: DB.EnumCase<DB.ReferenceIdentifier>;
30
- Stationary: DB.EnumCase<DB.ReferenceIdentifier>;
30
+ Stationery: DB.EnumCase<DB.ReferenceIdentifier>;
31
31
  ThievesTool: DB.EnumCase<DB.ReferenceIdentifier>;
32
32
  ToolOfTheTrade: DB.EnumCase<DB.ReferenceIdentifier>;
33
33
  TravelGearOrTool: DB.EnumCase<DB.ReferenceIdentifier>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.30.0",
3
+ "version": "0.31.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",