Compare commits

...

2 Commits

Author SHA1 Message Date
Lector 5d8616dd56 StylePrerequisite.ts is now a single type with enum. 2026-06-27 16:27:18 +02:00
Lector 0dcdda42f5 GeneralPrerequisite can now contain any Style-SA 2026-06-26 01:03:29 +02:00
3 changed files with 27 additions and 2 deletions
@@ -81,6 +81,7 @@ const isPrerequisiteFor = (
case "PrimaryAttribute":
case "BlessedTradition":
case "MagicalTradition":
case "Style":
case "RatedMinimumNumber":
case "RatedSum":
case "Enhancement":
@@ -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) }),
@@ -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 }),
}),
})