diff --git a/src/cache/magicalAndBlessedAdvantagesAndDisadvantages.ts b/src/cache/magicalAndBlessedAdvantagesAndDisadvantages.ts index ed312eaa..d0e35a1b 100644 --- a/src/cache/magicalAndBlessedAdvantagesAndDisadvantages.ts +++ b/src/cache/magicalAndBlessedAdvantagesAndDisadvantages.ts @@ -81,6 +81,7 @@ const isPrerequisiteFor = ( case "PrimaryAttribute": case "BlessedTradition": case "MagicalTradition": + case "Style": case "RatedMinimumNumber": case "RatedSum": case "Enhancement": diff --git a/src/types/prerequisites/PrerequisiteGroups.ts b/src/types/prerequisites/PrerequisiteGroups.ts index 47ed01ef..12bc4c03 100644 --- a/src/types/prerequisites/PrerequisiteGroups.ts +++ b/src/types/prerequisites/PrerequisiteGroups.ts @@ -8,7 +8,7 @@ import { InfluencePrerequisite } from "./single/InfluencePrerequisite.js" import { PactPrerequisite } from "./single/PactPrerequisite.js" import { PersonalityTraitPrerequisite } from "./single/PersonalityTraitPrerequisite.js" import { PrimaryAttributePrerequisite } from "./single/PrimaryAttributePrerequisite.js" -import { ProfessionPrerequisite } from "./single/ProfessionPrerequisite.ts" +import { ProfessionPrerequisite } from "./single/ProfessionPrerequisite.js" import { PublicationPrerequisite } from "./single/PublicationPrerequisite.js" import { RacePrerequisite } from "./single/RacePrerequisite.js" import { RatedMinimumNumberPrerequisite } from "./single/RatedMinimumNumberPrerequisite.js" @@ -24,6 +24,7 @@ import { BlessedTraditionPrerequisite, MagicalTraditionPrerequisite, } from "./single/TraditionPrerequisite.js" +import { StylePrerequisite } from "./single/StylePrerequisite.js" export const RulePrerequisiteGroup = DB.Enum(import.meta.url, { name: "RulePrerequisiteGroup", @@ -59,6 +60,7 @@ export const PublicationPrerequisiteGroup = DB.Enum(import.meta.url, { export const GeneralPrerequisiteGroup = DB.Enum(import.meta.url, { name: "GeneralPrerequisiteGroup", values: () => ({ + Activatable: DB.EnumCase({ type: DB.IncludeIdentifier(ActivatablePrerequisite) }), Sex: DB.EnumCase({ type: DB.IncludeIdentifier(SexPrerequisite) }), Race: DB.EnumCase({ type: DB.IncludeIdentifier(RacePrerequisite) }), Culture: DB.EnumCase({ type: DB.IncludeIdentifier(CulturePrerequisite) }), @@ -67,9 +69,9 @@ export const GeneralPrerequisiteGroup = DB.Enum(import.meta.url, { State: DB.EnumCase({ type: DB.IncludeIdentifier(StatePrerequisite) }), Rule: DB.EnumCase({ type: DB.IncludeIdentifier(RulePrerequisite) }), PrimaryAttribute: DB.EnumCase({ type: DB.IncludeIdentifier(PrimaryAttributePrerequisite) }), - Activatable: DB.EnumCase({ type: DB.IncludeIdentifier(ActivatablePrerequisite) }), BlessedTradition: DB.EnumCase({ type: DB.IncludeIdentifier(BlessedTraditionPrerequisite) }), MagicalTradition: DB.EnumCase({ type: DB.IncludeIdentifier(MagicalTraditionPrerequisite) }), + Style: DB.EnumCase({ type: DB.IncludeIdentifier(StylePrerequisite) }), Rated: DB.EnumCase({ type: DB.IncludeIdentifier(RatedPrerequisite) }), RatedMinimumNumber: DB.EnumCase({ type: DB.IncludeIdentifier(RatedMinimumNumberPrerequisite) }), RatedSum: DB.EnumCase({ type: DB.IncludeIdentifier(RatedSumPrerequisite) }), diff --git a/src/types/prerequisites/single/StylePrerequisite.ts b/src/types/prerequisites/single/StylePrerequisite.ts new file mode 100644 index 00000000..393d5592 --- /dev/null +++ b/src/types/prerequisites/single/StylePrerequisite.ts @@ -0,0 +1,22 @@ +import * as DB from "tsondb/schema/dsl" +import { DisplayOption } from "../DisplayOption.js" + +export const StylePrerequisite = DB.TypeAlias(import.meta.url, { + name: "SkillStylePrerequisite", + type: () => + DB.Object({ + category: DB.Required({ + type: DB.IncludeIdentifier(StyleCategory), + }), + display_option: DB.Optional({ + type: DB.IncludeIdentifier(DisplayOption), + }), + }), +}) + +export const StyleCategory = DB.Enum(import.meta.url, { + name: "StyleCategory", + values: () => ({ + SkillStyle: DB.EnumCase({ type: null }), + }), +})