optolith-database-schema 0.41.0 → 0.42.1
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 +26 -0
- package/gen/types.d.ts +521 -9
- package/lib/main.js +2 -0
- package/lib/types/Ceremony.d.ts +3 -0
- package/lib/types/FamiliarsTrick.d.ts +1 -0
- package/lib/types/FamiliarsTrick.js +8 -2
- package/lib/types/LiturgicalChant.d.ts +3 -0
- package/lib/types/Locale.d.ts +10 -6
- package/lib/types/Locale.js +10 -6
- package/lib/types/Profession.d.ts +14 -0
- package/lib/types/Race.d.ts +6 -4
- package/lib/types/Race.js +10 -2
- package/lib/types/Ritual.d.ts +3 -0
- package/lib/types/Spell.d.ts +3 -0
- package/lib/types/_ActivatableSkill.d.ts +8 -0
- package/lib/types/_ActivatableSkillCheckResultBased.d.ts +2 -0
- package/lib/types/_ActivatableSkillCheckResultBased.js +1 -0
- package/lib/types/_ActivatableSkillCost.d.ts +48 -0
- package/lib/types/_ActivatableSkillCost.js +2 -2
- package/lib/types/_ActivatableSkillDuration.d.ts +2 -0
- package/lib/types/_ActivatableSkillRange.d.ts +1 -0
- package/lib/types/_Identifier.d.ts +2 -0
- package/lib/types/_Identifier.js +4 -0
- package/lib/types/_IdentifierGroup.d.ts +2 -0
- package/lib/types/_IdentifierGroup.js +3 -1
- package/lib/types/index.d.ts +2 -0
- package/lib/types/index.js +2 -0
- package/lib/types/magicalActions/AnimistPower.d.ts +1 -0
- package/lib/types/magicalActions/Bannzeichen.d.ts +244 -0
- package/lib/types/magicalActions/Bannzeichen.js +231 -0
- package/lib/types/magicalActions/Curse.d.ts +2 -0
- package/lib/types/magicalActions/DominationRitual.d.ts +2 -0
- package/lib/types/magicalActions/GeodeRitual.d.ts +1 -0
- package/lib/types/magicalActions/GoblinRitual.d.ts +286 -0
- package/lib/types/magicalActions/GoblinRitual.js +196 -0
- package/lib/types/magicalActions/JesterTrick.d.ts +3 -0
- package/lib/types/magicalActions/MagicalRune.d.ts +2 -0
- package/lib/types/magicalActions/ZibiljaRitual.d.ts +2 -0
- package/package.json +1 -1
|
@@ -58,6 +58,7 @@ export declare const DurationForOneTime: DB.Enum<"DurationForOneTime", {
|
|
|
58
58
|
base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultValue", {
|
|
59
59
|
QualityLevels: DB.EnumCase<null>;
|
|
60
60
|
SkillPoints: DB.EnumCase<null>;
|
|
61
|
+
SkillRating: DB.EnumCase<null>;
|
|
61
62
|
}, []>>, true>;
|
|
62
63
|
modifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
|
|
63
64
|
arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
|
|
@@ -121,6 +122,7 @@ export declare const CheckResultBasedDuration: DB.TypeAlias<"CheckResultBasedDur
|
|
|
121
122
|
base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultValue", {
|
|
122
123
|
QualityLevels: DB.EnumCase<null>;
|
|
123
124
|
SkillPoints: DB.EnumCase<null>;
|
|
125
|
+
SkillRating: DB.EnumCase<null>;
|
|
124
126
|
}, []>>, true>;
|
|
125
127
|
modifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
|
|
126
128
|
arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
|
|
@@ -24,6 +24,7 @@ export declare const Range: DB.TypeAlias<"Range", DB.Object<{
|
|
|
24
24
|
base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultValue", {
|
|
25
25
|
QualityLevels: DB.EnumCase<null>;
|
|
26
26
|
SkillPoints: DB.EnumCase<null>;
|
|
27
|
+
SkillRating: DB.EnumCase<null>;
|
|
27
28
|
}, []>>, true>;
|
|
28
29
|
modifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
|
|
29
30
|
arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
|
|
@@ -23,6 +23,7 @@ export declare const AspectIdentifier: () => R;
|
|
|
23
23
|
export declare const AttireEnchantmentIdentifier: () => R;
|
|
24
24
|
export declare const AttributeIdentifier: () => R;
|
|
25
25
|
export declare const BandageOrRemedyIdentifier: () => R;
|
|
26
|
+
export declare const BannzeichenIdentifier: () => R;
|
|
26
27
|
export declare const BeutelzauberIdentifier: () => R;
|
|
27
28
|
export declare const BlessedTraditionIdentifier: () => R;
|
|
28
29
|
export declare const BlessingIdentifier: () => R;
|
|
@@ -71,6 +72,7 @@ export declare const GeneralSelectOptionIdentifier: () => R;
|
|
|
71
72
|
export { GeneralSelectOptionIdentifier as GeneralIdentifier };
|
|
72
73
|
export declare const GeneralSpecialAbilityIdentifier: () => R;
|
|
73
74
|
export declare const GeodeRitualIdentifier: () => R;
|
|
75
|
+
export declare const GoblinRitualIdentifier: () => R;
|
|
74
76
|
export declare const GuidelineIdentifier: () => R;
|
|
75
77
|
export declare const HairColorIdentifier: () => R;
|
|
76
78
|
export declare const HaubenzauberIdentifier: () => R;
|
package/lib/types/_Identifier.js
CHANGED
|
@@ -62,10 +62,12 @@ import { Curriculum, Guideline, LessonPackage } from "./Lessons.js";
|
|
|
62
62
|
import { LiturgicalChant } from "./LiturgicalChant.js";
|
|
63
63
|
import { AnimistPower } from "./magicalActions/AnimistPower.js";
|
|
64
64
|
import { Tribe } from "./magicalActions/AnimistPower_Tribe.js";
|
|
65
|
+
import { Bannzeichen } from "./magicalActions/Bannzeichen.js";
|
|
65
66
|
import { Curse } from "./magicalActions/Curse.js";
|
|
66
67
|
import { DominationRitual } from "./magicalActions/DominationRitual.js";
|
|
67
68
|
import { ElvenMagicalSong } from "./magicalActions/ElvenMagicalSong.js";
|
|
68
69
|
import { GeodeRitual } from "./magicalActions/GeodeRitual.js";
|
|
70
|
+
import { GoblinRitual } from "./magicalActions/GoblinRitual.js";
|
|
69
71
|
import { JesterTrick } from "./magicalActions/JesterTrick.js";
|
|
70
72
|
import { MagicalDance } from "./magicalActions/MagicalDance.js";
|
|
71
73
|
import { MagicalMelody } from "./magicalActions/MagicalMelody.js";
|
|
@@ -176,6 +178,7 @@ export const AspectIdentifier = () => R(Aspect);
|
|
|
176
178
|
export const AttireEnchantmentIdentifier = () => R(AttireEnchantment);
|
|
177
179
|
export const AttributeIdentifier = () => R(Attribute);
|
|
178
180
|
export const BandageOrRemedyIdentifier = () => R(BandageOrRemedy);
|
|
181
|
+
export const BannzeichenIdentifier = () => R(Bannzeichen);
|
|
179
182
|
export const BeutelzauberIdentifier = () => R(Beutelzauber);
|
|
180
183
|
export const BlessedTraditionIdentifier = () => R(BlessedTradition);
|
|
181
184
|
export const BlessingIdentifier = () => R(Blessing);
|
|
@@ -224,6 +227,7 @@ export const GeneralSelectOptionIdentifier = () => R(GeneralSelectOption);
|
|
|
224
227
|
export { GeneralSelectOptionIdentifier as GeneralIdentifier };
|
|
225
228
|
export const GeneralSpecialAbilityIdentifier = () => R(GeneralSpecialAbility);
|
|
226
229
|
export const GeodeRitualIdentifier = () => R(GeodeRitual);
|
|
230
|
+
export const GoblinRitualIdentifier = () => R(GoblinRitual);
|
|
227
231
|
export const GuidelineIdentifier = () => R(Guideline);
|
|
228
232
|
export const HairColorIdentifier = () => R(HairColor);
|
|
229
233
|
export const HaubenzauberIdentifier = () => R(Haubenzauber);
|
|
@@ -243,6 +243,7 @@ export declare const LiturgyIdentifier: DB.Enum<"LiturgyIdentifier", {
|
|
|
243
243
|
Ceremony: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
244
244
|
}, []>;
|
|
245
245
|
export declare const MagicalActionIdentifier: DB.Enum<"MagicalActionIdentifier", {
|
|
246
|
+
Bannzeichen: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
246
247
|
Curse: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
247
248
|
ElvenMagicalSong: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
248
249
|
DominationRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
@@ -251,6 +252,7 @@ export declare const MagicalActionIdentifier: DB.Enum<"MagicalActionIdentifier",
|
|
|
251
252
|
JesterTrick: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
252
253
|
AnimistPower: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
253
254
|
GeodeRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
255
|
+
GoblinRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
254
256
|
ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
255
257
|
MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
256
258
|
}, []>;
|
|
@@ -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, EnhancementIdentifier, 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";
|
|
2
|
+
import { AdvancedCombatSpecialAbilityIdentifier, AdvancedKarmaSpecialAbilityIdentifier, AdvancedMagicalSpecialAbilityIdentifier, AdvancedSkillSpecialAbilityIdentifier, AdvantageIdentifier, AmmunitionIdentifier, AncestorGlyphIdentifier, AnimalCareIdentifier, AnimalIdentifier, AnimalShapeIdentifier, AnimalShapeSizeIdentifier, AnimistPowerIdentifier, ArcaneBardTraditionIdentifier, ArcaneDancerTraditionIdentifier, ArcaneOrbEnchantmentIdentifier, ArmorIdentifier, AspectIdentifier, AttireEnchantmentIdentifier, AttributeIdentifier, BandageOrRemedyIdentifier, BannzeichenIdentifier, 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, EnhancementIdentifier, EquipmentOfBlessedOnesIdentifier, FamiliarSpecialAbilityIdentifier, FatePointSexSpecialAbilityIdentifier, FatePointSpecialAbilityIdentifier, FocusRuleIdentifier, FoolsHatEnchantmentIdentifier, GemOrPreciousStoneIdentifier, GeneralIdentifier, GeneralSpecialAbilityIdentifier, GeodeRitualIdentifier, GoblinRitualIdentifier, 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: () => ({
|
|
@@ -193,6 +193,7 @@ export const LiturgyIdentifier = DB.Enum(import.meta.url, {
|
|
|
193
193
|
export const MagicalActionIdentifier = DB.Enum(import.meta.url, {
|
|
194
194
|
name: "MagicalActionIdentifier",
|
|
195
195
|
values: () => ({
|
|
196
|
+
Bannzeichen: DB.EnumCase({ type: BannzeichenIdentifier() }),
|
|
196
197
|
Curse: DB.EnumCase({ type: CurseIdentifier() }),
|
|
197
198
|
ElvenMagicalSong: DB.EnumCase({ type: ElvenMagicalSongIdentifier() }),
|
|
198
199
|
DominationRitual: DB.EnumCase({ type: DominationRitualIdentifier() }),
|
|
@@ -201,6 +202,7 @@ export const MagicalActionIdentifier = DB.Enum(import.meta.url, {
|
|
|
201
202
|
JesterTrick: DB.EnumCase({ type: JesterTrickIdentifier() }),
|
|
202
203
|
AnimistPower: DB.EnumCase({ type: AnimistPowerIdentifier() }),
|
|
203
204
|
GeodeRitual: DB.EnumCase({ type: GeodeRitualIdentifier() }),
|
|
205
|
+
GoblinRitual: DB.EnumCase({ type: GoblinRitualIdentifier() }),
|
|
204
206
|
ZibiljaRitual: DB.EnumCase({ type: ZibiljaRitualIdentifier() }),
|
|
205
207
|
MagicalRune: DB.EnumCase({ type: MagicalRuneIdentifier() }),
|
|
206
208
|
}),
|
package/lib/types/index.d.ts
CHANGED
|
@@ -62,10 +62,12 @@ export { LiturgicalChant } from "./LiturgicalChant.js";
|
|
|
62
62
|
export { Locale } from "./Locale.js";
|
|
63
63
|
export { AnimistPower } from "./magicalActions/AnimistPower.js";
|
|
64
64
|
export { Tribe } from "./magicalActions/AnimistPower_Tribe.js";
|
|
65
|
+
export { Bannzeichen } from "./magicalActions/Bannzeichen.js";
|
|
65
66
|
export { Curse } from "./magicalActions/Curse.js";
|
|
66
67
|
export { DominationRitual } from "./magicalActions/DominationRitual.js";
|
|
67
68
|
export { ElvenMagicalSong } from "./magicalActions/ElvenMagicalSong.js";
|
|
68
69
|
export { GeodeRitual } from "./magicalActions/GeodeRitual.js";
|
|
70
|
+
export { GoblinRitual } from "./magicalActions/GoblinRitual.js";
|
|
69
71
|
export { JesterTrick } from "./magicalActions/JesterTrick.js";
|
|
70
72
|
export { MagicalDance } from "./magicalActions/MagicalDance.js";
|
|
71
73
|
export { MagicalMelody } from "./magicalActions/MagicalMelody.js";
|
package/lib/types/index.js
CHANGED
|
@@ -62,10 +62,12 @@ export { LiturgicalChant } from "./LiturgicalChant.js";
|
|
|
62
62
|
export { Locale } from "./Locale.js";
|
|
63
63
|
export { AnimistPower } from "./magicalActions/AnimistPower.js";
|
|
64
64
|
export { Tribe } from "./magicalActions/AnimistPower_Tribe.js";
|
|
65
|
+
export { Bannzeichen } from "./magicalActions/Bannzeichen.js";
|
|
65
66
|
export { Curse } from "./magicalActions/Curse.js";
|
|
66
67
|
export { DominationRitual } from "./magicalActions/DominationRitual.js";
|
|
67
68
|
export { ElvenMagicalSong } from "./magicalActions/ElvenMagicalSong.js";
|
|
68
69
|
export { GeodeRitual } from "./magicalActions/GeodeRitual.js";
|
|
70
|
+
export { GoblinRitual } from "./magicalActions/GoblinRitual.js";
|
|
69
71
|
export { JesterTrick } from "./magicalActions/JesterTrick.js";
|
|
70
72
|
export { MagicalDance } from "./magicalActions/MagicalDance.js";
|
|
71
73
|
export { MagicalMelody } from "./magicalActions/MagicalMelody.js";
|
|
@@ -68,6 +68,7 @@ export declare const AnimistPower: DB.Entity<"AnimistPower", {
|
|
|
68
68
|
base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultValue", {
|
|
69
69
|
QualityLevels: DB.EnumCase<null>;
|
|
70
70
|
SkillPoints: DB.EnumCase<null>;
|
|
71
|
+
SkillRating: DB.EnumCase<null>;
|
|
71
72
|
}, []>>, true>;
|
|
72
73
|
modifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
|
|
73
74
|
arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
|
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const Bannzeichen: DB.Entity<"Bannzeichen", {
|
|
3
|
+
options: DB.MemberDecl<DB.ChildEntities<DB.Entity<"BannzeichenOption", {
|
|
4
|
+
parent: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
5
|
+
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleBannzeichenCost", DB.Object<{
|
|
6
|
+
value: DB.MemberDecl<DB.Integer, true>;
|
|
7
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"SingleBannzeichenCostTranslation", {
|
|
8
|
+
note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
9
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
10
|
+
compressed: DB.MemberDecl<DB.String, false>;
|
|
11
|
+
}>, []>>, true>;
|
|
12
|
+
}>, false>;
|
|
13
|
+
}>, []>>, false>;
|
|
14
|
+
improvement_cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ImprovementCost", {
|
|
15
|
+
A: DB.EnumCase<null>;
|
|
16
|
+
B: DB.EnumCase<null>;
|
|
17
|
+
C: DB.EnumCase<null>;
|
|
18
|
+
D: DB.EnumCase<null>;
|
|
19
|
+
}, []>>, false>;
|
|
20
|
+
suboption: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BannzeichenSuboption", {
|
|
21
|
+
Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomBannzeichenSuboption", DB.Object<{
|
|
22
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"CustomBannzeichenSuboptionTranslation", {
|
|
23
|
+
examples: DB.MemberDecl<DB.Array<DB.String>, false>;
|
|
24
|
+
}>, true>;
|
|
25
|
+
}>, []>>>;
|
|
26
|
+
}, []>>, false>;
|
|
27
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"BannzeichenOptionTranslation", {
|
|
28
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
29
|
+
native_name: DB.MemberDecl<DB.String, true>;
|
|
30
|
+
}>, true>;
|
|
31
|
+
}, "parent">>, true>;
|
|
32
|
+
check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SkillCheck", DB.Array<DB.ReferenceIdentifier>, []>>, true>;
|
|
33
|
+
parameters: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"BannzeichenPerformanceParameters", DB.Object<{
|
|
34
|
+
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BannzeichenCost", {
|
|
35
|
+
Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleBannzeichenCost", DB.Object<{
|
|
36
|
+
value: DB.MemberDecl<DB.Integer, true>;
|
|
37
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"SingleBannzeichenCostTranslation", {
|
|
38
|
+
note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
39
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
40
|
+
compressed: DB.MemberDecl<DB.String, false>;
|
|
41
|
+
}>, []>>, true>;
|
|
42
|
+
}>, false>;
|
|
43
|
+
}>, []>>>;
|
|
44
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"BannzeichenCostDisjunction", DB.Object<{
|
|
45
|
+
list: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleBannzeichenCost", DB.Object<{
|
|
46
|
+
value: DB.MemberDecl<DB.Integer, true>;
|
|
47
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"SingleBannzeichenCostTranslation", {
|
|
48
|
+
note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
49
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
50
|
+
compressed: DB.MemberDecl<DB.String, false>;
|
|
51
|
+
}>, []>>, true>;
|
|
52
|
+
}>, false>;
|
|
53
|
+
}>, []>>>, true>;
|
|
54
|
+
}>, []>>>;
|
|
55
|
+
DerivedFromOption: DB.EnumCase<null>;
|
|
56
|
+
}, []>>, true>;
|
|
57
|
+
crafting_time: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"BannzeichenCraftingTime", DB.Object<{
|
|
58
|
+
value: DB.MemberDecl<DB.Integer, true>;
|
|
59
|
+
per: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"BannzeichenCraftingTimePerCountable", DB.Object<{
|
|
60
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"BannzeichenCraftingTimePerCountableTranslation", {
|
|
61
|
+
countable: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveText", DB.Object<{
|
|
62
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
63
|
+
compressed: DB.MemberDecl<DB.String, true>;
|
|
64
|
+
}>, []>>, true>;
|
|
65
|
+
}>, true>;
|
|
66
|
+
}>, []>>, false>;
|
|
67
|
+
}>, []>>, true>;
|
|
68
|
+
duration: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"BannzeichenDuration", DB.Object<{
|
|
69
|
+
slow: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedDuration", DB.Object<{
|
|
70
|
+
is_maximum: DB.MemberDecl<DB.Boolean, false>;
|
|
71
|
+
base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultValue", {
|
|
72
|
+
QualityLevels: DB.EnumCase<null>;
|
|
73
|
+
SkillPoints: DB.EnumCase<null>;
|
|
74
|
+
SkillRating: DB.EnumCase<null>;
|
|
75
|
+
}, []>>, true>;
|
|
76
|
+
modifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
|
|
77
|
+
arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
|
|
78
|
+
Multiply: DB.EnumCase<null>;
|
|
79
|
+
Divide: DB.EnumCase<null>;
|
|
80
|
+
}, []>>, true>;
|
|
81
|
+
value: DB.MemberDecl<DB.Integer, true>;
|
|
82
|
+
}>, []>>, false>;
|
|
83
|
+
unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
|
|
84
|
+
Seconds: DB.EnumCase<null>;
|
|
85
|
+
Minutes: DB.EnumCase<null>;
|
|
86
|
+
Hours: DB.EnumCase<null>;
|
|
87
|
+
Days: DB.EnumCase<null>;
|
|
88
|
+
Weeks: DB.EnumCase<null>;
|
|
89
|
+
Months: DB.EnumCase<null>;
|
|
90
|
+
Years: DB.EnumCase<null>;
|
|
91
|
+
Centuries: DB.EnumCase<null>;
|
|
92
|
+
Actions: DB.EnumCase<null>;
|
|
93
|
+
CombatRounds: DB.EnumCase<null>;
|
|
94
|
+
}, []>>, true>;
|
|
95
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"CheckResultBasedDurationTranslation", {
|
|
96
|
+
replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextReplace", DB.Object<{
|
|
97
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
98
|
+
compressed: DB.MemberDecl<DB.String, true>;
|
|
99
|
+
}>, []>>, false>;
|
|
100
|
+
}>, false>;
|
|
101
|
+
}>, []>>, true>;
|
|
102
|
+
fast: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedDuration", DB.Object<{
|
|
103
|
+
is_maximum: DB.MemberDecl<DB.Boolean, false>;
|
|
104
|
+
base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultValue", {
|
|
105
|
+
QualityLevels: DB.EnumCase<null>;
|
|
106
|
+
SkillPoints: DB.EnumCase<null>;
|
|
107
|
+
SkillRating: DB.EnumCase<null>;
|
|
108
|
+
}, []>>, true>;
|
|
109
|
+
modifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CheckResultBasedModifier", DB.Object<{
|
|
110
|
+
arithmetic: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CheckResultArithmetic", {
|
|
111
|
+
Multiply: DB.EnumCase<null>;
|
|
112
|
+
Divide: DB.EnumCase<null>;
|
|
113
|
+
}, []>>, true>;
|
|
114
|
+
value: DB.MemberDecl<DB.Integer, true>;
|
|
115
|
+
}>, []>>, false>;
|
|
116
|
+
unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
|
|
117
|
+
Seconds: DB.EnumCase<null>;
|
|
118
|
+
Minutes: DB.EnumCase<null>;
|
|
119
|
+
Hours: DB.EnumCase<null>;
|
|
120
|
+
Days: DB.EnumCase<null>;
|
|
121
|
+
Weeks: DB.EnumCase<null>;
|
|
122
|
+
Months: DB.EnumCase<null>;
|
|
123
|
+
Years: DB.EnumCase<null>;
|
|
124
|
+
Centuries: DB.EnumCase<null>;
|
|
125
|
+
Actions: DB.EnumCase<null>;
|
|
126
|
+
CombatRounds: DB.EnumCase<null>;
|
|
127
|
+
}, []>>, true>;
|
|
128
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"CheckResultBasedDurationTranslation", {
|
|
129
|
+
replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextReplace", DB.Object<{
|
|
130
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
131
|
+
compressed: DB.MemberDecl<DB.String, true>;
|
|
132
|
+
}>, []>>, false>;
|
|
133
|
+
}>, false>;
|
|
134
|
+
}>, []>>, true>;
|
|
135
|
+
}>, []>>, true>;
|
|
136
|
+
}>, []>>, true>;
|
|
137
|
+
property: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
138
|
+
improvement_cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BannzeichenImprovementCost", {
|
|
139
|
+
Constant: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"ImprovementCost", {
|
|
140
|
+
A: DB.EnumCase<null>;
|
|
141
|
+
B: DB.EnumCase<null>;
|
|
142
|
+
C: DB.EnumCase<null>;
|
|
143
|
+
D: DB.EnumCase<null>;
|
|
144
|
+
}, []>>>;
|
|
145
|
+
DerivedFromOption: DB.EnumCase<null>;
|
|
146
|
+
}, []>>, true>;
|
|
147
|
+
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
148
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
149
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
150
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
151
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
152
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
153
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
154
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
155
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
156
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
157
|
+
}, []>>, true>;
|
|
158
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
159
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
160
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
161
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
162
|
+
}, []>>, false>;
|
|
163
|
+
}>, []>>>, true>;
|
|
164
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
165
|
+
}>, []>>, true>;
|
|
166
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
167
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
168
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
169
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
170
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
171
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
172
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
173
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
174
|
+
}, []>>, true>;
|
|
175
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
176
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
177
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
178
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
179
|
+
}, []>>, false>;
|
|
180
|
+
}>, []>>>, true>;
|
|
181
|
+
}>, []>>>;
|
|
182
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
183
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
184
|
+
}>, []>>>;
|
|
185
|
+
}, []>>>, false>;
|
|
186
|
+
}>, true>;
|
|
187
|
+
}>, []>>>, []>>, true>;
|
|
188
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"BannzeichenTranslation", {
|
|
189
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
190
|
+
name_in_library: DB.MemberDecl<DB.String, false>;
|
|
191
|
+
native_name: DB.MemberDecl<DB.String, false>;
|
|
192
|
+
effect: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableSkillEffect", {
|
|
193
|
+
Plain: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatableSkillPlainEffect", DB.Object<{
|
|
194
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
195
|
+
}>, []>>>;
|
|
196
|
+
ForEachQualityLevel: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatableSkillEffectForEachQualityLevel", DB.Object<{
|
|
197
|
+
text_before: DB.MemberDecl<DB.String, true>;
|
|
198
|
+
quality_levels: DB.MemberDecl<DB.Array<DB.String>, true>;
|
|
199
|
+
text_after: DB.MemberDecl<DB.String, false>;
|
|
200
|
+
}>, []>>>;
|
|
201
|
+
ForEachTwoQualityLevels: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatableSkillEffectForEachTwoQualityLevels", DB.Object<{
|
|
202
|
+
text_before: DB.MemberDecl<DB.String, true>;
|
|
203
|
+
quality_levels: DB.MemberDecl<DB.Array<DB.String>, true>;
|
|
204
|
+
text_after: DB.MemberDecl<DB.String, false>;
|
|
205
|
+
}>, []>>>;
|
|
206
|
+
}, []>>, true>;
|
|
207
|
+
cost: DB.MemberDecl<DB.String, false>;
|
|
208
|
+
crafting_time: DB.MemberDecl<DB.String, false>;
|
|
209
|
+
duration: DB.MemberDecl<DB.String, false>;
|
|
210
|
+
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
211
|
+
date: DB.MemberDecl<DB.Date, true>;
|
|
212
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
213
|
+
}>, []>>>, []>>, false>;
|
|
214
|
+
}>, true>;
|
|
215
|
+
}, undefined>;
|
|
216
|
+
export declare const BannzeichenOption: DB.Entity<"BannzeichenOption", {
|
|
217
|
+
parent: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
218
|
+
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleBannzeichenCost", DB.Object<{
|
|
219
|
+
value: DB.MemberDecl<DB.Integer, true>;
|
|
220
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"SingleBannzeichenCostTranslation", {
|
|
221
|
+
note: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
222
|
+
full: DB.MemberDecl<DB.String, true>;
|
|
223
|
+
compressed: DB.MemberDecl<DB.String, false>;
|
|
224
|
+
}>, []>>, true>;
|
|
225
|
+
}>, false>;
|
|
226
|
+
}>, []>>, false>;
|
|
227
|
+
improvement_cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ImprovementCost", {
|
|
228
|
+
A: DB.EnumCase<null>;
|
|
229
|
+
B: DB.EnumCase<null>;
|
|
230
|
+
C: DB.EnumCase<null>;
|
|
231
|
+
D: DB.EnumCase<null>;
|
|
232
|
+
}, []>>, false>;
|
|
233
|
+
suboption: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BannzeichenSuboption", {
|
|
234
|
+
Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomBannzeichenSuboption", DB.Object<{
|
|
235
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"CustomBannzeichenSuboptionTranslation", {
|
|
236
|
+
examples: DB.MemberDecl<DB.Array<DB.String>, false>;
|
|
237
|
+
}>, true>;
|
|
238
|
+
}>, []>>>;
|
|
239
|
+
}, []>>, false>;
|
|
240
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"BannzeichenOptionTranslation", {
|
|
241
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
242
|
+
native_name: DB.MemberDecl<DB.String, true>;
|
|
243
|
+
}>, true>;
|
|
244
|
+
}, "parent">;
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { name_in_library } from "../_Activatable.js";
|
|
3
|
+
import { CheckResultBasedDuration } from "../_ActivatableSkillDuration.js";
|
|
4
|
+
import { ActivatableSkillEffect } from "../_ActivatableSkillEffect.js";
|
|
5
|
+
import { PropertyIdentifier, BannzeichenIdentifier } from "../_Identifier.js";
|
|
6
|
+
import { ImprovementCost } from "../_ImprovementCost.js";
|
|
7
|
+
import { ResponsiveText, ResponsiveTextOptional } from "../_ResponsiveText.js";
|
|
8
|
+
import { SkillCheck } from "../_SkillCheck.js";
|
|
9
|
+
import { NestedTranslationMap } from "../Locale.js";
|
|
10
|
+
import { Errata } from "../source/_Erratum.js";
|
|
11
|
+
import { src } from "../source/_PublicationRef.js";
|
|
12
|
+
export const Bannzeichen = DB.Entity(import.meta.url, {
|
|
13
|
+
name: "Bannzeichen",
|
|
14
|
+
namePlural: "Bannzeichen",
|
|
15
|
+
type: () => DB.Object({
|
|
16
|
+
options: DB.Required({
|
|
17
|
+
comment: `The options the Bannzeichen has, if any.
|
|
18
|
+
|
|
19
|
+
If there are multiple options, the Bannzeichen may be activated for each option, that is, multiple times.`,
|
|
20
|
+
type: DB.ChildEntities(BannzeichenOption),
|
|
21
|
+
}),
|
|
22
|
+
check: DB.Required({
|
|
23
|
+
comment: "Lists the linked three attributes used to make a skill check.",
|
|
24
|
+
type: DB.IncludeIdentifier(SkillCheck),
|
|
25
|
+
}),
|
|
26
|
+
parameters: DB.Required({
|
|
27
|
+
comment: "Measurable parameters of a Bannzeichen.",
|
|
28
|
+
type: DB.IncludeIdentifier(BannzeichenPerformanceParameters),
|
|
29
|
+
}),
|
|
30
|
+
property: DB.Required({
|
|
31
|
+
comment: "The associated property.",
|
|
32
|
+
type: PropertyIdentifier(),
|
|
33
|
+
}),
|
|
34
|
+
improvement_cost: DB.Required({
|
|
35
|
+
comment: "States which column is used to improve the skill.",
|
|
36
|
+
type: DB.IncludeIdentifier(BannzeichenImprovementCost),
|
|
37
|
+
}),
|
|
38
|
+
src,
|
|
39
|
+
translations: NestedTranslationMap(DB.Required, "Bannzeichen", DB.Object({
|
|
40
|
+
name: DB.Required({
|
|
41
|
+
comment: `The Bannzeichen’s name.
|
|
42
|
+
|
|
43
|
+
If the Bannzeichen has an option, the option’s name will/should not be included in the name as well as its surrounding parenthesis. It will/should be combined on demand.`,
|
|
44
|
+
type: DB.String({ minLength: 1 }),
|
|
45
|
+
}),
|
|
46
|
+
name_in_library,
|
|
47
|
+
native_name: DB.Optional({
|
|
48
|
+
comment: "The native name of the Bannzeichen. It has to be specified unless it is defined by an option.",
|
|
49
|
+
type: DB.String({ minLength: 1 }),
|
|
50
|
+
}),
|
|
51
|
+
effect: DB.Required({
|
|
52
|
+
comment: "The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.",
|
|
53
|
+
type: DB.IncludeIdentifier(ActivatableSkillEffect),
|
|
54
|
+
}),
|
|
55
|
+
cost: DB.Optional({
|
|
56
|
+
comment: "The ae-cost of the Bannzeichen",
|
|
57
|
+
type: DB.String({ minLength: 1 }),
|
|
58
|
+
}),
|
|
59
|
+
crafting_time: DB.Optional({
|
|
60
|
+
comment: "The crafting time of the Bannzeichen",
|
|
61
|
+
type: DB.String({ minLength: 1 }),
|
|
62
|
+
}),
|
|
63
|
+
duration: DB.Optional({
|
|
64
|
+
comment: "The duration of the Bannzeichen",
|
|
65
|
+
type: DB.String({ minLength: 1 }),
|
|
66
|
+
}),
|
|
67
|
+
errata: DB.Optional({
|
|
68
|
+
type: DB.IncludeIdentifier(Errata),
|
|
69
|
+
}),
|
|
70
|
+
})),
|
|
71
|
+
}),
|
|
72
|
+
instanceDisplayName: {},
|
|
73
|
+
uniqueConstraints: [
|
|
74
|
+
{
|
|
75
|
+
entityMapKeyPath: "translations",
|
|
76
|
+
keyPathInEntityMap: "name",
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
});
|
|
80
|
+
const BannzeichenPerformanceParameters = DB.TypeAlias(import.meta.url, {
|
|
81
|
+
name: "BannzeichenPerformanceParameters",
|
|
82
|
+
comment: "Measurable parameters of a Bannzeichen.",
|
|
83
|
+
type: () => DB.Object({
|
|
84
|
+
cost: DB.Required({
|
|
85
|
+
comment: "The AE cost.",
|
|
86
|
+
type: DB.IncludeIdentifier(BannzeichenCost),
|
|
87
|
+
}),
|
|
88
|
+
crafting_time: DB.Required({
|
|
89
|
+
comment: "The crafting time.",
|
|
90
|
+
type: DB.IncludeIdentifier(BannzeichenCraftingTime),
|
|
91
|
+
}),
|
|
92
|
+
duration: DB.Required({
|
|
93
|
+
comment: "The duration.",
|
|
94
|
+
type: DB.IncludeIdentifier(BannzeichenDuration),
|
|
95
|
+
}),
|
|
96
|
+
}),
|
|
97
|
+
});
|
|
98
|
+
const BannzeichenCost = DB.Enum(import.meta.url, {
|
|
99
|
+
name: "BannzeichenCost",
|
|
100
|
+
values: () => ({
|
|
101
|
+
Single: DB.EnumCase({ type: DB.IncludeIdentifier(SingleBannzeichenCost) }),
|
|
102
|
+
Disjunction: DB.EnumCase({ type: DB.IncludeIdentifier(BannzeichenCostDisjunction) }),
|
|
103
|
+
DerivedFromOption: DB.EnumCase({ type: null }),
|
|
104
|
+
}),
|
|
105
|
+
});
|
|
106
|
+
const SingleBannzeichenCost = DB.TypeAlias(import.meta.url, {
|
|
107
|
+
name: "SingleBannzeichenCost",
|
|
108
|
+
type: () => DB.Object({
|
|
109
|
+
value: DB.Required({
|
|
110
|
+
comment: "The AE cost value.",
|
|
111
|
+
type: DB.Integer({ minimum: 1 }),
|
|
112
|
+
}),
|
|
113
|
+
translations: NestedTranslationMap(DB.Optional, "SingleBannzeichenCost", DB.Object({
|
|
114
|
+
note: DB.Required({
|
|
115
|
+
comment: "A note, appended to the generated string in parenthesis.",
|
|
116
|
+
type: DB.IncludeIdentifier(ResponsiveTextOptional),
|
|
117
|
+
}),
|
|
118
|
+
})),
|
|
119
|
+
}),
|
|
120
|
+
});
|
|
121
|
+
const BannzeichenCostDisjunction = DB.TypeAlias(import.meta.url, {
|
|
122
|
+
name: "BannzeichenCostDisjunction",
|
|
123
|
+
type: () => DB.Object({
|
|
124
|
+
list: DB.Required({
|
|
125
|
+
comment: "A set of possible AE cost values.",
|
|
126
|
+
type: DB.Array(DB.IncludeIdentifier(SingleBannzeichenCost), {
|
|
127
|
+
minItems: 2,
|
|
128
|
+
uniqueItems: true,
|
|
129
|
+
}),
|
|
130
|
+
}),
|
|
131
|
+
}),
|
|
132
|
+
});
|
|
133
|
+
const BannzeichenCraftingTimePerCountable = DB.TypeAlias(import.meta.url, {
|
|
134
|
+
name: "BannzeichenCraftingTimePerCountable",
|
|
135
|
+
type: () => DB.Object({
|
|
136
|
+
translations: NestedTranslationMap(DB.Required, "BannzeichenCraftingTimePerCountable", DB.Object({
|
|
137
|
+
countable: DB.Required({
|
|
138
|
+
comment: "The countable entity name.",
|
|
139
|
+
type: DB.IncludeIdentifier(ResponsiveText),
|
|
140
|
+
}),
|
|
141
|
+
})),
|
|
142
|
+
}),
|
|
143
|
+
});
|
|
144
|
+
const BannzeichenCraftingTime = DB.TypeAlias(import.meta.url, {
|
|
145
|
+
name: "BannzeichenCraftingTime",
|
|
146
|
+
type: () => DB.Object({
|
|
147
|
+
value: DB.Required({
|
|
148
|
+
comment: "The crafting time in actions.",
|
|
149
|
+
type: DB.Integer({ minimum: 1 }),
|
|
150
|
+
}),
|
|
151
|
+
per: DB.Optional({
|
|
152
|
+
comment: "The crafting time has to be per a specific countable entity, e.g. `8 Actions per person`.",
|
|
153
|
+
type: DB.IncludeIdentifier(BannzeichenCraftingTimePerCountable),
|
|
154
|
+
}),
|
|
155
|
+
}),
|
|
156
|
+
});
|
|
157
|
+
const BannzeichenDuration = DB.TypeAlias(import.meta.url, {
|
|
158
|
+
name: "BannzeichenDuration",
|
|
159
|
+
type: () => DB.Object({
|
|
160
|
+
slow: DB.Required({
|
|
161
|
+
comment: "The duration on slow Bannzeichen application.",
|
|
162
|
+
type: DB.IncludeIdentifier(CheckResultBasedDuration),
|
|
163
|
+
}),
|
|
164
|
+
fast: DB.Required({
|
|
165
|
+
comment: "The duration on fast Bannzeichen application.",
|
|
166
|
+
type: DB.IncludeIdentifier(CheckResultBasedDuration),
|
|
167
|
+
}),
|
|
168
|
+
}),
|
|
169
|
+
});
|
|
170
|
+
const BannzeichenImprovementCost = DB.Enum(import.meta.url, {
|
|
171
|
+
name: "BannzeichenImprovementCost",
|
|
172
|
+
values: () => ({
|
|
173
|
+
Constant: DB.EnumCase({ type: DB.IncludeIdentifier(ImprovementCost) }),
|
|
174
|
+
DerivedFromOption: DB.EnumCase({ type: null }),
|
|
175
|
+
}),
|
|
176
|
+
});
|
|
177
|
+
export const BannzeichenOption = DB.Entity(import.meta.url, {
|
|
178
|
+
name: "BannzeichenOption",
|
|
179
|
+
namePlural: "BannzeichenOptions",
|
|
180
|
+
type: () => DB.Object({
|
|
181
|
+
parent: DB.Required({
|
|
182
|
+
comment: "The Bannzeichen this option belongs to.",
|
|
183
|
+
type: BannzeichenIdentifier(),
|
|
184
|
+
}),
|
|
185
|
+
cost: DB.Optional({
|
|
186
|
+
comment: "The option-specific AE cost.",
|
|
187
|
+
type: DB.IncludeIdentifier(SingleBannzeichenCost),
|
|
188
|
+
}),
|
|
189
|
+
improvement_cost: DB.Optional({
|
|
190
|
+
comment: "The option-specific improvement cost.",
|
|
191
|
+
type: DB.IncludeIdentifier(ImprovementCost),
|
|
192
|
+
}),
|
|
193
|
+
suboption: DB.Optional({
|
|
194
|
+
type: DB.IncludeIdentifier(BannzeichenSuboption),
|
|
195
|
+
}),
|
|
196
|
+
translations: NestedTranslationMap(DB.Required, "BannzeichenOption", DB.Object({
|
|
197
|
+
name: DB.Required({
|
|
198
|
+
comment: `The Bannzeichen option’s name.
|
|
199
|
+
|
|
200
|
+
The surrounding parenthesis will/should not be included, they will/should be generated.`,
|
|
201
|
+
type: DB.String({ minLength: 1 }),
|
|
202
|
+
}),
|
|
203
|
+
native_name: DB.Required({
|
|
204
|
+
comment: "The native name of the Bannzeichen option.",
|
|
205
|
+
type: DB.String({ minLength: 1 }),
|
|
206
|
+
}),
|
|
207
|
+
})),
|
|
208
|
+
}),
|
|
209
|
+
parentReferenceKey: "parent",
|
|
210
|
+
instanceDisplayName: {},
|
|
211
|
+
});
|
|
212
|
+
const BannzeichenSuboption = DB.Enum(import.meta.url, {
|
|
213
|
+
name: "BannzeichenSuboption",
|
|
214
|
+
values: () => ({
|
|
215
|
+
Custom: DB.EnumCase({
|
|
216
|
+
comment: "The sub-option may be defined by the user (as a arbitrary text).",
|
|
217
|
+
type: DB.IncludeIdentifier(CustomBannzeichenSuboption),
|
|
218
|
+
}),
|
|
219
|
+
}),
|
|
220
|
+
});
|
|
221
|
+
const CustomBannzeichenSuboption = DB.TypeAlias(import.meta.url, {
|
|
222
|
+
name: "CustomBannzeichenSuboption",
|
|
223
|
+
type: () => DB.Object({
|
|
224
|
+
translations: NestedTranslationMap(DB.Required, "CustomBannzeichenSuboption", DB.Object({
|
|
225
|
+
examples: DB.Optional({
|
|
226
|
+
comment: "One or more examples for the suboption.",
|
|
227
|
+
type: DB.Array(DB.String({ minLength: 1 }), { minItems: 1, uniqueItems: true }),
|
|
228
|
+
}),
|
|
229
|
+
}, { minProperties: 1 })),
|
|
230
|
+
}),
|
|
231
|
+
});
|