@optolith/database-schema 0.77.1 → 0.79.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 +34 -0
- package/gen/types.d.ts +217 -3
- package/lib/cache/activatableSelectOptions.d.ts +2 -2
- package/lib/cache/activatableSelectOptions.js +2 -58
- package/lib/types/Advantage.d.ts +29 -0
- package/lib/types/Advantage.js +2 -1
- package/lib/types/Culture.d.ts +1 -0
- package/lib/types/Culture.js +5 -1
- package/lib/types/Disadvantage.d.ts +29 -0
- package/lib/types/Disadvantage.js +2 -1
- package/lib/types/Locale.d.ts +10 -0
- package/lib/types/Locale.js +11 -0
- package/lib/types/Profession.d.ts +178 -154
- package/lib/types/Profession.js +40 -1
- package/lib/types/Race.d.ts +1 -0
- package/lib/types/Race.js +10 -0
- package/lib/types/_ActivatableSelectOptions.d.ts +939 -0
- package/lib/types/_ActivatableSelectOptions.js +178 -117
- package/lib/types/equipment/item/EquipmentCategory.d.ts +15 -0
- package/lib/types/equipment/item/EquipmentCategory.js +5 -0
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +9 -0
- package/lib/types/equipment/item/IlluminationLightSource.js +1 -1
- package/lib/types/equipment/item/Item.d.ts +9 -0
- package/lib/types/equipment/item/Item.js +6 -0
- package/lib/types/prerequisites/single/ActivatablePrerequisite.js +2 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AncestorGlyph.d.ts +29 -0
- package/lib/types/specialAbility/AncestorGlyph.js +2 -1
- package/lib/types/specialAbility/BlessedTradition.d.ts +29 -0
- package/lib/types/specialAbility/BlessedTradition.js +2 -1
- package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/CombatStyleSpecialAbility.js +3 -2
- package/lib/types/specialAbility/CommandSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/CommandSpecialAbility.js +2 -1
- package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
- package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
- package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
- package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
- package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/LycantropicGift.d.ts +29 -0
- package/lib/types/specialAbility/LycantropicGift.js +2 -1
- package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
- package/lib/types/specialAbility/MagicalTradition.d.ts +29 -0
- package/lib/types/specialAbility/MagicalTradition.js +2 -1
- package/lib/types/specialAbility/PactGift.d.ts +29 -0
- package/lib/types/specialAbility/PactGift.js +2 -1
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/Sermon.d.ts +29 -0
- package/lib/types/specialAbility/Sermon.js +2 -1
- package/lib/types/specialAbility/SexSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
- package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/VampiricGift.d.ts +29 -0
- package/lib/types/specialAbility/VampiricGift.js +2 -1
- package/lib/types/specialAbility/Vision.d.ts +29 -0
- package/lib/types/specialAbility/Vision.js +2 -1
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/Beutelzauber.d.ts +1 -1493
- package/lib/types/traditionArtifacts/Beutelzauber.js +2 -34
- package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/CauldronEnchantment.js +5 -36
- package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/DaggerRitual.d.ts +1 -1499
- package/lib/types/traditionArtifacts/DaggerRitual.js +5 -34
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/Haubenzauber.d.ts +1 -1493
- package/lib/types/traditionArtifacts/Haubenzauber.js +2 -34
- package/lib/types/traditionArtifacts/Hauerkettenzauber.d.ts +1 -464
- package/lib/types/traditionArtifacts/Hauerkettenzauber.js +2 -31
- package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/Keulenzauber.d.ts +1 -464
- package/lib/types/traditionArtifacts/Keulenzauber.js +2 -31
- package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +1 -1493
- package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -34
- package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +1 -1493
- package/lib/types/traditionArtifacts/Kristallkugelzauber.js +2 -34
- package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/RingEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/RingEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/Schweinetrommelzauber.d.ts +1 -464
- package/lib/types/traditionArtifacts/Schweinetrommelzauber.js +2 -31
- package/lib/types/traditionArtifacts/SickleRitual.d.ts +1 -1493
- package/lib/types/traditionArtifacts/SickleRitual.js +2 -34
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +1 -1493
- package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -34
- package/lib/types/traditionArtifacts/WandEnchantment.d.ts +1 -1455
- package/lib/types/traditionArtifacts/WandEnchantment.js +3 -33
- package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/_shared.d.ts +10 -0
- package/lib/types/traditionArtifacts/_shared.js +40 -3
- package/package.json +1 -1
|
@@ -1,37 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
|
|
3
|
-
import { ap_value } from "../_ActivatableAdventurePointsValue.js";
|
|
4
|
-
import { nameBuilderRules } from "../_ActivatableNames.js";
|
|
5
|
-
import { cost, property, volume } from "../_ActivatableNonMundane.js";
|
|
6
|
-
import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
|
|
7
|
-
import { GeneralPrerequisites } from "../_Prerequisite.js";
|
|
8
|
-
import { src } from "../source/_PublicationRef.js";
|
|
9
|
-
import { translations } from "./_shared.js";
|
|
10
|
-
export const WeaponEnchantment = DB.Entity(import.meta.url, {
|
|
1
|
+
import { full } from "./_shared.js";
|
|
2
|
+
export const WeaponEnchantment = full({
|
|
11
3
|
name: "WeaponEnchantment",
|
|
12
4
|
namePlural: "WeaponEnchantments",
|
|
13
|
-
type: () => DB.Object({
|
|
14
|
-
levels,
|
|
15
|
-
nameBuilderRules,
|
|
16
|
-
select_options,
|
|
17
|
-
explicit_select_options,
|
|
18
|
-
maximum,
|
|
19
|
-
prerequisites: DB.Optional({
|
|
20
|
-
type: DB.IncludeIdentifier(GeneralPrerequisites),
|
|
21
|
-
}),
|
|
22
|
-
volume,
|
|
23
|
-
cost,
|
|
24
|
-
property: property(),
|
|
25
|
-
ap_value,
|
|
26
|
-
src,
|
|
27
|
-
translations: translations("WeaponEnchantment"),
|
|
28
|
-
}),
|
|
29
|
-
instanceDisplayName: {},
|
|
30
|
-
uniqueConstraints: [
|
|
31
|
-
{
|
|
32
|
-
entityMapKeyPath: "translations",
|
|
33
|
-
keyPathInEntityMap: "name_in_library",
|
|
34
|
-
keyPathInEntityMapFallback: "name",
|
|
35
|
-
},
|
|
36
|
-
],
|
|
37
5
|
});
|
|
@@ -1,4 +1,14 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import type { TraditionArtifactEnchantmentIdentifier } from "../_IdentifierGroup.ts";
|
|
3
|
+
export declare const full: <T extends keyof (typeof TraditionArtifactEnchantmentIdentifier)["type"]["value"]["values"]>(options: {
|
|
4
|
+
name: T;
|
|
5
|
+
namePlural: string;
|
|
6
|
+
displayName?: string;
|
|
7
|
+
displayNamePlural?: string;
|
|
8
|
+
cost?: () => DB.MemberDecl;
|
|
9
|
+
brew?: () => DB.MemberDecl;
|
|
10
|
+
volume?: false;
|
|
11
|
+
}) => DB.Entity<T, Record<string, DB.MemberDecl<DB.Type, boolean>>, undefined>;
|
|
2
12
|
export declare const translations: <T extends string>(entity: T) => DB.MemberDecl<DB.NestedEntityMap<`${T}Translation`, {
|
|
3
13
|
name: DB.MemberDecl<DB.String, true>;
|
|
4
14
|
name_in_library: DB.MemberDecl<DB.String, false>;
|
|
@@ -1,9 +1,46 @@
|
|
|
1
|
+
import { omitUndefinedKeys } from "@elyukai/utils/object";
|
|
1
2
|
import * as DB from "tsondb/schema/dsl";
|
|
2
3
|
import { NestedTranslationMap } from "../Locale.js";
|
|
3
|
-
import { effect, name, name_in_library } from "../_Activatable.js";
|
|
4
|
-
import { ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
|
|
5
|
-
import {
|
|
4
|
+
import { effect, levels, maximum, name, name_in_library } from "../_Activatable.js";
|
|
5
|
+
import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
|
|
6
|
+
import { nameBuilderRules } from "../_ActivatableNames.js";
|
|
7
|
+
import { aeCost, bindingCost, cost, cost_note, property, volume, volume_l10n, } from "../_ActivatableNonMundane.js";
|
|
8
|
+
import { explicit_select_options, select_options, verifySelectOptionRules, } from "../_ActivatableSelectOptions.js";
|
|
9
|
+
import { GeneralPrerequisites } from "../_Prerequisite.js";
|
|
6
10
|
import { Errata } from "../source/_Erratum.js";
|
|
11
|
+
import { src } from "../source/_PublicationRef.js";
|
|
12
|
+
export const full = (options) => DB.Entity(import.meta.url, {
|
|
13
|
+
name: options.name,
|
|
14
|
+
namePlural: options.namePlural,
|
|
15
|
+
displayName: options.displayName,
|
|
16
|
+
displayNamePlural: options.displayNamePlural,
|
|
17
|
+
type: () => DB.Object(omitUndefinedKeys({
|
|
18
|
+
levels,
|
|
19
|
+
nameBuilderRules,
|
|
20
|
+
select_options,
|
|
21
|
+
explicit_select_options,
|
|
22
|
+
maximum,
|
|
23
|
+
prerequisites: DB.Optional({
|
|
24
|
+
type: DB.IncludeIdentifier(GeneralPrerequisites),
|
|
25
|
+
}),
|
|
26
|
+
volume: options.volume === false ? undefined : volume,
|
|
27
|
+
brew: options.brew?.(),
|
|
28
|
+
cost: options.cost?.() ?? cost,
|
|
29
|
+
property: property(),
|
|
30
|
+
ap_value,
|
|
31
|
+
src,
|
|
32
|
+
translations: translations(options.name),
|
|
33
|
+
})),
|
|
34
|
+
instanceDisplayName: {},
|
|
35
|
+
uniqueConstraints: [
|
|
36
|
+
{
|
|
37
|
+
entityMapKeyPath: "translations",
|
|
38
|
+
keyPathInEntityMap: "name_in_library",
|
|
39
|
+
keyPathInEntityMapFallback: "name",
|
|
40
|
+
},
|
|
41
|
+
],
|
|
42
|
+
customConstraints: deps => verifySelectOptionRules(options.name, deps),
|
|
43
|
+
});
|
|
7
44
|
export const translations = (entity) => NestedTranslationMap(DB.Required, entity, DB.Object({
|
|
8
45
|
name,
|
|
9
46
|
name_in_library,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optolith/database-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.79.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",
|