fix typescript exceeds stack size

This commit is contained in:
Lukas Obermann
2025-07-10 23:03:56 +02:00
parent 671c9e317b
commit 7fdc2a1ae3
70 changed files with 555 additions and 553 deletions
+1 -1
View File
@@ -16,7 +16,7 @@ export const AnimalDisease = Entity(import.meta.url, {
comment: `The animal types this disease applies to.
If no animal types are given, the animal disease applies to all animal types.`,
type: Array(AnimalTypeIdentifier),
type: Array(AnimalTypeIdentifier()),
}),
communicability_to_intelligent_creatures: Required({
comment: `If and at which chance the disease can be communicated to intelligent creatures.
+4 -4
View File
@@ -41,7 +41,7 @@ export const Cantrip = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
note: Optional({
comment:
@@ -98,7 +98,7 @@ const ExclusiveCantripNote = TypeAlias(import.meta.url, {
Object({
traditions: Required({
comment: "The traditions the cantrip is exclusively available to.",
type: Array(MagicalTraditionIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(MagicalTraditionIdentifier(), { minItems: 1, uniqueItems: true }),
}),
}),
})
@@ -117,7 +117,7 @@ const CommonCantripNotes = TypeAlias(import.meta.url, {
const CommonCantripNote = Enum(import.meta.url, {
name: "CommonCantripNote",
values: () => ({
Academy: EnumCase({ type: CurriculumIdentifier }),
Academy: EnumCase({ type: CurriculumIdentifier() }),
Tradition: EnumCase({ type: IncludeIdentifier(CommonCantripTraditionNote) }),
}),
})
@@ -128,7 +128,7 @@ const CommonCantripTraditionNote = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The magical traditions identifier.",
type: MagicalTraditionIdentifier,
type: MagicalTraditionIdentifier(),
}),
translations: NestedLocaleMap(
Required,
+2 -2
View File
@@ -28,7 +28,7 @@ export const CloseCombatTechnique = Entity(import.meta.url, {
}),
primary_attribute: Required({
comment: "The primary attribute(s).",
type: Array(AttributeIdentifier, { minItems: 1, maxItems: 2, uniqueItems: true }),
type: Array(AttributeIdentifier(), { minItems: 1, maxItems: 2, uniqueItems: true }),
}),
breaking_point_rating: Required({
comment: "The *Breaking Point Rating* of the respective combat technique.",
@@ -88,7 +88,7 @@ export const RangedCombatTechnique = Entity(import.meta.url, {
}),
primary_attribute: Required({
comment: "The primary attribute(s).",
type: Array(AttributeIdentifier, { minItems: 1, maxItems: 2, uniqueItems: true }),
type: Array(AttributeIdentifier(), { minItems: 1, maxItems: 2, uniqueItems: true }),
}),
breaking_point_rating: Required({
comment: "The *Breaking Point Rating* of the respective combat technique.",
+16 -16
View File
@@ -42,12 +42,12 @@ export const Culture = Entity(import.meta.url, {
Object({
language: Required({
comment: "A list of native languages (usually it is only one).",
type: Array(LanguageIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(LanguageIdentifier(), { minItems: 1, uniqueItems: true }),
}),
script: Optional({
comment:
"A list of native scripts (usually it is only one). If the culture does not use any script, leave this array empty.",
type: Array(ScriptIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(ScriptIdentifier(), { minItems: 1, uniqueItems: true }),
}),
area_knowledge: Required({
comment: "If the area knowledge has a fixed value or can be adjusted.",
@@ -55,7 +55,7 @@ export const Culture = Entity(import.meta.url, {
}),
social_status: Required({
comment: "A list of possible social status in the respective culture.",
type: Array(SocialStatusIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(SocialStatusIdentifier(), { minItems: 1, uniqueItems: true }),
}),
common_professions: Required({
comment:
@@ -65,28 +65,28 @@ export const Culture = Entity(import.meta.url, {
common_advantages: Optional({
comment: "A list of common advantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]),
{ minItems: 1 }
),
}),
common_disadvantages: Optional({
comment: "A list of common disadvantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]),
{ minItems: 1 }
),
}),
uncommon_advantages: Optional({
comment: "A list of uncommon advantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]),
{ minItems: 1 }
),
}),
uncommon_disadvantages: Optional({
comment: "A list of uncommon disadvantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]),
{ minItems: 1 }
),
}),
@@ -228,12 +228,12 @@ const ProfessionConstraint = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The professions identifier.",
type: ProfessionIdentifier,
type: ProfessionIdentifier(),
}),
weighted_variants: Optional({
comment:
"Some profession variants are more common than others. There may be cultures where some variants are not represented at all.",
type: GenIncludeIdentifier(Weighted, [ProfessionVariantIdentifier]),
type: GenIncludeIdentifier(Weighted, [ProfessionVariantIdentifier()]),
}),
rarity: Optional({
comment: "Some professions may be found in a culture, but are not that common.",
@@ -248,12 +248,12 @@ const MagicalTraditionConstraint = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The magical traditions identifier.",
type: MagicalTraditionIdentifier,
type: MagicalTraditionIdentifier(),
}),
weighted_professions: Optional({
comment:
"Some professions are more common than others. There may be cultures where some professions are not represented at all.",
type: GenIncludeIdentifier(Weighted, [ProfessionIdentifier]),
type: GenIncludeIdentifier(Weighted, [ProfessionIdentifier()]),
}),
rarity: Optional({
comment: "Some traditions may be found in a culture, but are not that common.",
@@ -268,12 +268,12 @@ const BlessedTraditionConstraint = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The blessed traditions identifier.",
type: BlessedTraditionIdentifier,
type: BlessedTraditionIdentifier(),
}),
weighted_professions: Optional({
comment:
"Some professions are more common than others. There may be cultures where some professions are not represented at all.",
type: GenIncludeIdentifier(Weighted, [ProfessionIdentifier]),
type: GenIncludeIdentifier(Weighted, [ProfessionIdentifier()]),
}),
rarity: Optional({
comment: "Some traditions may be found in a culture, but are not that common.",
@@ -308,7 +308,7 @@ const BlessedCommonProfessionConstraint = Enum(import.meta.url, {
const PlainCommonProfessions = TypeAlias(import.meta.url, {
name: "PlainCommonProfessions",
type: () => GenIncludeIdentifier(CommonProfessionConstraints, [ProfessionIdentifier]),
type: () => GenIncludeIdentifier(CommonProfessionConstraints, [ProfessionIdentifier()]),
})
const GroupedCommonProfessions = TypeAlias(import.meta.url, {
@@ -349,7 +349,7 @@ const CommonProfessions = Enum(import.meta.url, {
const CommonnessRatedSkill = TypeAlias(import.meta.url, {
name: "CommonnessRatedSkill",
type: () => SkillIdentifier,
type: () => SkillIdentifier(),
})
const CulturalPackageItem = TypeAlias(import.meta.url, {
@@ -358,7 +358,7 @@ const CulturalPackageItem = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The skills identifier.",
type: SkillIdentifier,
type: SkillIdentifier(),
}),
points: Required({
comment:
+2 -2
View File
@@ -33,7 +33,7 @@ export const FamiliarsTrick = Entity(import.meta.url, {
comment: `The animal types this trick is available to. Either it is available to all or only a list of specific animal types.
If no animal types are given, the animal disease applies to all animal types.`,
type: Array(AnimalTypeIdentifier, { uniqueItems: true }),
type: Array(AnimalTypeIdentifier(), { uniqueItems: true }),
}),
parameters: Required({
comment: "Measurable parameters of a familiars trick.",
@@ -81,7 +81,7 @@ If no animal types are given, the animal disease applies to all animal types.`,
const FamiliarsTrickProperty = Enum(import.meta.url, {
name: "FamiliarsTrickProperty",
values: () => ({
Fixed: EnumCase({ type: PropertyIdentifier }),
Fixed: EnumCase({ type: PropertyIdentifier() }),
Indefinite: EnumCase({ type: IncludeIdentifier(IndefiniteFamiliarsTrickProperty) }),
}),
})
+7 -7
View File
@@ -57,7 +57,7 @@ export const Curriculum = Entity(import.meta.url, {
Object({
guideline: Required({
comment: "The institutions guideline.",
type: GuidelineIdentifier,
type: GuidelineIdentifier(),
}),
elective_spellworks: Required({
comment: "The institutions elective spellworks package.",
@@ -129,7 +129,7 @@ const ElectiveSpellworkRestriction = Enum(import.meta.url, {
comment:
"The elective spellwork may only take effect if a certain condition is met. The condition may be related to professions or profession variants, but it is designed so that it can work without a specific profession, as multiple may belong to an institute, but with referencing other entities instead.",
values: () => ({
Element: EnumCase({ type: ElementIdentifier }),
Element: EnumCase({ type: ElementIdentifier() }),
}),
})
@@ -156,7 +156,7 @@ const RestrictedProperty = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The identifier of the property that spellworks are disallowed from.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
exclude: Optional({
comment: "Exclude specific spellworks from the restriction.",
@@ -173,7 +173,7 @@ const RestrictedProperty = TypeAlias(import.meta.url, {
const LessonPackages = TypeAlias(import.meta.url, {
name: "LessonPackages",
comment: "A list of available lesson packages.",
type: () => Array(LessonPackageIdentifier, { minItems: 2, maxItems: 2 }),
type: () => Array(LessonPackageIdentifier(), { minItems: 2, maxItems: 2 }),
})
export const LessonPackage = Entity(import.meta.url, {
@@ -184,7 +184,7 @@ export const LessonPackage = Entity(import.meta.url, {
{
curriculum: Required({
comment: "The associated curriculum.",
type: CurriculumIdentifier,
type: CurriculumIdentifier(),
}),
spellwork_changes: Required({
comment:
@@ -258,7 +258,7 @@ const SkillAdjustment = TypeAlias(import.meta.url, {
type: () =>
Object({
id: Required({
type: SkillIdentifier,
type: SkillIdentifier(),
}),
points: Required({
comment: "The skill points that will be added to the current skill rating.",
@@ -282,7 +282,7 @@ const SpellworkAdjustment = TypeAlias(import.meta.url, {
tradition: Optional({
comment:
"The target tradition. If the target spell is not from the Guild Mage tradition, specify the tradition identifier here.",
type: MagicalTraditionIdentifier,
type: MagicalTraditionIdentifier(),
}),
}),
})
+2 -2
View File
@@ -11,11 +11,11 @@ export const PactCategory = Entity(import.meta.url, {
Object({
types: Required({
comment: "Types of creatures in this category.",
type: Array(PactTypeIdentifier, { minItems: 1 }),
type: Array(PactTypeIdentifier(), { minItems: 1 }),
}),
domains: Required({
comment: "Domains in this category.",
type: Array(PactDomainIdentifier, { minItems: 1 }),
type: Array(PactDomainIdentifier(), { minItems: 1 }),
}),
src,
translations: NestedLocaleMap(
+10 -10
View File
@@ -30,11 +30,11 @@ export const Patron = Entity(import.meta.url, {
Object({
category: Required({
comment: "The patrons category.",
type: PatronCategoryIdentifier,
type: PatronCategoryIdentifier(),
}),
skills: Required({
comment: "The patron-specific skills.",
type: Array(SkillIdentifier, { minItems: 3, maxItems: 3 }),
type: Array(SkillIdentifier(), { minItems: 3, maxItems: 3 }),
}),
culture: Required({
comment:
@@ -44,7 +44,7 @@ export const Patron = Entity(import.meta.url, {
primary_patron_cultures: Required({
comment:
"The list of cultures where patrons from this category can be the primary patron of.",
type: Array(CultureIdentifier, { uniqueItems: true }),
type: Array(CultureIdentifier(), { uniqueItems: true }),
}),
powers: Optional({
comment:
@@ -64,19 +64,19 @@ export const Patron = Entity(import.meta.url, {
comment: `The patron may grant common advantages that are taken into account during character creation.
*Source:* Geisterwald & Knochenklippen, p. 6-7`,
type: Array(AdvantageIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(AdvantageIdentifier(), { minItems: 1, uniqueItems: true }),
}),
common_disadvantages: Required({
comment: `The patron may grant common disadvantages that are taken into account during character creation.
*Source:* Geisterwald & Knochenklippen, p. 6-7`,
type: Array(DisadvantageIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(DisadvantageIdentifier(), { minItems: 1, uniqueItems: true }),
}),
common_spellworks: Required({
comment: `The animist may learn spellworks common for this patron.
*Source:* Geisterwald & Knochenklippen, p. 6-7`,
type: Array(DisadvantageIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(DisadvantageIdentifier(), { minItems: 1, uniqueItems: true }),
}),
src,
translations: NestedLocaleMap(
@@ -101,7 +101,7 @@ const PatronCulture = TypeAlias(import.meta.url, {
Object({
set: Required({
comment: "The AE cost value.",
type: Array(CultureIdentifier, { uniqueItems: true }),
type: Array(CultureIdentifier(), { uniqueItems: true }),
}),
operation: Optional({
comment: "The interval in which you have to pay the AE cost again.",
@@ -142,7 +142,7 @@ const AdvantageAnimalPower = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The advantages identifier.",
type: AdvantageIdentifier,
type: AdvantageIdentifier(),
}),
level: Optional({
comment: "It grants a higher level of the advantage.",
@@ -161,7 +161,7 @@ const SkillAnimalPower = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The skills identifier.",
type: SkillIdentifier,
type: SkillIdentifier(),
}),
points: Required({
comment: "The points that gets added to the skills rating.",
@@ -228,7 +228,7 @@ const AttributeAnimalPower = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The attributes identifier.",
type: AttributeIdentifier,
type: AttributeIdentifier(),
}),
value: Required({
comment: "The value that gets added to the attribute.",
+1 -1
View File
@@ -10,7 +10,7 @@ export const PatronCategory = Entity(import.meta.url, {
primary_patron_cultures: Required({
comment:
"The list of cultures where patrons from this category can be the primary patron of.",
type: Array(CultureIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(CultureIdentifier(), { minItems: 1, uniqueItems: true }),
}),
translations: NestedLocaleMap(
Required,
+1 -1
View File
@@ -31,7 +31,7 @@ export const PersonalityTrait = Entity(import.meta.url, {
}),
combination_options: Optional({
comment: "The lower-level personality trait(s) this trait can be combined with.",
type: Array(PersonalityTraitIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(PersonalityTraitIdentifier(), { minItems: 1, uniqueItems: true }),
}),
src,
translations: NestedLocaleMap(
+11 -11
View File
@@ -39,7 +39,7 @@ export const Profession = Entity(import.meta.url, {
comment: `A list of professions representing the same profession but with (slightly) different stats. For example, there may be a profession in a regional sourcebook or in the core rules and a profession in an extension rulebook like Magic of Aventuria, where the profession is basically called the same and almost has the same values, but the version from Magic of Aventuria features a spell style special ability that does not exist in the core rules or regional sourcebook.
The profession representation may feature different values for different explicitly mentioned experience levels. In most cases, there is only one stats package, which targets the experience level *Experienced*.`,
type: Array(ProfessionVersionIdentifier, { minItems: 1 }),
type: Array(ProfessionVersionIdentifier(), { minItems: 1 }),
isTransient: true,
}),
}),
@@ -70,7 +70,7 @@ const MagicalProfessionGroup = TypeAlias(import.meta.url, {
Object({
curriculum: Optional({
comment: "The curriculum/academy associated with this magical profession, if any.",
type: CurriculumIdentifier,
type: CurriculumIdentifier(),
}),
}),
})
@@ -82,7 +82,7 @@ export const ProfessionVersion = Entity(import.meta.url, {
Object({
profession: Required({
comment: "The associated profession.",
type: ProfessionIdentifier,
type: ProfessionIdentifier(),
}),
prerequisites: Optional({
comment:
@@ -92,20 +92,20 @@ export const ProfessionVersion = Entity(import.meta.url, {
package: Required({
comment:
"A list of available race variants where one has to be selected. If no variants are to be selected, a single variant with no name has to be provided which will be used as the missing values for the base race.",
type: Array(ProfessionPackageIdentifier, { minItems: 1 }),
type: Array(ProfessionPackageIdentifier(), { minItems: 1 }),
isTransient: true,
}),
suggested_advantages: Optional({
comment: "A list of typical advantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]),
{ minItems: 1 }
),
}),
suggested_disadvantages: Optional({
comment: "A list of typical disadvantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]),
{ minItems: 1 }
),
}),
@@ -113,7 +113,7 @@ export const ProfessionVersion = Entity(import.meta.url, {
comment:
"A list of advantages that do not fit well with this profession; to be checked with the GM before taking any of them.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]),
{ minItems: 1 }
),
}),
@@ -121,7 +121,7 @@ export const ProfessionVersion = Entity(import.meta.url, {
comment:
"A list of disadvantages that do not fit well with this profession; to be checked with the GM before taking any of them.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]),
{ minItems: 1 }
),
}),
@@ -173,12 +173,12 @@ export const ProfessionPackage = Entity(import.meta.url, {
Object({
profession_version: Required({
comment: "The associated profession version.",
type: ProfessionVersionIdentifier,
type: ProfessionVersionIdentifier(),
}),
experience_level: Optional({
comment:
"The associated experience level. By default, profession packages are associated with the experience level *Experienced*.",
type: ProfessionVersionIdentifier,
type: ProfessionVersionIdentifier(),
}),
ap_value: Required({
comment: "What does the professional package cost in adventure points?",
@@ -245,7 +245,7 @@ export const ProfessionVariant = Entity(import.meta.url, {
Object({
profession_package: Required({
comment: "The associated profession package.",
type: ProfessionPackageIdentifier,
type: ProfessionPackageIdentifier(),
}),
ap_value: Optional({
comment: "The AP value you have to pay for the package variant.",
+14 -14
View File
@@ -51,19 +51,19 @@ export const Race = Entity(import.meta.url, {
automatic_advantages: Optional({
comment:
"A list of automatically applied advantages. This does only work for advantages with no further configuration such as level or special selection.",
type: Array(AdvantageIdentifier, { minItems: 1 }),
type: Array(AdvantageIdentifier(), { minItems: 1 }),
}),
strongly_recommended_advantages: Optional({
comment: "A list of strongly recommended advantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]),
{ minItems: 1 }
),
}),
strongly_recommended_disadvantages: Optional({
comment: "A list of strongly recommended disadvantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]),
{ minItems: 1 }
),
}),
@@ -184,7 +184,7 @@ const FixedAttributeAdjustment = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The attribute the modifier applies to.",
type: AttributeIdentifier,
type: AttributeIdentifier(),
}),
value: Required({
comment:
@@ -202,7 +202,7 @@ const SelectableAttributeAdjustment = TypeAlias(import.meta.url, {
Object({
list: Required({
comment: "A list of attributes the player has to choose from.",
type: Array(AttributeIdentifier, { minItems: 2 }),
type: Array(AttributeIdentifier(), { minItems: 2 }),
}),
value: Required({
comment:
@@ -264,7 +264,7 @@ const RaceVariants = TypeAlias(import.meta.url, {
name: "RaceVariants",
comment:
"A list of available race variants where one has to be selected. If no variants are to be selected, a single variant with no name has to be provided which will be used as the missing values for the base race.",
type: () => Array(RaceVariantIdentifier, { minItems: 1 }),
type: () => Array(RaceVariantIdentifier(), { minItems: 1 }),
})
export const RaceVariant = Entity(import.meta.url, {
@@ -274,49 +274,49 @@ export const RaceVariant = Entity(import.meta.url, {
Object({
race: Required({
comment: "The associated race.",
type: RaceIdentifier,
type: RaceIdentifier(),
}),
common_cultures: Optional({
comment: "The list of common cultures.",
type: Array(CultureIdentifier, { minItems: 1 }),
type: Array(CultureIdentifier(), { minItems: 1 }),
}),
common_advantages: Optional({
comment: "A list of common advantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]),
{ minItems: 1 }
),
}),
common_disadvantages: Optional({
comment: "A list of common disadvantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]),
{ minItems: 1 }
),
}),
uncommon_advantages: Optional({
comment: "A list of uncommon advantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]),
{ minItems: 1 }
),
}),
uncommon_disadvantages: Optional({
comment: "A list of uncommon disadvantages.",
type: Array(
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier]),
GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]),
{ minItems: 1 }
),
}),
hair_color: Optional({
comment:
"An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.",
type: Array(HairColorIdentifier, { minItems: 20, maxItems: 20 }),
type: Array(HairColorIdentifier(), { minItems: 20, maxItems: 20 }),
}),
eye_color: Optional({
comment:
"An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.",
type: Array(EyeColorIdentifier, { minItems: 20, maxItems: 20 }),
type: Array(EyeColorIdentifier(), { minItems: 20, maxItems: 20 }),
}),
height: Required({
comment: "Configuration for random height generation.",
+1 -1
View File
@@ -35,7 +35,7 @@ export const Ritual = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
traditions: Required({
comment:
+2 -2
View File
@@ -44,7 +44,7 @@ export const Skill = Entity(import.meta.url, {
}),
group: Required({
comment: "The skill group this skill belongs to.",
type: SkillGroupIdentifier,
type: SkillGroupIdentifier(),
}),
src,
translations: NestedLocaleMap(
@@ -101,7 +101,7 @@ export const Applications = Enum(import.meta.url, {
Derived: EnumCase({ type: IncludeIdentifier(ApplicationCategory) }),
Explicit: EnumCase({
comment: "A list of explicit applications.",
type: Array(SkillApplicationIdentifier),
type: Array(SkillApplicationIdentifier()),
}),
}),
})
+1 -1
View File
@@ -35,7 +35,7 @@ export const Spell = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
traditions: Required({
comment:
+1 -1
View File
@@ -23,7 +23,7 @@ export const Talisman = Entity(import.meta.url, {
Object({
tradition: Required({
comment: "The tradition(s) the talisman belongs to.",
type: Array(BlessedTraditionIdentifier, { minItems: 1 }),
type: Array(BlessedTraditionIdentifier(), { minItems: 1 }),
}),
type: Optional({
comment: "The talisman type, if any.",
+1 -1
View File
@@ -9,7 +9,7 @@ export const TargetCategory = Entity(import.meta.url, {
ObjectType({
parent: Optional({
comment: "A superordinate target category, if present.",
type: TargetCategoryIdentifier,
type: TargetCategoryIdentifier(),
}),
translations: NestedLocaleMap(
Required,
+14 -14
View File
@@ -108,7 +108,7 @@ Note that this is only a full definition of options for simple logic that can be
const ExplicitSelectOption = Enum(import.meta.url, {
name: "ExplicitSelectOption",
values: () => ({
General: EnumCase({ type: GeneralIdentifier }),
General: EnumCase({ type: GeneralIdentifier() }),
Skill: EnumCase({ type: IncludeIdentifier(ExplicitSkillSelectOption) }),
CombatTechnique: EnumCase({ type: IncludeIdentifier(ExplicitCombatTechniqueSelectOption) }),
}),
@@ -179,7 +179,7 @@ const ExplicitSkillSelectOption = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The skills identifier.",
type: SkillIdentifier,
type: SkillIdentifier(),
}),
skill_applications: Optional({
comment:
@@ -460,7 +460,7 @@ const SkillApplication = TypeAlias(import.meta.url, {
const SkillApplicationAssociatedSkill = Enum(import.meta.url, {
name: "SkillApplicationAssociatedSkill",
values: () => ({
Single: EnumCase({ type: SkillIdentifier }),
Single: EnumCase({ type: SkillIdentifier() }),
Multiple: EnumCase({ type: IncludeIdentifier(SkillApplicationAssociatedSkills) }),
}),
})
@@ -471,7 +471,7 @@ const SkillApplicationAssociatedSkills = TypeAlias(import.meta.url, {
Object({
list: Required({
comment: "The skills this application belongs to.",
type: Array(SkillIdentifier, { minItems: 2 }),
type: Array(SkillIdentifier(), { minItems: 2 }),
}),
required_skill_rating: Optional({
comment:
@@ -523,7 +523,7 @@ const SkillUse = TypeAlias(import.meta.url, {
const SkillUseAssociatedSkill = Enum(import.meta.url, {
name: "SkillUseAssociatedSkill",
values: () => ({
Single: EnumCase({ type: SkillIdentifier }),
Single: EnumCase({ type: SkillIdentifier() }),
Multiple: EnumCase({ type: IncludeIdentifier(SkillUseAssociatedSkills) }),
}),
})
@@ -534,7 +534,7 @@ const SkillUseAssociatedSkills = TypeAlias(import.meta.url, {
Object({
list: Required({
comment: "The skills this use belongs to.",
type: Array(SkillIdentifier, { minItems: 2 }),
type: Array(SkillIdentifier(), { minItems: 2 }),
}),
}),
})
@@ -1333,7 +1333,7 @@ const PropertyDeclaration = Enum(import.meta.url, {
"The magic propertys identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.",
values: () => ({
DependingOnSelection: EnumCase({ type: null }),
Fixed: EnumCase({ type: PropertyIdentifier }),
Fixed: EnumCase({ type: PropertyIdentifier() }),
}),
})
@@ -1347,7 +1347,7 @@ export const property = () =>
export const aspect = () =>
Required({
comment: "The blessed aspect.",
type: AspectIdentifier,
type: AspectIdentifier(),
})
const AdvancedSpecialAbility = GenEnum(import.meta.url, {
@@ -1416,7 +1416,7 @@ const AdvancedSpecialAbilityDerivedFromExternalOption = GenTypeAlias(import.meta
Object({
external_entry: Required({
comment: "The possible advanced special abilities.",
type: MagicalTraditionIdentifier,
type: MagicalTraditionIdentifier(),
}),
map: Required({
comment: "Map options from the external entry to allowed advanced special abilities.",
@@ -1441,7 +1441,7 @@ const AdvancedSpecialAbilityDerivedFromExternalOptionMapping = GenTypeAlias(impo
Object({
from_option: Required({
comment: "The select options identifier.",
type: PatronIdentifier,
type: PatronIdentifier(),
}),
to_advanced: Required({
comment: "The advanced special abilitys identifier.",
@@ -1562,7 +1562,7 @@ const ApplicableCloseCombatTechniquesRestriction = Enum(import.meta.url, {
Race: EnumCase({ type: IncludeIdentifier(ApplicableCombatTechniquesRaceRestriction) }),
ExcludeCombatTechniques: EnumCase({
type: GenIncludeIdentifier(ApplicableCombatTechniquesNegativeCombatTechniquesRestriction, [
CloseCombatTechniqueIdentifier,
CloseCombatTechniqueIdentifier(),
]),
}),
}),
@@ -1577,7 +1577,7 @@ const ApplicableRangedCombatTechniquesRestriction = Enum(import.meta.url, {
Race: EnumCase({ type: IncludeIdentifier(ApplicableCombatTechniquesRaceRestriction) }),
ExcludeCombatTechniques: EnumCase({
type: GenIncludeIdentifier(ApplicableCombatTechniquesNegativeCombatTechniquesRestriction, [
RangedCombatTechniqueIdentifier,
RangedCombatTechniqueIdentifier(),
]),
}),
}),
@@ -1612,7 +1612,7 @@ const ApplicableCombatTechniquesNegativeCombatTechniquesRestriction = GenTypeAli
const ApplicableCombatTechniquesRaceRestriction = TypeAlias(import.meta.url, {
name: "ApplicableCombatTechniquesRaceRestriction",
type: () => RaceIdentifier,
type: () => RaceIdentifier(),
})
const ApplicableCombatTechniquesLevelRestriction = TypeAlias(import.meta.url, {
@@ -1632,7 +1632,7 @@ const ApplicableCombatTechniquesWeaponRestriction = TypeAlias(import.meta.url, {
Object({
list: Required({
comment: "The specific weapons this combat special ability is only applicable to.",
type: Array(WeaponIdentifier, { minItems: 1 }),
type: Array(WeaponIdentifier(), { minItems: 1 }),
}),
}),
})
+11 -11
View File
@@ -80,7 +80,7 @@ const ElementsSelectOptionCategory = TypeAlias(import.meta.url, {
Object({
specific: Optional({
comment: "Only include entries with the listed identifiers.",
type: Array(ElementIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(ElementIdentifier(), { minItems: 1, uniqueItems: true }),
}),
}),
})
@@ -191,18 +191,18 @@ const SkillsSelectOptionCategoryCategory = Enum(import.meta.url, {
values: () => ({
Skills: EnumCase({ type: IncludeIdentifier(SkillSelectOptionCategoryCategory) }),
Spells: EnumCase({
type: GenIncludeIdentifier(GenericSkillsSelectOptionCategoryCategory, [SpellIdentifier]),
type: GenIncludeIdentifier(GenericSkillsSelectOptionCategoryCategory, [SpellIdentifier()]),
}),
Rituals: EnumCase({
type: GenIncludeIdentifier(GenericSkillsSelectOptionCategoryCategory, [RitualIdentifier]),
type: GenIncludeIdentifier(GenericSkillsSelectOptionCategoryCategory, [RitualIdentifier()]),
}),
LiturgicalChants: EnumCase({
type: GenIncludeIdentifier(GenericSkillsSelectOptionCategoryCategory, [
LiturgicalChantIdentifier,
LiturgicalChantIdentifier(),
]),
}),
Ceremonies: EnumCase({
type: GenIncludeIdentifier(GenericSkillsSelectOptionCategoryCategory, [CeremonyIdentifier]),
type: GenIncludeIdentifier(GenericSkillsSelectOptionCategoryCategory, [CeremonyIdentifier()]),
}),
}),
})
@@ -213,12 +213,12 @@ const SkillSelectOptionCategoryCategory = TypeAlias(import.meta.url, {
Object({
groups: Optional({
comment: "Only include entries of the specified groups.",
type: Array(SkillGroupIdentifier, { minItems: 1 }),
type: Array(SkillGroupIdentifier(), { minItems: 1 }),
}),
specific: Optional({
comment: "Only include or exclude specific skills.",
type: GenIncludeIdentifier(SpecificFromSkillSelectOptionCategoryCategory, [
SkillIdentifier,
SkillIdentifier(),
]),
}),
skill_applications: Optional({
@@ -237,7 +237,7 @@ const SkillSelectOptionCategoryCategory = TypeAlias(import.meta.url, {
}),
ap_value: Optional({
comment: "Generate AP values for each entry.",
type: GenIncludeIdentifier(SelectOptionsAdventurePointsValue, [SkillIdentifier]),
type: GenIncludeIdentifier(SelectOptionsAdventurePointsValue, [SkillIdentifier()]),
}),
}),
})
@@ -266,12 +266,12 @@ const CombatTechniquesSelectOptionCategoryCategory = Enum(import.meta.url, {
values: () => ({
CloseCombatTechniques: EnumCase({
type: GenIncludeIdentifier(GenericSkillsSelectOptionCategoryCategory, [
CloseCombatTechniqueIdentifier,
CloseCombatTechniqueIdentifier(),
]),
}),
RangedCombatTechniques: EnumCase({
type: GenIncludeIdentifier(GenericSkillsSelectOptionCategoryCategory, [
RangedCombatTechniqueIdentifier,
RangedCombatTechniqueIdentifier(),
]),
}),
}),
@@ -468,7 +468,7 @@ const SpecificTargetCategory = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The target categorys identifier.",
type: TargetCategoryIdentifier,
type: TargetCategoryIdentifier(),
}),
volume: Optional({
comment: "The volume for this specific selection.",
+1 -1
View File
@@ -31,7 +31,7 @@ const ModifiableCastingRange = TypeAlias(import.meta.url, {
Object({
initial_modification_level: Required({
comment: "The initial skill modification identifier/level.",
type: SkillModificationLevelIdentifier,
type: SkillModificationLevelIdentifier(),
}),
}),
})
+2 -2
View File
@@ -49,7 +49,7 @@ const ModifiableOneTimeCost = TypeAlias(import.meta.url, {
Object({
initial_modification_level: Required({
comment: "The initial skill modification identifier/level.",
type: SkillModificationLevelIdentifier,
type: SkillModificationLevelIdentifier(),
}),
permanent_value: Optional({
comment: "The part of the cost value that has to be spent permanently.",
@@ -238,7 +238,7 @@ const ModifiableSustainedCost = TypeAlias(import.meta.url, {
Object({
initial_modification_level: Required({
comment: "The initial skill modification identifier/level.",
type: SkillModificationLevelIdentifier,
type: SkillModificationLevelIdentifier(),
}),
interval: Required({
comment: "The sustain interval.",
+1 -1
View File
@@ -67,7 +67,7 @@ const ModifiableRange = TypeAlias(import.meta.url, {
}),
initial_modification_level: Required({
comment: "The initial skill modification identifier/level.",
type: SkillModificationLevelIdentifier,
type: SkillModificationLevelIdentifier(),
}),
is_radius: Optional({
comment: "If `true`, the range is a radius.",
+1 -1
View File
@@ -42,6 +42,6 @@ const SpecificAffectedTargetCategoryIdentifier = Enum(import.meta.url, {
Zone: EnumCase({ type: null }),
LiturgicalChantsAndCeremonies: EnumCase({ type: null }),
Cantrips: EnumCase({ type: null }),
Predefined: EnumCase({ type: TargetCategoryIdentifier }),
Predefined: EnumCase({ type: TargetCategoryIdentifier() }),
}),
})
+3 -3
View File
@@ -13,7 +13,7 @@ import { AspectIdentifier, BlessedTraditionIdentifier } from "./_Identifier.js"
export const LiturgyTradition = Enum(import.meta.url, {
name: "LiturgyTradition",
values: () => ({
GeneralAspect: EnumCase({ type: AspectIdentifier }),
GeneralAspect: EnumCase({ type: AspectIdentifier() }),
Tradition: EnumCase({ type: IncludeIdentifier(LiturgyTraditionWithAspects) }),
}),
})
@@ -24,12 +24,12 @@ const LiturgyTraditionWithAspects = TypeAlias(import.meta.url, {
Object({
tradition: Required({
comment: "The blessed tradition.",
type: BlessedTraditionIdentifier,
type: BlessedTraditionIdentifier(),
}),
aspects: Optional({
comment:
"The aspect(s) from the tradition the ceremony belongs to. Note that not all traditions have aspects. Traditions with aspects must have at least one aspect specified.",
type: Array(AspectIdentifier, { minItems: 1, maxItems: 2 }),
type: Array(AspectIdentifier(), { minItems: 1, maxItems: 2 }),
}),
}),
})
+1 -1
View File
@@ -23,7 +23,7 @@ export const Enhancements = TypeAlias(import.meta.url, {
name: "Enhancements",
comment: "A list of enhancements.",
type: () =>
Array(EnhancementIdentifier, {
Array(EnhancementIdentifier(), {
minItems: 3,
maxItems: 5,
}),
+156 -153
View File
@@ -147,156 +147,159 @@ import { Trinkhornzauber } from "./traditionArtifacts/Trinkhornzauber.js"
import { WandEnchantment } from "./traditionArtifacts/WandEnchantment.js"
import { WeaponEnchantment } from "./traditionArtifacts/WeaponEnchantment.js"
export const AdvancedCombatSpecialAbilityIdentifier = R(AdvancedCombatSpecialAbility)
export const AdvancedKarmaSpecialAbilityIdentifier = R(AdvancedKarmaSpecialAbility)
export const AdvancedMagicalSpecialAbilityIdentifier = R(AdvancedMagicalSpecialAbility)
export const AdvancedSkillSpecialAbilityIdentifier = R(AdvancedSkillSpecialAbility)
export const AdvantageIdentifier = R(Advantage)
export const AmmunitionIdentifier = R(Ammunition)
export const AncestorGlyphIdentifier = R(AncestorGlyph)
export const AnimalCareIdentifier = R(AnimalCare)
export const AnimalIdentifier = R(Animal)
export const AnimalShapeIdentifier = R(AnimalShape)
export const AnimalShapePathIdentifier = R(AnimalShapePath)
export const AnimalShapeSizeIdentifier = R(AnimalShapeSize)
export const AnimalTypeIdentifier = R(AnimalType)
export const AnimistPowerIdentifier = R(AnimistPower)
export const ArcaneBardTraditionIdentifier = R(ArcaneBardTradition)
export const ArcaneDancerTraditionIdentifier = R(ArcaneDancerTradition)
export const ArcaneOrbEnchantmentIdentifier = R(ArcaneOrbEnchantment)
export const ArmorIdentifier = R(Armor)
export const ArmorTypeIdentifier = R(ArmorType)
export const AspectIdentifier = R(Aspect)
export const AttireEnchantmentIdentifier = R(AttireEnchantment)
export const AttributeIdentifier = R(Attribute)
export const BandageOrRemedyIdentifier = R(BandageOrRemedy)
export const BlessedTraditionIdentifier = R(BlessedTradition)
export const BlessingIdentifier = R(Blessing)
export const BookIdentifier = R(Book)
export const BowlEnchantmentIdentifier = R(BowlEnchantment)
export const BrawlingSpecialAbilityIdentifier = R(BrawlingSpecialAbility)
export const BrewIdentifier = R(Brew)
export const CantripIdentifier = R(Cantrip)
export const CauldronEnchantmentIdentifier = R(CauldronEnchantment)
export const CeremonialItemIdentifier = R(CeremonialItem)
export const CeremonialItemSpecialAbilityIdentifier = R(CeremonialItemSpecialAbility)
export const CeremonyIdentifier = R(Ceremony)
export const ChronicleEnchantmentIdentifier = R(ChronicleEnchantment)
export const CloseCombatTechniqueIdentifier = R(CloseCombatTechnique)
export const ClothesIdentifier = R(Clothes)
export const CombatSpecialAbilityIdentifier = R(CombatSpecialAbility)
export const CombatStyleSpecialAbilityIdentifier = R(CombatStyleSpecialAbility)
export const CommandSpecialAbilityIdentifier = R(CommandSpecialAbility)
export const ConditionIdentifier = R(Condition)
export const ContainerIdentifier = R(Container)
export const ContinentIdentifier = R(Continent)
export const CoreRuleIdentifier = R(CoreRule)
export const CultureIdentifier = R(Culture)
export const CurriculumIdentifier = R(Curriculum)
export const CurseIdentifier = R(Curse)
export const DaggerRitualIdentifier = R(DaggerRitual)
export const DisadvantageIdentifier = R(Disadvantage)
export const DiseaseIdentifier = R(Disease)
export const DominationRitualIdentifier = R(DominationRitual)
export const ElementIdentifier = R(Element)
export const ElixirIdentifier = R(Elixir)
export const ElvenMagicalSongIdentifier = R(ElvenMagicalSong)
export const EnhancementIdentifier = R(Enhancement)
export const EquipmentOfBlessedOnesIdentifier = R(EquipmentOfBlessedOnes)
export const ExperienceLevelIdentifier = R(ExperienceLevel)
export const EyeColorIdentifier = R(EyeColor)
export const FamiliarSpecialAbilityIdentifier = R(FamiliarSpecialAbility)
export const FatePointSexSpecialAbilityIdentifier = R(FatePointSexSpecialAbility)
export const FatePointSpecialAbilityIdentifier = R(FatePointSpecialAbility)
export const FocusRuleIdentifier = R(FocusRule)
export const FoolsHatEnchantmentIdentifier = R(FoolsHatEnchantment)
export const GemOrPreciousStoneIdentifier = R(GemOrPreciousStone)
export const GeneralIdentifier = R(GeneralSelectOption)
export const GeneralSpecialAbilityIdentifier = R(GeneralSpecialAbility)
export const GeodeRitualIdentifier = R(GeodeRitual)
export const GuidelineIdentifier = R(Guideline)
export const HairColorIdentifier = R(HairColor)
export const IlluminationLightSourceIdentifier = R(IlluminationLightSource)
export const IlluminationRefillsOrSuppliesIdentifier = R(IlluminationRefillsOrSupplies)
export const InfluenceIdentifier = R(Influence)
export const InstrumentEnchantmentIdentifier = R(InstrumentEnchantment)
export const JesterTrickIdentifier = R(JesterTrick)
export const JewelryIdentifier = R(Jewelry)
export const KarmaSpecialAbilityIdentifier = R(KarmaSpecialAbility)
export const KrallenkettenzauberIdentifier = R(Krallenkettenzauber)
export const LanguageIdentifier = R(Language)
export const LessonPackageIdentifier = R(LessonPackage)
export const LiebesspielzeugIdentifier = R(Liebesspielzeug)
export const LiturgicalChantIdentifier = R(LiturgicalChant)
export const LiturgicalStyleSpecialAbilityIdentifier = R(LiturgicalStyleSpecialAbility)
export const LuxuryGoodIdentifier = R(LuxuryGood)
export const LycantropicGiftIdentifier = R(LycantropicGift)
export const MagicalArtifactIdentifier = R(MagicalArtifact)
export const MagicalDanceIdentifier = R(MagicalDance)
export const MagicalMelodyIdentifier = R(MagicalMelody)
export const MagicalRuneIdentifier = R(MagicalRune)
export const MagicalSignIdentifier = R(MagicalSign)
export const MagicalSpecialAbilityIdentifier = R(MagicalSpecialAbility)
export const MagicalTraditionIdentifier = R(MagicalTradition)
export const MagicStyleSpecialAbilityIdentifier = R(MagicStyleSpecialAbility)
export const MusicalInstrumentIdentifier = R(MusicalInstrument)
export const OptionalRuleIdentifier = R(OptionalRule)
export const OrbEnchantmentIdentifier = R(OrbEnchantment)
export const OrienteeringAidIdentifier = R(OrienteeringAid)
export const PactCategoryIdentifier = R(PactCategory)
export const PactDomainIdentifier = R(PactDomain)
export const PactGiftIdentifier = R(PactGift)
export const PactTypeIdentifier = R(PactType)
export const PatronCategoryIdentifier = R(PatronCategory)
export const PatronIdentifier = R(Patron)
export const PersonalityTraitIdentifier = R(PersonalityTrait)
export const PoisonIdentifier = R(Poison)
export const ProfessionIdentifier = R(Profession)
export const ProfessionPackageIdentifier = R(ProfessionPackage)
export const ProfessionVersionIdentifier = R(ProfessionVersion)
export const ProfessionVariantIdentifier = R(ProfessionVariant)
export const PropertyIdentifier = R(Property)
export const ProtectiveWardingCircleSpecialAbilityIdentifier = R(PWCSpecialAbility)
export const PublicationIdentifier = R(Publication)
export const RaceIdentifier = R(Race)
export const RaceVariantIdentifier = R(RaceVariant)
export const RangedCombatTechniqueIdentifier = R(RangedCombatTechnique)
export const ReachIdentifier = R(Reach)
export const RingEnchantmentIdentifier = R(RingEnchantment)
export const RitualIdentifier = R(Ritual)
export const RopeOrChainIdentifier = R(RopeOrChain)
export const ScriptIdentifier = R(Script)
export const SermonIdentifier = R(Sermon)
export const SexPracticeIdentifier = R(SexPractice)
export const SexSpecialAbilityIdentifier = R(SexSpecialAbility)
export const SickleRitualIdentifier = R(SickleRitual)
export const SikaryanDrainSpecialAbilityIdentifier = R(SikaryanDrainSpecialAbility)
export const SkillApplicationIdentifier = R(SkillApplication)
export const SkillGroupIdentifier = R(SkillGroup)
export const SkillIdentifier = R(Skill)
export const SkillModificationLevelIdentifier = R(SkillModificationLevel)
export const SkillStyleSpecialAbilityIdentifier = R(SkillStyleSpecialAbility)
export const SocialStatusIdentifier = R(SocialStatus)
export const SpellIdentifier = R(Spell)
export const SpellSwordEnchantmentIdentifier = R(SpellSwordEnchantment)
export const StaffEnchantmentIdentifier = R(StaffEnchantment)
export const StateIdentifier = R(State)
export const StationaryIdentifier = R(Stationary)
export const SubjectIdentifier = R(Subject)
export const TargetCategoryIdentifier = R(TargetCategory)
export const ThievesToolIdentifier = R(ThievesTool)
export const ToolOfTheTradeIdentifier = R(ToolOfTheTrade)
export const ToyEnchantmentIdentifier = R(ToyEnchantment)
export const TradeSecretIdentifier = R(TradeSecret)
export const TravelGearOrToolIdentifier = R(TravelGearOrTool)
export const TribeIdentifier = R(Tribe)
export const TrinkhornzauberIdentifier = R(Trinkhornzauber)
export const VampiricGiftIdentifier = R(VampiricGift)
export const VehicleIdentifier = R(Vehicle)
export const VisionIdentifier = R(Vision)
export const WandEnchantmentIdentifier = R(WandEnchantment)
export const WeaponAccessoryIdentifier = R(WeaponAccessory)
export const WeaponEnchantmentIdentifier = R(WeaponEnchantment)
export const WeaponIdentifier = R(Weapon)
export const WeaponUseIdentifier = R(WeaponUse)
export const ZibiljaRitualIdentifier = R(ZibiljaRitual)
export const AdvancedCombatSpecialAbilityIdentifier: () => R = () => R(AdvancedCombatSpecialAbility)
export const AdvancedKarmaSpecialAbilityIdentifier: () => R = () => R(AdvancedKarmaSpecialAbility)
export const AdvancedMagicalSpecialAbilityIdentifier: () => R = () =>
R(AdvancedMagicalSpecialAbility)
export const AdvancedSkillSpecialAbilityIdentifier: () => R = () => R(AdvancedSkillSpecialAbility)
export const AdvantageIdentifier: () => R = () => R(Advantage)
export const AmmunitionIdentifier: () => R = () => R(Ammunition)
export const AncestorGlyphIdentifier: () => R = () => R(AncestorGlyph)
export const AnimalCareIdentifier: () => R = () => R(AnimalCare)
export const AnimalIdentifier: () => R = () => R(Animal)
export const AnimalShapeIdentifier: () => R = () => R(AnimalShape)
export const AnimalShapePathIdentifier: () => R = () => R(AnimalShapePath)
export const AnimalShapeSizeIdentifier: () => R = () => R(AnimalShapeSize)
export const AnimalTypeIdentifier: () => R = () => R(AnimalType)
export const AnimistPowerIdentifier: () => R = () => R(AnimistPower)
export const ArcaneBardTraditionIdentifier: () => R = () => R(ArcaneBardTradition)
export const ArcaneDancerTraditionIdentifier: () => R = () => R(ArcaneDancerTradition)
export const ArcaneOrbEnchantmentIdentifier: () => R = () => R(ArcaneOrbEnchantment)
export const ArmorIdentifier: () => R = () => R(Armor)
export const ArmorTypeIdentifier: () => R = () => R(ArmorType)
export const AspectIdentifier: () => R = () => R(Aspect)
export const AttireEnchantmentIdentifier: () => R = () => R(AttireEnchantment)
export const AttributeIdentifier: () => R = () => R(Attribute)
export const BandageOrRemedyIdentifier: () => R = () => R(BandageOrRemedy)
export const BlessedTraditionIdentifier: () => R = () => R(BlessedTradition)
export const BlessingIdentifier: () => R = () => R(Blessing)
export const BookIdentifier: () => R = () => R(Book)
export const BowlEnchantmentIdentifier: () => R = () => R(BowlEnchantment)
export const BrawlingSpecialAbilityIdentifier: () => R = () => R(BrawlingSpecialAbility)
export const BrewIdentifier: () => R = () => R(Brew)
export const CantripIdentifier: () => R = () => R(Cantrip)
export const CauldronEnchantmentIdentifier: () => R = () => R(CauldronEnchantment)
export const CeremonialItemIdentifier: () => R = () => R(CeremonialItem)
export const CeremonialItemSpecialAbilityIdentifier: () => R = () => R(CeremonialItemSpecialAbility)
export const CeremonyIdentifier: () => R = () => R(Ceremony)
export const ChronicleEnchantmentIdentifier: () => R = () => R(ChronicleEnchantment)
export const CloseCombatTechniqueIdentifier: () => R = () => R(CloseCombatTechnique)
export const ClothesIdentifier: () => R = () => R(Clothes)
export const CombatSpecialAbilityIdentifier: () => R = () => R(CombatSpecialAbility)
export const CombatStyleSpecialAbilityIdentifier: () => R = () => R(CombatStyleSpecialAbility)
export const CommandSpecialAbilityIdentifier: () => R = () => R(CommandSpecialAbility)
export const ConditionIdentifier: () => R = () => R(Condition)
export const ContainerIdentifier: () => R = () => R(Container)
export const ContinentIdentifier: () => R = () => R(Continent)
export const CoreRuleIdentifier: () => R = () => R(CoreRule)
export const CultureIdentifier: () => R = () => R(Culture)
export const CurriculumIdentifier: () => R = () => R(Curriculum)
export const CurseIdentifier: () => R = () => R(Curse)
export const DaggerRitualIdentifier: () => R = () => R(DaggerRitual)
export const DisadvantageIdentifier: () => R = () => R(Disadvantage)
export const DiseaseIdentifier: () => R = () => R(Disease)
export const DominationRitualIdentifier: () => R = () => R(DominationRitual)
export const ElementIdentifier: () => R = () => R(Element)
export const ElixirIdentifier: () => R = () => R(Elixir)
export const ElvenMagicalSongIdentifier: () => R = () => R(ElvenMagicalSong)
export const EnhancementIdentifier: () => R = () => R(Enhancement)
export const EquipmentOfBlessedOnesIdentifier: () => R = () => R(EquipmentOfBlessedOnes)
export const ExperienceLevelIdentifier: () => R = () => R(ExperienceLevel)
export const EyeColorIdentifier: () => R = () => R(EyeColor)
export const FamiliarSpecialAbilityIdentifier: () => R = () => R(FamiliarSpecialAbility)
export const FatePointSexSpecialAbilityIdentifier: () => R = () => R(FatePointSexSpecialAbility)
export const FatePointSpecialAbilityIdentifier: () => R = () => R(FatePointSpecialAbility)
export const FocusRuleIdentifier: () => R = () => R(FocusRule)
export const FoolsHatEnchantmentIdentifier: () => R = () => R(FoolsHatEnchantment)
export const GemOrPreciousStoneIdentifier: () => R = () => R(GemOrPreciousStone)
export const GeneralIdentifier: () => R = () => R(GeneralSelectOption)
export const GeneralSpecialAbilityIdentifier: () => R = () => R(GeneralSpecialAbility)
export const GeodeRitualIdentifier: () => R = () => R(GeodeRitual)
export const GuidelineIdentifier: () => R = () => R(Guideline)
export const HairColorIdentifier: () => R = () => R(HairColor)
export const IlluminationLightSourceIdentifier: () => R = () => R(IlluminationLightSource)
export const IlluminationRefillsOrSuppliesIdentifier: () => R = () =>
R(IlluminationRefillsOrSupplies)
export const InfluenceIdentifier: () => R = () => R(Influence)
export const InstrumentEnchantmentIdentifier: () => R = () => R(InstrumentEnchantment)
export const JesterTrickIdentifier: () => R = () => R(JesterTrick)
export const JewelryIdentifier: () => R = () => R(Jewelry)
export const KarmaSpecialAbilityIdentifier: () => R = () => R(KarmaSpecialAbility)
export const KrallenkettenzauberIdentifier: () => R = () => R(Krallenkettenzauber)
export const LanguageIdentifier: () => R = () => R(Language)
export const LessonPackageIdentifier: () => R = () => R(LessonPackage)
export const LiebesspielzeugIdentifier: () => R = () => R(Liebesspielzeug)
export const LiturgicalChantIdentifier: () => R = () => R(LiturgicalChant)
export const LiturgicalStyleSpecialAbilityIdentifier: () => R = () =>
R(LiturgicalStyleSpecialAbility)
export const LuxuryGoodIdentifier: () => R = () => R(LuxuryGood)
export const LycantropicGiftIdentifier: () => R = () => R(LycantropicGift)
export const MagicalArtifactIdentifier: () => R = () => R(MagicalArtifact)
export const MagicalDanceIdentifier: () => R = () => R(MagicalDance)
export const MagicalMelodyIdentifier: () => R = () => R(MagicalMelody)
export const MagicalRuneIdentifier: () => R = () => R(MagicalRune)
export const MagicalSignIdentifier: () => R = () => R(MagicalSign)
export const MagicalSpecialAbilityIdentifier: () => R = () => R(MagicalSpecialAbility)
export const MagicalTraditionIdentifier: () => R = () => R(MagicalTradition)
export const MagicStyleSpecialAbilityIdentifier: () => R = () => R(MagicStyleSpecialAbility)
export const MusicalInstrumentIdentifier: () => R = () => R(MusicalInstrument)
export const OptionalRuleIdentifier: () => R = () => R(OptionalRule)
export const OrbEnchantmentIdentifier: () => R = () => R(OrbEnchantment)
export const OrienteeringAidIdentifier: () => R = () => R(OrienteeringAid)
export const PactCategoryIdentifier: () => R = () => R(PactCategory)
export const PactDomainIdentifier: () => R = () => R(PactDomain)
export const PactGiftIdentifier: () => R = () => R(PactGift)
export const PactTypeIdentifier: () => R = () => R(PactType)
export const PatronCategoryIdentifier: () => R = () => R(PatronCategory)
export const PatronIdentifier: () => R = () => R(Patron)
export const PersonalityTraitIdentifier: () => R = () => R(PersonalityTrait)
export const PoisonIdentifier: () => R = () => R(Poison)
export const ProfessionIdentifier: () => R = () => R(Profession)
export const ProfessionPackageIdentifier: () => R = () => R(ProfessionPackage)
export const ProfessionVersionIdentifier: () => R = () => R(ProfessionVersion)
export const ProfessionVariantIdentifier: () => R = () => R(ProfessionVariant)
export const PropertyIdentifier: () => R = () => R(Property)
export const ProtectiveWardingCircleSpecialAbilityIdentifier: () => R = () => R(PWCSpecialAbility)
export const PublicationIdentifier: () => R = () => R(Publication)
export const RaceIdentifier: () => R = () => R(Race)
export const RaceVariantIdentifier: () => R = () => R(RaceVariant)
export const RangedCombatTechniqueIdentifier: () => R = () => R(RangedCombatTechnique)
export const ReachIdentifier: () => R = () => R(Reach)
export const RingEnchantmentIdentifier: () => R = () => R(RingEnchantment)
export const RitualIdentifier: () => R = () => R(Ritual)
export const RopeOrChainIdentifier: () => R = () => R(RopeOrChain)
export const ScriptIdentifier: () => R = () => R(Script)
export const SermonIdentifier: () => R = () => R(Sermon)
export const SexPracticeIdentifier: () => R = () => R(SexPractice)
export const SexSpecialAbilityIdentifier: () => R = () => R(SexSpecialAbility)
export const SickleRitualIdentifier: () => R = () => R(SickleRitual)
export const SikaryanDrainSpecialAbilityIdentifier: () => R = () => R(SikaryanDrainSpecialAbility)
export const SkillApplicationIdentifier: () => R = () => R(SkillApplication)
export const SkillGroupIdentifier: () => R = () => R(SkillGroup)
export const SkillIdentifier: () => R = () => R(Skill)
export const SkillModificationLevelIdentifier: () => R = () => R(SkillModificationLevel)
export const SkillStyleSpecialAbilityIdentifier: () => R = () => R(SkillStyleSpecialAbility)
export const SocialStatusIdentifier: () => R = () => R(SocialStatus)
export const SpellIdentifier: () => R = () => R(Spell)
export const SpellSwordEnchantmentIdentifier: () => R = () => R(SpellSwordEnchantment)
export const StaffEnchantmentIdentifier: () => R = () => R(StaffEnchantment)
export const StateIdentifier: () => R = () => R(State)
export const StationaryIdentifier: () => R = () => R(Stationary)
export const SubjectIdentifier: () => R = () => R(Subject)
export const TargetCategoryIdentifier: () => R = () => R(TargetCategory)
export const ThievesToolIdentifier: () => R = () => R(ThievesTool)
export const ToolOfTheTradeIdentifier: () => R = () => R(ToolOfTheTrade)
export const ToyEnchantmentIdentifier: () => R = () => R(ToyEnchantment)
export const TradeSecretIdentifier: () => R = () => R(TradeSecret)
export const TravelGearOrToolIdentifier: () => R = () => R(TravelGearOrTool)
export const TribeIdentifier: () => R = () => R(Tribe)
export const TrinkhornzauberIdentifier: () => R = () => R(Trinkhornzauber)
export const VampiricGiftIdentifier: () => R = () => R(VampiricGift)
export const VehicleIdentifier: () => R = () => R(Vehicle)
export const VisionIdentifier: () => R = () => R(Vision)
export const WandEnchantmentIdentifier: () => R = () => R(WandEnchantment)
export const WeaponAccessoryIdentifier: () => R = () => R(WeaponAccessory)
export const WeaponEnchantmentIdentifier: () => R = () => R(WeaponEnchantment)
export const WeaponIdentifier: () => R = () => R(Weapon)
export const WeaponUseIdentifier: () => R = () => R(WeaponUse)
export const ZibiljaRitualIdentifier: () => R = () => R(ZibiljaRitual)
+218 -218
View File
@@ -124,329 +124,329 @@ import {
export const ActivatableIdentifier = Enum(import.meta.url, {
name: "ActivatableIdentifier",
values: () => ({
Advantage: EnumCase({ type: AdvantageIdentifier }),
Disadvantage: EnumCase({ type: DisadvantageIdentifier }),
AdvancedCombatSpecialAbility: EnumCase({ type: AdvancedCombatSpecialAbilityIdentifier }),
AdvancedKarmaSpecialAbility: EnumCase({ type: AdvancedKarmaSpecialAbilityIdentifier }),
AdvancedMagicalSpecialAbility: EnumCase({ type: AdvancedMagicalSpecialAbilityIdentifier }),
AdvancedSkillSpecialAbility: EnumCase({ type: AdvancedSkillSpecialAbilityIdentifier }),
AncestorGlyph: EnumCase({ type: AncestorGlyphIdentifier }),
ArcaneOrbEnchantment: EnumCase({ type: ArcaneOrbEnchantmentIdentifier }),
AttireEnchantment: EnumCase({ type: AttireEnchantmentIdentifier }),
BlessedTradition: EnumCase({ type: BlessedTraditionIdentifier }),
BowlEnchantment: EnumCase({ type: BowlEnchantmentIdentifier }),
BrawlingSpecialAbility: EnumCase({ type: BrawlingSpecialAbilityIdentifier }),
CauldronEnchantment: EnumCase({ type: CauldronEnchantmentIdentifier }),
CeremonialItemSpecialAbility: EnumCase({ type: CeremonialItemSpecialAbilityIdentifier }),
ChronicleEnchantment: EnumCase({ type: ChronicleEnchantmentIdentifier }),
CombatSpecialAbility: EnumCase({ type: CombatSpecialAbilityIdentifier }),
CombatStyleSpecialAbility: EnumCase({ type: CombatStyleSpecialAbilityIdentifier }),
CommandSpecialAbility: EnumCase({ type: CommandSpecialAbilityIdentifier }),
DaggerRitual: EnumCase({ type: DaggerRitualIdentifier }),
FamiliarSpecialAbility: EnumCase({ type: FamiliarSpecialAbilityIdentifier }),
FatePointSexSpecialAbility: EnumCase({ type: FatePointSexSpecialAbilityIdentifier }),
FatePointSpecialAbility: EnumCase({ type: FatePointSpecialAbilityIdentifier }),
FoolsHatEnchantment: EnumCase({ type: FoolsHatEnchantmentIdentifier }),
GeneralSpecialAbility: EnumCase({ type: GeneralSpecialAbilityIdentifier }),
InstrumentEnchantment: EnumCase({ type: InstrumentEnchantmentIdentifier }),
KarmaSpecialAbility: EnumCase({ type: KarmaSpecialAbilityIdentifier }),
Krallenkettenzauber: EnumCase({ type: KrallenkettenzauberIdentifier }),
LiturgicalStyleSpecialAbility: EnumCase({ type: LiturgicalStyleSpecialAbilityIdentifier }),
LycantropicGift: EnumCase({ type: LycantropicGiftIdentifier }),
MagicalSign: EnumCase({ type: MagicalSignIdentifier }),
MagicalSpecialAbility: EnumCase({ type: MagicalSpecialAbilityIdentifier }),
MagicalTradition: EnumCase({ type: MagicalTraditionIdentifier }),
MagicStyleSpecialAbility: EnumCase({ type: MagicStyleSpecialAbilityIdentifier }),
OrbEnchantment: EnumCase({ type: OrbEnchantmentIdentifier }),
PactGift: EnumCase({ type: PactGiftIdentifier }),
Advantage: EnumCase({ type: AdvantageIdentifier() }),
Disadvantage: EnumCase({ type: DisadvantageIdentifier() }),
AdvancedCombatSpecialAbility: EnumCase({ type: AdvancedCombatSpecialAbilityIdentifier() }),
AdvancedKarmaSpecialAbility: EnumCase({ type: AdvancedKarmaSpecialAbilityIdentifier() }),
AdvancedMagicalSpecialAbility: EnumCase({ type: AdvancedMagicalSpecialAbilityIdentifier() }),
AdvancedSkillSpecialAbility: EnumCase({ type: AdvancedSkillSpecialAbilityIdentifier() }),
AncestorGlyph: EnumCase({ type: AncestorGlyphIdentifier() }),
ArcaneOrbEnchantment: EnumCase({ type: ArcaneOrbEnchantmentIdentifier() }),
AttireEnchantment: EnumCase({ type: AttireEnchantmentIdentifier() }),
BlessedTradition: EnumCase({ type: BlessedTraditionIdentifier() }),
BowlEnchantment: EnumCase({ type: BowlEnchantmentIdentifier() }),
BrawlingSpecialAbility: EnumCase({ type: BrawlingSpecialAbilityIdentifier() }),
CauldronEnchantment: EnumCase({ type: CauldronEnchantmentIdentifier() }),
CeremonialItemSpecialAbility: EnumCase({ type: CeremonialItemSpecialAbilityIdentifier() }),
ChronicleEnchantment: EnumCase({ type: ChronicleEnchantmentIdentifier() }),
CombatSpecialAbility: EnumCase({ type: CombatSpecialAbilityIdentifier() }),
CombatStyleSpecialAbility: EnumCase({ type: CombatStyleSpecialAbilityIdentifier() }),
CommandSpecialAbility: EnumCase({ type: CommandSpecialAbilityIdentifier() }),
DaggerRitual: EnumCase({ type: DaggerRitualIdentifier() }),
FamiliarSpecialAbility: EnumCase({ type: FamiliarSpecialAbilityIdentifier() }),
FatePointSexSpecialAbility: EnumCase({ type: FatePointSexSpecialAbilityIdentifier() }),
FatePointSpecialAbility: EnumCase({ type: FatePointSpecialAbilityIdentifier() }),
FoolsHatEnchantment: EnumCase({ type: FoolsHatEnchantmentIdentifier() }),
GeneralSpecialAbility: EnumCase({ type: GeneralSpecialAbilityIdentifier() }),
InstrumentEnchantment: EnumCase({ type: InstrumentEnchantmentIdentifier() }),
KarmaSpecialAbility: EnumCase({ type: KarmaSpecialAbilityIdentifier() }),
Krallenkettenzauber: EnumCase({ type: KrallenkettenzauberIdentifier() }),
LiturgicalStyleSpecialAbility: EnumCase({ type: LiturgicalStyleSpecialAbilityIdentifier() }),
LycantropicGift: EnumCase({ type: LycantropicGiftIdentifier() }),
MagicalSign: EnumCase({ type: MagicalSignIdentifier() }),
MagicalSpecialAbility: EnumCase({ type: MagicalSpecialAbilityIdentifier() }),
MagicalTradition: EnumCase({ type: MagicalTraditionIdentifier() }),
MagicStyleSpecialAbility: EnumCase({ type: MagicStyleSpecialAbilityIdentifier() }),
OrbEnchantment: EnumCase({ type: OrbEnchantmentIdentifier() }),
PactGift: EnumCase({ type: PactGiftIdentifier() }),
ProtectiveWardingCircleSpecialAbility: EnumCase({
type: ProtectiveWardingCircleSpecialAbilityIdentifier,
type: ProtectiveWardingCircleSpecialAbilityIdentifier(),
}),
RingEnchantment: EnumCase({ type: RingEnchantmentIdentifier }),
Sermon: EnumCase({ type: SermonIdentifier }),
SexSpecialAbility: EnumCase({ type: SexSpecialAbilityIdentifier }),
SickleRitual: EnumCase({ type: SickleRitualIdentifier }),
SikaryanDrainSpecialAbility: EnumCase({ type: SikaryanDrainSpecialAbilityIdentifier }),
SkillStyleSpecialAbility: EnumCase({ type: SkillStyleSpecialAbilityIdentifier }),
SpellSwordEnchantment: EnumCase({ type: SpellSwordEnchantmentIdentifier }),
StaffEnchantment: EnumCase({ type: StaffEnchantmentIdentifier }),
ToyEnchantment: EnumCase({ type: ToyEnchantmentIdentifier }),
Trinkhornzauber: EnumCase({ type: TrinkhornzauberIdentifier }),
VampiricGift: EnumCase({ type: VampiricGiftIdentifier }),
Vision: EnumCase({ type: VisionIdentifier }),
WandEnchantment: EnumCase({ type: WandEnchantmentIdentifier }),
WeaponEnchantment: EnumCase({ type: WeaponEnchantmentIdentifier }),
RingEnchantment: EnumCase({ type: RingEnchantmentIdentifier() }),
Sermon: EnumCase({ type: SermonIdentifier() }),
SexSpecialAbility: EnumCase({ type: SexSpecialAbilityIdentifier() }),
SickleRitual: EnumCase({ type: SickleRitualIdentifier() }),
SikaryanDrainSpecialAbility: EnumCase({ type: SikaryanDrainSpecialAbilityIdentifier() }),
SkillStyleSpecialAbility: EnumCase({ type: SkillStyleSpecialAbilityIdentifier() }),
SpellSwordEnchantment: EnumCase({ type: SpellSwordEnchantmentIdentifier() }),
StaffEnchantment: EnumCase({ type: StaffEnchantmentIdentifier() }),
ToyEnchantment: EnumCase({ type: ToyEnchantmentIdentifier() }),
Trinkhornzauber: EnumCase({ type: TrinkhornzauberIdentifier() }),
VampiricGift: EnumCase({ type: VampiricGiftIdentifier() }),
Vision: EnumCase({ type: VisionIdentifier() }),
WandEnchantment: EnumCase({ type: WandEnchantmentIdentifier() }),
WeaponEnchantment: EnumCase({ type: WeaponEnchantmentIdentifier() }),
}),
})
export const SpecialAbilityIdentifier = Enum(import.meta.url, {
name: "SpecialAbilityIdentifier",
values: () => ({
AdvancedCombatSpecialAbility: EnumCase({ type: AdvancedCombatSpecialAbilityIdentifier }),
AdvancedKarmaSpecialAbility: EnumCase({ type: AdvancedKarmaSpecialAbilityIdentifier }),
AdvancedMagicalSpecialAbility: EnumCase({ type: AdvancedMagicalSpecialAbilityIdentifier }),
AdvancedSkillSpecialAbility: EnumCase({ type: AdvancedSkillSpecialAbilityIdentifier }),
AncestorGlyph: EnumCase({ type: AncestorGlyphIdentifier }),
ArcaneOrbEnchantment: EnumCase({ type: ArcaneOrbEnchantmentIdentifier }),
AttireEnchantment: EnumCase({ type: AttireEnchantmentIdentifier }),
BlessedTradition: EnumCase({ type: BlessedTraditionIdentifier }),
BowlEnchantment: EnumCase({ type: BowlEnchantmentIdentifier }),
BrawlingSpecialAbility: EnumCase({ type: BrawlingSpecialAbilityIdentifier }),
CauldronEnchantment: EnumCase({ type: CauldronEnchantmentIdentifier }),
CeremonialItemSpecialAbility: EnumCase({ type: CeremonialItemSpecialAbilityIdentifier }),
ChronicleEnchantment: EnumCase({ type: ChronicleEnchantmentIdentifier }),
CombatSpecialAbility: EnumCase({ type: CombatSpecialAbilityIdentifier }),
CombatStyleSpecialAbility: EnumCase({ type: CombatStyleSpecialAbilityIdentifier }),
CommandSpecialAbility: EnumCase({ type: CommandSpecialAbilityIdentifier }),
DaggerRitual: EnumCase({ type: DaggerRitualIdentifier }),
FamiliarSpecialAbility: EnumCase({ type: FamiliarSpecialAbilityIdentifier }),
FatePointSexSpecialAbility: EnumCase({ type: FatePointSexSpecialAbilityIdentifier }),
FatePointSpecialAbility: EnumCase({ type: FatePointSpecialAbilityIdentifier }),
FoolsHatEnchantment: EnumCase({ type: FoolsHatEnchantmentIdentifier }),
GeneralSpecialAbility: EnumCase({ type: GeneralSpecialAbilityIdentifier }),
InstrumentEnchantment: EnumCase({ type: InstrumentEnchantmentIdentifier }),
KarmaSpecialAbility: EnumCase({ type: KarmaSpecialAbilityIdentifier }),
Krallenkettenzauber: EnumCase({ type: KrallenkettenzauberIdentifier }),
LiturgicalStyleSpecialAbility: EnumCase({ type: LiturgicalStyleSpecialAbilityIdentifier }),
LycantropicGift: EnumCase({ type: LycantropicGiftIdentifier }),
MagicalSign: EnumCase({ type: MagicalSignIdentifier }),
MagicalSpecialAbility: EnumCase({ type: MagicalSpecialAbilityIdentifier }),
MagicalTradition: EnumCase({ type: MagicalTraditionIdentifier }),
MagicStyleSpecialAbility: EnumCase({ type: MagicStyleSpecialAbilityIdentifier }),
OrbEnchantment: EnumCase({ type: OrbEnchantmentIdentifier }),
PactGift: EnumCase({ type: PactGiftIdentifier }),
AdvancedCombatSpecialAbility: EnumCase({ type: AdvancedCombatSpecialAbilityIdentifier() }),
AdvancedKarmaSpecialAbility: EnumCase({ type: AdvancedKarmaSpecialAbilityIdentifier() }),
AdvancedMagicalSpecialAbility: EnumCase({ type: AdvancedMagicalSpecialAbilityIdentifier() }),
AdvancedSkillSpecialAbility: EnumCase({ type: AdvancedSkillSpecialAbilityIdentifier() }),
AncestorGlyph: EnumCase({ type: AncestorGlyphIdentifier() }),
ArcaneOrbEnchantment: EnumCase({ type: ArcaneOrbEnchantmentIdentifier() }),
AttireEnchantment: EnumCase({ type: AttireEnchantmentIdentifier() }),
BlessedTradition: EnumCase({ type: BlessedTraditionIdentifier() }),
BowlEnchantment: EnumCase({ type: BowlEnchantmentIdentifier() }),
BrawlingSpecialAbility: EnumCase({ type: BrawlingSpecialAbilityIdentifier() }),
CauldronEnchantment: EnumCase({ type: CauldronEnchantmentIdentifier() }),
CeremonialItemSpecialAbility: EnumCase({ type: CeremonialItemSpecialAbilityIdentifier() }),
ChronicleEnchantment: EnumCase({ type: ChronicleEnchantmentIdentifier() }),
CombatSpecialAbility: EnumCase({ type: CombatSpecialAbilityIdentifier() }),
CombatStyleSpecialAbility: EnumCase({ type: CombatStyleSpecialAbilityIdentifier() }),
CommandSpecialAbility: EnumCase({ type: CommandSpecialAbilityIdentifier() }),
DaggerRitual: EnumCase({ type: DaggerRitualIdentifier() }),
FamiliarSpecialAbility: EnumCase({ type: FamiliarSpecialAbilityIdentifier() }),
FatePointSexSpecialAbility: EnumCase({ type: FatePointSexSpecialAbilityIdentifier() }),
FatePointSpecialAbility: EnumCase({ type: FatePointSpecialAbilityIdentifier() }),
FoolsHatEnchantment: EnumCase({ type: FoolsHatEnchantmentIdentifier() }),
GeneralSpecialAbility: EnumCase({ type: GeneralSpecialAbilityIdentifier() }),
InstrumentEnchantment: EnumCase({ type: InstrumentEnchantmentIdentifier() }),
KarmaSpecialAbility: EnumCase({ type: KarmaSpecialAbilityIdentifier() }),
Krallenkettenzauber: EnumCase({ type: KrallenkettenzauberIdentifier() }),
LiturgicalStyleSpecialAbility: EnumCase({ type: LiturgicalStyleSpecialAbilityIdentifier() }),
LycantropicGift: EnumCase({ type: LycantropicGiftIdentifier() }),
MagicalSign: EnumCase({ type: MagicalSignIdentifier() }),
MagicalSpecialAbility: EnumCase({ type: MagicalSpecialAbilityIdentifier() }),
MagicalTradition: EnumCase({ type: MagicalTraditionIdentifier() }),
MagicStyleSpecialAbility: EnumCase({ type: MagicStyleSpecialAbilityIdentifier() }),
OrbEnchantment: EnumCase({ type: OrbEnchantmentIdentifier() }),
PactGift: EnumCase({ type: PactGiftIdentifier() }),
ProtectiveWardingCircleSpecialAbility: EnumCase({
type: ProtectiveWardingCircleSpecialAbilityIdentifier,
type: ProtectiveWardingCircleSpecialAbilityIdentifier(),
}),
RingEnchantment: EnumCase({ type: RingEnchantmentIdentifier }),
Sermon: EnumCase({ type: SermonIdentifier }),
SexSpecialAbility: EnumCase({ type: SexSpecialAbilityIdentifier }),
SickleRitual: EnumCase({ type: SickleRitualIdentifier }),
SikaryanDrainSpecialAbility: EnumCase({ type: SikaryanDrainSpecialAbilityIdentifier }),
SkillStyleSpecialAbility: EnumCase({ type: SkillStyleSpecialAbilityIdentifier }),
SpellSwordEnchantment: EnumCase({ type: SpellSwordEnchantmentIdentifier }),
StaffEnchantment: EnumCase({ type: StaffEnchantmentIdentifier }),
ToyEnchantment: EnumCase({ type: ToyEnchantmentIdentifier }),
Trinkhornzauber: EnumCase({ type: TrinkhornzauberIdentifier }),
VampiricGift: EnumCase({ type: VampiricGiftIdentifier }),
Vision: EnumCase({ type: VisionIdentifier }),
WandEnchantment: EnumCase({ type: WandEnchantmentIdentifier }),
WeaponEnchantment: EnumCase({ type: WeaponEnchantmentIdentifier }),
RingEnchantment: EnumCase({ type: RingEnchantmentIdentifier() }),
Sermon: EnumCase({ type: SermonIdentifier() }),
SexSpecialAbility: EnumCase({ type: SexSpecialAbilityIdentifier() }),
SickleRitual: EnumCase({ type: SickleRitualIdentifier() }),
SikaryanDrainSpecialAbility: EnumCase({ type: SikaryanDrainSpecialAbilityIdentifier() }),
SkillStyleSpecialAbility: EnumCase({ type: SkillStyleSpecialAbilityIdentifier() }),
SpellSwordEnchantment: EnumCase({ type: SpellSwordEnchantmentIdentifier() }),
StaffEnchantment: EnumCase({ type: StaffEnchantmentIdentifier() }),
ToyEnchantment: EnumCase({ type: ToyEnchantmentIdentifier() }),
Trinkhornzauber: EnumCase({ type: TrinkhornzauberIdentifier() }),
VampiricGift: EnumCase({ type: VampiricGiftIdentifier() }),
Vision: EnumCase({ type: VisionIdentifier() }),
WandEnchantment: EnumCase({ type: WandEnchantmentIdentifier() }),
WeaponEnchantment: EnumCase({ type: WeaponEnchantmentIdentifier() }),
}),
})
export const CombatRelatedSpecialAbilityIdentifier = Enum(import.meta.url, {
name: "CombatRelatedSpecialAbilityIdentifier",
values: () => ({
CombatSpecialAbility: EnumCase({ type: CombatSpecialAbilityIdentifier }),
CombatStyleSpecialAbility: EnumCase({ type: CombatStyleSpecialAbilityIdentifier }),
AdvancedCombatSpecialAbility: EnumCase({ type: AdvancedCombatSpecialAbilityIdentifier }),
CommandSpecialAbility: EnumCase({ type: CommandSpecialAbilityIdentifier }),
CombatSpecialAbility: EnumCase({ type: CombatSpecialAbilityIdentifier() }),
CombatStyleSpecialAbility: EnumCase({ type: CombatStyleSpecialAbilityIdentifier() }),
AdvancedCombatSpecialAbility: EnumCase({ type: AdvancedCombatSpecialAbilityIdentifier() }),
CommandSpecialAbility: EnumCase({ type: CommandSpecialAbilityIdentifier() }),
}),
})
export const TraditionIdentifier = Enum(import.meta.url, {
name: "TraditionIdentifier",
values: () => ({
MagicalTradition: EnumCase({ type: MagicalTraditionIdentifier }),
BlessedTradition: EnumCase({ type: BlessedTraditionIdentifier }),
MagicalTradition: EnumCase({ type: MagicalTraditionIdentifier() }),
BlessedTradition: EnumCase({ type: BlessedTraditionIdentifier() }),
}),
})
export const RatedIdentifier = Enum(import.meta.url, {
name: "RatedIdentifier",
values: () => ({
Attribute: EnumCase({ type: AttributeIdentifier }),
Skill: EnumCase({ type: SkillIdentifier }),
CloseCombatTechnique: EnumCase({ type: CloseCombatTechniqueIdentifier }),
RangedCombatTechnique: EnumCase({ type: RangedCombatTechniqueIdentifier }),
Spell: EnumCase({ type: SpellIdentifier }),
Ritual: EnumCase({ type: RitualIdentifier }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier }),
Ceremony: EnumCase({ type: CeremonyIdentifier }),
Attribute: EnumCase({ type: AttributeIdentifier() }),
Skill: EnumCase({ type: SkillIdentifier() }),
CloseCombatTechnique: EnumCase({ type: CloseCombatTechniqueIdentifier() }),
RangedCombatTechnique: EnumCase({ type: RangedCombatTechniqueIdentifier() }),
Spell: EnumCase({ type: SpellIdentifier() }),
Ritual: EnumCase({ type: RitualIdentifier() }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier() }),
Ceremony: EnumCase({ type: CeremonyIdentifier() }),
}),
})
export const SkillishIdentifier = Enum(import.meta.url, {
name: "SkillishIdentifier",
values: () => ({
Skill: EnumCase({ type: SkillIdentifier }),
Spell: EnumCase({ type: SpellIdentifier }),
Ritual: EnumCase({ type: RitualIdentifier }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier }),
Ceremony: EnumCase({ type: CeremonyIdentifier }),
Skill: EnumCase({ type: SkillIdentifier() }),
Spell: EnumCase({ type: SpellIdentifier() }),
Ritual: EnumCase({ type: RitualIdentifier() }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier() }),
Ceremony: EnumCase({ type: CeremonyIdentifier() }),
}),
})
export const AdvancedSpecialAbilityRestrictedOptionIdentifier = Enum(import.meta.url, {
name: "AdvancedSpecialAbilityRestrictedOptionIdentifier",
values: () => ({
General: EnumCase({ type: GeneralIdentifier }),
Skill: EnumCase({ type: SkillIdentifier }),
Element: EnumCase({ type: ElementIdentifier }),
Aspect: EnumCase({ type: AspectIdentifier }),
General: EnumCase({ type: GeneralIdentifier() }),
Skill: EnumCase({ type: SkillIdentifier() }),
Element: EnumCase({ type: ElementIdentifier() }),
Aspect: EnumCase({ type: AspectIdentifier() }),
}),
})
export const VolumePointsOptionReferenceIdentifier = Enum(import.meta.url, {
name: "VolumePointsOptionReferenceIdentifier",
values: () => ({
General: EnumCase({ type: GeneralIdentifier }),
AnimalShapeSize: EnumCase({ type: AnimalShapeSizeIdentifier }),
General: EnumCase({ type: GeneralIdentifier() }),
AnimalShapeSize: EnumCase({ type: AnimalShapeSizeIdentifier() }),
}),
})
export const CombatTechniqueIdentifier = Enum(import.meta.url, {
name: "CombatTechniqueIdentifier",
values: () => ({
CloseCombatTechnique: EnumCase({ type: CloseCombatTechniqueIdentifier }),
RangedCombatTechnique: EnumCase({ type: RangedCombatTechniqueIdentifier }),
CloseCombatTechnique: EnumCase({ type: CloseCombatTechniqueIdentifier() }),
RangedCombatTechnique: EnumCase({ type: RangedCombatTechniqueIdentifier() }),
}),
})
export const ExtensionRuleIdentifier = Enum(import.meta.url, {
name: "ExtensionRuleIdentifier",
values: () => ({
FocusRule: EnumCase({ type: FocusRuleIdentifier }),
OptionalRule: EnumCase({ type: OptionalRuleIdentifier }),
FocusRule: EnumCase({ type: FocusRuleIdentifier() }),
OptionalRule: EnumCase({ type: OptionalRuleIdentifier() }),
}),
})
export const SkillWithEnhancementsIdentifier = Enum(import.meta.url, {
name: "SkillWithEnhancementsIdentifier",
values: () => ({
Spell: EnumCase({ type: SpellIdentifier }),
Ritual: EnumCase({ type: RitualIdentifier }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier }),
Ceremony: EnumCase({ type: CeremonyIdentifier }),
Spell: EnumCase({ type: SpellIdentifier() }),
Ritual: EnumCase({ type: RitualIdentifier() }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier() }),
Ceremony: EnumCase({ type: CeremonyIdentifier() }),
}),
})
export const SpellworkIdentifier = Enum(import.meta.url, {
name: "SpellworkIdentifier",
values: () => ({
Spell: EnumCase({ type: SpellIdentifier }),
Ritual: EnumCase({ type: RitualIdentifier }),
Spell: EnumCase({ type: SpellIdentifier() }),
Ritual: EnumCase({ type: RitualIdentifier() }),
}),
})
export const LiturgyIdentifier = Enum(import.meta.url, {
name: "LiturgyIdentifier",
values: () => ({
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier }),
Ceremony: EnumCase({ type: CeremonyIdentifier }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier() }),
Ceremony: EnumCase({ type: CeremonyIdentifier() }),
}),
})
export const MagicalActionIdentifier = Enum(import.meta.url, {
name: "MagicalActionIdentifier",
values: () => ({
Curse: EnumCase({ type: CurseIdentifier }),
ElvenMagicalSong: EnumCase({ type: ElvenMagicalSongIdentifier }),
DominationRitual: EnumCase({ type: DominationRitualIdentifier }),
MagicalMelody: EnumCase({ type: MagicalMelodyIdentifier }),
MagicalDance: EnumCase({ type: MagicalDanceIdentifier }),
JesterTrick: EnumCase({ type: JesterTrickIdentifier }),
AnimistPower: EnumCase({ type: AnimistPowerIdentifier }),
GeodeRitual: EnumCase({ type: GeodeRitualIdentifier }),
ZibiljaRitual: EnumCase({ type: ZibiljaRitualIdentifier }),
MagicalRune: EnumCase({ type: MagicalRuneIdentifier }),
Curse: EnumCase({ type: CurseIdentifier() }),
ElvenMagicalSong: EnumCase({ type: ElvenMagicalSongIdentifier() }),
DominationRitual: EnumCase({ type: DominationRitualIdentifier() }),
MagicalMelody: EnumCase({ type: MagicalMelodyIdentifier() }),
MagicalDance: EnumCase({ type: MagicalDanceIdentifier() }),
JesterTrick: EnumCase({ type: JesterTrickIdentifier() }),
AnimistPower: EnumCase({ type: AnimistPowerIdentifier() }),
GeodeRitual: EnumCase({ type: GeodeRitualIdentifier() }),
ZibiljaRitual: EnumCase({ type: ZibiljaRitualIdentifier() }),
MagicalRune: EnumCase({ type: MagicalRuneIdentifier() }),
}),
})
export const SelectOptionIdentifier = Enum(import.meta.url, {
name: "SelectOptionIdentifier",
values: () => ({
General: EnumCase({ type: GeneralIdentifier }),
Blessing: EnumCase({ type: BlessingIdentifier }),
Cantrip: EnumCase({ type: CantripIdentifier }),
TradeSecret: EnumCase({ type: TradeSecretIdentifier }),
Script: EnumCase({ type: ScriptIdentifier }),
AnimalShape: EnumCase({ type: AnimalShapeIdentifier }),
ArcaneBardTradition: EnumCase({ type: ArcaneBardTraditionIdentifier }),
ArcaneDancerTradition: EnumCase({ type: ArcaneDancerTraditionIdentifier }),
SexPractice: EnumCase({ type: SexPracticeIdentifier }),
Race: EnumCase({ type: RaceIdentifier }),
Culture: EnumCase({ type: CultureIdentifier }),
BlessedTradition: EnumCase({ type: BlessedTraditionIdentifier }),
Element: EnumCase({ type: ElementIdentifier }),
Property: EnumCase({ type: PropertyIdentifier }),
Aspect: EnumCase({ type: AspectIdentifier }),
Disease: EnumCase({ type: DiseaseIdentifier }),
Poison: EnumCase({ type: PoisonIdentifier }),
Language: EnumCase({ type: LanguageIdentifier }),
Skill: EnumCase({ type: SkillIdentifier }),
SkillApplication: EnumCase({ type: SkillApplicationIdentifier }),
CloseCombatTechnique: EnumCase({ type: CloseCombatTechniqueIdentifier }),
RangedCombatTechnique: EnumCase({ type: RangedCombatTechniqueIdentifier }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier }),
Ceremony: EnumCase({ type: CeremonyIdentifier }),
Spell: EnumCase({ type: SpellIdentifier }),
Ritual: EnumCase({ type: RitualIdentifier }),
TargetCategory: EnumCase({ type: TargetCategoryIdentifier }),
Patron: EnumCase({ type: PatronIdentifier }),
General: EnumCase({ type: GeneralIdentifier() }),
Blessing: EnumCase({ type: BlessingIdentifier() }),
Cantrip: EnumCase({ type: CantripIdentifier() }),
TradeSecret: EnumCase({ type: TradeSecretIdentifier() }),
Script: EnumCase({ type: ScriptIdentifier() }),
AnimalShape: EnumCase({ type: AnimalShapeIdentifier() }),
ArcaneBardTradition: EnumCase({ type: ArcaneBardTraditionIdentifier() }),
ArcaneDancerTradition: EnumCase({ type: ArcaneDancerTraditionIdentifier() }),
SexPractice: EnumCase({ type: SexPracticeIdentifier() }),
Race: EnumCase({ type: RaceIdentifier() }),
Culture: EnumCase({ type: CultureIdentifier() }),
BlessedTradition: EnumCase({ type: BlessedTraditionIdentifier() }),
Element: EnumCase({ type: ElementIdentifier() }),
Property: EnumCase({ type: PropertyIdentifier() }),
Aspect: EnumCase({ type: AspectIdentifier() }),
Disease: EnumCase({ type: DiseaseIdentifier() }),
Poison: EnumCase({ type: PoisonIdentifier() }),
Language: EnumCase({ type: LanguageIdentifier() }),
Skill: EnumCase({ type: SkillIdentifier() }),
SkillApplication: EnumCase({ type: SkillApplicationIdentifier() }),
CloseCombatTechnique: EnumCase({ type: CloseCombatTechniqueIdentifier() }),
RangedCombatTechnique: EnumCase({ type: RangedCombatTechniqueIdentifier() }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier() }),
Ceremony: EnumCase({ type: CeremonyIdentifier() }),
Spell: EnumCase({ type: SpellIdentifier() }),
Ritual: EnumCase({ type: RitualIdentifier() }),
TargetCategory: EnumCase({ type: TargetCategoryIdentifier() }),
Patron: EnumCase({ type: PatronIdentifier() }),
}),
})
export const RequirableSelectOptionIdentifier = Enum(import.meta.url, {
name: "RequirableSelectOptionIdentifier",
values: () => ({
General: EnumCase({ type: GeneralIdentifier }),
Skill: EnumCase({ type: SkillIdentifier }),
CloseCombatTechnique: EnumCase({ type: CloseCombatTechniqueIdentifier }),
RangedCombatTechnique: EnumCase({ type: RangedCombatTechniqueIdentifier }),
Property: EnumCase({ type: PropertyIdentifier }),
Aspect: EnumCase({ type: AspectIdentifier }),
Language: EnumCase({ type: LanguageIdentifier }),
AnimalShape: EnumCase({ type: AnimalShapeIdentifier }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier }),
Ceremony: EnumCase({ type: CeremonyIdentifier }),
Spell: EnumCase({ type: SpellIdentifier }),
Ritual: EnumCase({ type: RitualIdentifier }),
General: EnumCase({ type: GeneralIdentifier() }),
Skill: EnumCase({ type: SkillIdentifier() }),
CloseCombatTechnique: EnumCase({ type: CloseCombatTechniqueIdentifier() }),
RangedCombatTechnique: EnumCase({ type: RangedCombatTechniqueIdentifier() }),
Property: EnumCase({ type: PropertyIdentifier() }),
Aspect: EnumCase({ type: AspectIdentifier() }),
Language: EnumCase({ type: LanguageIdentifier() }),
AnimalShape: EnumCase({ type: AnimalShapeIdentifier() }),
LiturgicalChant: EnumCase({ type: LiturgicalChantIdentifier() }),
Ceremony: EnumCase({ type: CeremonyIdentifier() }),
Spell: EnumCase({ type: SpellIdentifier() }),
Ritual: EnumCase({ type: RitualIdentifier() }),
}),
})
export const CoreRuleDerivableContentIdentifier = Enum(import.meta.url, {
name: "CoreRuleDerivableContentIdentifier",
values: () => ({
MagicalTradition: EnumCase({ type: MagicalTraditionIdentifier }),
FamiliarSpecialAbility: EnumCase({ type: FamiliarSpecialAbilityIdentifier }),
MagicalSpecialAbility: EnumCase({ type: MagicalSpecialAbilityIdentifier }),
BlessedTradition: EnumCase({ type: BlessedTraditionIdentifier }),
MagicalTradition: EnumCase({ type: MagicalTraditionIdentifier() }),
FamiliarSpecialAbility: EnumCase({ type: FamiliarSpecialAbilityIdentifier() }),
MagicalSpecialAbility: EnumCase({ type: MagicalSpecialAbilityIdentifier() }),
BlessedTradition: EnumCase({ type: BlessedTraditionIdentifier() }),
}),
})
export const EquipmentIdentifier = Enum(import.meta.url, {
name: "EquipmentIdentifier",
values: () => ({
Ammunition: EnumCase({ type: AmmunitionIdentifier }),
Animal: EnumCase({ type: AnimalIdentifier }),
AnimalCare: EnumCase({ type: AnimalCareIdentifier }),
Armor: EnumCase({ type: ArmorIdentifier }),
BandageOrRemedy: EnumCase({ type: BandageOrRemedyIdentifier }),
Book: EnumCase({ type: BookIdentifier }),
CeremonialItem: EnumCase({ type: CeremonialItemIdentifier }),
Clothes: EnumCase({ type: ClothesIdentifier }),
Container: EnumCase({ type: ContainerIdentifier }),
Elixir: EnumCase({ type: ElixirIdentifier }),
EquipmentOfBlessedOnes: EnumCase({ type: EquipmentOfBlessedOnesIdentifier }),
GemOrPreciousStone: EnumCase({ type: GemOrPreciousStoneIdentifier }),
IlluminationLightSource: EnumCase({ type: IlluminationLightSourceIdentifier }),
IlluminationRefillsOrSupplies: EnumCase({ type: IlluminationRefillsOrSuppliesIdentifier }),
Jewelry: EnumCase({ type: JewelryIdentifier }),
Liebesspielzeug: EnumCase({ type: LiebesspielzeugIdentifier }),
LuxuryGood: EnumCase({ type: LuxuryGoodIdentifier }),
MagicalArtifact: EnumCase({ type: MagicalArtifactIdentifier }),
MusicalInstrument: EnumCase({ type: MusicalInstrumentIdentifier }),
OrienteeringAid: EnumCase({ type: OrienteeringAidIdentifier }),
Poison: EnumCase({ type: PoisonIdentifier }),
RopeOrChain: EnumCase({ type: RopeOrChainIdentifier }),
Stationary: EnumCase({ type: StationaryIdentifier }),
ThievesTool: EnumCase({ type: ThievesToolIdentifier }),
ToolOfTheTrade: EnumCase({ type: ToolOfTheTradeIdentifier }),
TravelGearOrTool: EnumCase({ type: TravelGearOrToolIdentifier }),
Vehicle: EnumCase({ type: VehicleIdentifier }),
Weapon: EnumCase({ type: WeaponIdentifier }),
WeaponAccessory: EnumCase({ type: WeaponAccessoryIdentifier }),
Ammunition: EnumCase({ type: AmmunitionIdentifier() }),
Animal: EnumCase({ type: AnimalIdentifier() }),
AnimalCare: EnumCase({ type: AnimalCareIdentifier() }),
Armor: EnumCase({ type: ArmorIdentifier() }),
BandageOrRemedy: EnumCase({ type: BandageOrRemedyIdentifier() }),
Book: EnumCase({ type: BookIdentifier() }),
CeremonialItem: EnumCase({ type: CeremonialItemIdentifier() }),
Clothes: EnumCase({ type: ClothesIdentifier() }),
Container: EnumCase({ type: ContainerIdentifier() }),
Elixir: EnumCase({ type: ElixirIdentifier() }),
EquipmentOfBlessedOnes: EnumCase({ type: EquipmentOfBlessedOnesIdentifier() }),
GemOrPreciousStone: EnumCase({ type: GemOrPreciousStoneIdentifier() }),
IlluminationLightSource: EnumCase({ type: IlluminationLightSourceIdentifier() }),
IlluminationRefillsOrSupplies: EnumCase({ type: IlluminationRefillsOrSuppliesIdentifier() }),
Jewelry: EnumCase({ type: JewelryIdentifier() }),
Liebesspielzeug: EnumCase({ type: LiebesspielzeugIdentifier() }),
LuxuryGood: EnumCase({ type: LuxuryGoodIdentifier() }),
MagicalArtifact: EnumCase({ type: MagicalArtifactIdentifier() }),
MusicalInstrument: EnumCase({ type: MusicalInstrumentIdentifier() }),
OrienteeringAid: EnumCase({ type: OrienteeringAidIdentifier() }),
Poison: EnumCase({ type: PoisonIdentifier() }),
RopeOrChain: EnumCase({ type: RopeOrChainIdentifier() }),
Stationary: EnumCase({ type: StationaryIdentifier() }),
ThievesTool: EnumCase({ type: ThievesToolIdentifier() }),
ToolOfTheTrade: EnumCase({ type: ToolOfTheTradeIdentifier() }),
TravelGearOrTool: EnumCase({ type: TravelGearOrToolIdentifier() }),
Vehicle: EnumCase({ type: VehicleIdentifier() }),
Weapon: EnumCase({ type: WeaponIdentifier() }),
WeaponAccessory: EnumCase({ type: WeaponAccessoryIdentifier() }),
}),
})
+1 -1
View File
@@ -5,7 +5,7 @@ export const SkillCheck = TypeAlias(import.meta.url, {
name: "SkillCheck",
comment: "The attributes identifiers of the skill check.",
type: () =>
Array(AttributeIdentifier, {
Array(AttributeIdentifier(), {
minItems: 3,
maxItems: 3,
}),
+1 -1
View File
@@ -9,7 +9,7 @@ export const SpellworkTraditions = Enum(import.meta.url, {
General: EnumCase({ type: null }),
Specific: EnumCase({
comment: "A list of specific traditions.",
type: Array(MagicalTraditionIdentifier, { minItems: 1 }),
type: Array(MagicalTraditionIdentifier(), { minItems: 1 }),
}),
}),
})
+3 -3
View File
@@ -49,7 +49,7 @@ export const Armor = Entity(import.meta.url, {
}),
armor_type: Required({
comment: "The armor type..",
type: ArmorTypeIdentifier,
type: ArmorTypeIdentifier(),
}),
hit_zone: Optional({
comment: "Specify if armor is only available for a specific hit zone.",
@@ -111,7 +111,7 @@ export const SecondaryArmor = TypeAlias(import.meta.url, {
}),
armor_type: Required({
comment: "The armor type..",
type: ArmorTypeIdentifier,
type: ArmorTypeIdentifier(),
}),
hit_zone: Optional({
comment: "Specify if armor is only available for a specific hit zone.",
@@ -184,7 +184,7 @@ const HeadHitZoneCombinationPossibilities = TypeAlias(import.meta.url, {
Object({
armors: Required({
comment: "A list of armors that can be combined with this armor.",
type: Array(ArmorIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(ArmorIdentifier(), { minItems: 1, uniqueItems: true }),
}),
protection: Optional({
comment:
+1 -1
View File
@@ -34,7 +34,7 @@ export const CeremonialItem = Entity(import.meta.url, {
}),
associated_tradition: Required({
comment: "The deity associated with the equipment item.",
type: BlessedTraditionIdentifier,
type: BlessedTraditionIdentifier(),
}),
combat_use: Optional({
comment:
@@ -19,7 +19,7 @@ export const EquipmentOfBlessedOnes = Entity(import.meta.url, {
}),
associated_tradition: Required({
comment: "The deity/deities associated with the equipment item.",
type: Array(BlessedTraditionIdentifier, { minItems: 1, uniqueItems: true }),
type: Array(BlessedTraditionIdentifier(), { minItems: 1, uniqueItems: true }),
}),
combat_use: Optional({
comment:
+7 -8
View File
@@ -6,7 +6,6 @@ import {
IncludeIdentifier,
Object,
Optional,
ReferenceIdentifier,
Required,
String,
TypeAlias,
@@ -49,7 +48,7 @@ export const Weapon = Entity(import.meta.url, {
}),
uses: Required({
comment: "A list of stat blocks for each combat technique this weapon can be used with.",
type: Array(ReferenceIdentifier(WeaponUse), { minItems: 1 }),
type: Array(WeaponUseIdentifier(), { minItems: 1 }),
}),
sanctified_by: Optional({
comment: "If the weapon is sanctified by a god and thus restricted to it's Blessed Ones.",
@@ -63,7 +62,7 @@ export const Weapon = Entity(import.meta.url, {
restricted_to_traditions: Optional({
comment:
"Define if during character creation this weapon can only be bought by characters of specific magical or blessed traditions.",
type: Array(MagicalTraditionIdentifier, { minItems: 1 }),
type: Array(MagicalTraditionIdentifier(), { minItems: 1 }),
}),
src,
translations: NestedLocaleMap(
@@ -109,7 +108,7 @@ export const ImprovisedWeapon = TypeAlias(import.meta.url, {
Object({
uses: Required({
comment: "A list of stat blocks for each combat technique this weapon can be used with.",
type: Array(WeaponUseIdentifier, { minItems: 1 }),
type: Array(WeaponUseIdentifier(), { minItems: 1 }),
}),
sanctified_by: Optional({
comment: "If the weapon is sanctified by a god and thus restricted to it's Blessed Ones.",
@@ -123,7 +122,7 @@ export const ImprovisedWeapon = TypeAlias(import.meta.url, {
restricted_to_traditions: Optional({
comment:
"Define if during character creation this weapon can only be bought by characters of specific magical or blessed traditions.",
type: Array(MagicalTraditionIdentifier, { minItems: 1 }),
type: Array(MagicalTraditionIdentifier(), { minItems: 1 }),
}),
translations: NestedLocaleMap(
Optional,
@@ -169,7 +168,7 @@ const WeaponUseValues = Enum(import.meta.url, {
export const SanctifiedBy = TypeAlias(import.meta.url, {
name: "SanctifiedBy",
comment: "If the weapon is sanctified by a god and thus restricted to it's Blessed Ones.",
type: () => Array(BlessedTraditionIdentifier, { minItems: 1 }),
type: () => Array(BlessedTraditionIdentifier(), { minItems: 1 }),
})
const RestrictedToCultures = Enum(import.meta.url, {
@@ -177,7 +176,7 @@ const RestrictedToCultures = Enum(import.meta.url, {
comment:
"Define if during character creation this weapon can only be bought by characters of a specific race or culture.",
values: () => ({
CulturesOfRace: EnumCase({ type: RaceIdentifier }),
CulturesOfRace: EnumCase({ type: RaceIdentifier() }),
Cultures: EnumCase({ type: IncludeIdentifier(RestrictedToSpecificCultures) }),
}),
})
@@ -187,7 +186,7 @@ const RestrictedToSpecificCultures = TypeAlias(import.meta.url, {
type: () =>
Object({
list: Required({
type: Array(CultureIdentifier, { minItems: 1 }),
type: Array(CultureIdentifier(), { minItems: 1 }),
}),
}),
})
+2 -2
View File
@@ -73,7 +73,7 @@ export const MeleeWeapon = TypeAlias(import.meta.url, {
Object({
combat_technique: Required({
comment: "The combat techniques and dependent values.",
type: CloseCombatTechniqueIdentifier,
type: CloseCombatTechniqueIdentifier(),
}),
damage: Required({
comment:
@@ -94,7 +94,7 @@ export const MeleeWeapon = TypeAlias(import.meta.url, {
}),
reach: Optional({
comment: "The reach of the weapon.",
type: ReachIdentifier,
type: ReachIdentifier(),
}),
length: Optional({
comment: "The length of the weapon in cm/halffingers.",
+2 -2
View File
@@ -51,7 +51,7 @@ export const RangedWeapon = TypeAlias(import.meta.url, {
Object({
combat_technique: Required({
comment: "The combat techniques and dependent values.",
type: RangedCombatTechniqueIdentifier,
type: RangedCombatTechniqueIdentifier(),
}),
damage: Required({
comment:
@@ -71,7 +71,7 @@ export const RangedWeapon = TypeAlias(import.meta.url, {
}),
ammunition: Optional({
comment: "The needed ammunition.",
type: AmmunitionIdentifier,
type: AmmunitionIdentifier(),
}),
length: Required({
comment: "The length of the weapon in cm/halffingers.",
+1 -1
View File
@@ -52,7 +52,7 @@ const SinglePrimaryAttributeDamageThreshold = TypeAlias(import.meta.url, {
Object({
attribute: Required({
comment: "The primary attribute.",
type: AttributeIdentifier,
type: AttributeIdentifier(),
}),
threshold: Required({
comment: "The attribute value representing the damage threshold.",
+2 -2
View File
@@ -44,13 +44,13 @@ export const AnimistPower = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
tribe_tradition: Required({
comment: `The tribe traditions the animist power is available to. It may be available to all or only specific tribes.
If no tribe tradition is given, the animist power is generally available to all tribe traditions.`,
type: Array(TribeIdentifier, { uniqueItems: true }),
type: Array(TribeIdentifier(), { uniqueItems: true }),
}),
improvement_cost: Required({
comment: "States which column is used to improve the skill.",
+1 -1
View File
@@ -40,7 +40,7 @@ export const Curse = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
src,
translations: NestedLocaleMap(
+2 -2
View File
@@ -39,7 +39,7 @@ export const DominationRitual = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
src,
translations: NestedLocaleMap(
@@ -94,7 +94,7 @@ const DominationRitualCost = TypeAlias(import.meta.url, {
Object({
initial_modification_level: Required({
comment: "The initial skill modification identifier/level.",
type: SkillModificationLevelIdentifier,
type: SkillModificationLevelIdentifier(),
}),
translations: NestedLocaleMap(
Optional,
+2 -2
View File
@@ -40,7 +40,7 @@ export const ElvenMagicalSong = Entity(import.meta.url, {
skill: Required({
comment:
"To enhance their songs, elves can make a check on either *Singing (Two-Voiced Singing)* or *Music (appropriate application)* (or both) before making the check for the song.",
type: Array(SkillIdentifier, {
type: Array(SkillIdentifier(), {
minItems: 1,
maxItems: 2,
uniqueItems: true,
@@ -48,7 +48,7 @@ export const ElvenMagicalSong = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
improvement_cost: Required({
comment: "States which column is used to improve the skill.",
+1 -1
View File
@@ -42,7 +42,7 @@ export const GeodeRitual = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
prerequisites: Optional({
comment: "The prerequisites for the geode ritual.",
+1 -1
View File
@@ -44,7 +44,7 @@ export const JesterTrick = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
improvement_cost: Required({
comment: "States which column is used to improve the skill.",
+2 -2
View File
@@ -38,12 +38,12 @@ export const MagicalDance = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
music_tradition: Required({
comment:
"The music tradition(s) the magical dance is available for. This also defines the different names in each music tradition.",
type: Array(IncludeIdentifier(MusicTraditionReference(ArcaneDancerTraditionIdentifier)), {
type: Array(IncludeIdentifier(MusicTraditionReference(ArcaneDancerTraditionIdentifier())), {
minItems: 1,
}),
}),
+3 -3
View File
@@ -41,7 +41,7 @@ export const MagicalMelody = Entity(import.meta.url, {
skill: Required({
comment:
"To enhance their songs, elves can make a check on either *Singing (Two-Voiced Singing)* or *Music (appropriate application)* (or both) before making the check for the song.",
type: Array(SkillIdentifier, {
type: Array(SkillIdentifier(), {
minItems: 1,
maxItems: 2,
uniqueItems: true,
@@ -53,12 +53,12 @@ export const MagicalMelody = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
music_tradition: Required({
comment:
"The music tradition(s) the magical melody is available for. This also defines the different names in each music tradition.",
type: Array(IncludeIdentifier(MusicTraditionReference(ArcaneBardTraditionIdentifier)), {
type: Array(IncludeIdentifier(MusicTraditionReference(ArcaneBardTraditionIdentifier())), {
minItems: 1,
}),
}),
+1 -1
View File
@@ -51,7 +51,7 @@ If there are multiple options, the magical rune may be activated for each option
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
improvement_cost: Required({
comment: "States which column is used to improve the skill.",
+1 -1
View File
@@ -42,7 +42,7 @@ export const ZibiljaRitual = Entity(import.meta.url, {
}),
property: Required({
comment: "The associated property.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
improvement_cost: Required({
comment: "States which column is used to improve the skill.",
@@ -16,7 +16,7 @@ export const AnimistPowerPrerequisite = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The animist powers identifier.",
type: AnimistPowerIdentifier,
type: AnimistPowerIdentifier(),
}),
level: Optional({
comment: "The level to which the minimum value applies.",
@@ -9,7 +9,7 @@ export const CulturePrerequisite = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The cultures identifier.",
type: CultureIdentifier,
type: CultureIdentifier(),
}),
display_option: Optional({
type: IncludeIdentifier(DisplayOption),
@@ -8,7 +8,7 @@ export const EnhancementPrerequisite = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The required enhancement.",
type: EnhancementIdentifier,
type: EnhancementIdentifier(),
}),
}),
})
@@ -15,7 +15,7 @@ export const InfluencePrerequisite = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The influences identifier.",
type: InfluenceIdentifier,
type: InfluenceIdentifier(),
}),
active: Required({
comment: "If the referenced influence must or must not be chosen.",
@@ -17,11 +17,11 @@ export const PactPrerequisite = TypeAlias(import.meta.url, {
Object({
category: Required({
comment: "The required pact category.",
type: PactCategoryIdentifier,
type: PactCategoryIdentifier(),
}),
domain: Optional({
comment: "The required domain(s).",
type: Array(PactDomainIdentifier, { minItems: 1 }),
type: Array(PactDomainIdentifier(), { minItems: 1 }),
}),
level: Optional({
comment: "The level to which the minimum value applies.",
@@ -8,7 +8,7 @@ export const PublicationPrerequisite = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The publications identifier.",
type: PublicationIdentifier,
type: PublicationIdentifier(),
}),
display_option: Optional({
type: IncludeIdentifier(DisplayOption),
@@ -17,7 +17,7 @@ export const RacePrerequisite = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The races identifier.",
type: RaceIdentifier,
type: RaceIdentifier(),
}),
active: Required({
type: Boolean(),
@@ -55,7 +55,7 @@ export const RatedMinimumNumberPrerequisiteSkillsTarget = TypeAlias(import.meta.
Object({
targets: Required({
comment: "The skills that are taken into account for satisfying the prerequisite.",
type: Array(SkillIdentifier, { minItems: 2, uniqueItems: true }),
type: Array(SkillIdentifier(), { minItems: 2, uniqueItems: true }),
}),
}),
})
@@ -86,7 +86,7 @@ export const RatedMinimumNumberPrerequisiteSpellworksTarget = TypeAlias(import.m
Object({
property: Required({
comment: "The skills that are taken into account for satisfying the prerequisite.",
type: PropertyIdentifier,
type: PropertyIdentifier(),
}),
}),
})
@@ -97,7 +97,7 @@ export const RatedMinimumNumberPrerequisiteLiturgiesTarget = TypeAlias(import.me
Object({
aspect: Required({
comment: "The skills that are taken into account for satisfying the prerequisite.",
type: AspectIdentifier,
type: AspectIdentifier(),
}),
}),
})
@@ -20,7 +20,7 @@ export const RatedSumPrerequisite = TypeAlias(import.meta.url, {
}),
targets: Required({
comment: "The targets that are included in calculating the sum.",
type: Array(SkillIdentifier, { minItems: 2 }),
type: Array(SkillIdentifier(), { minItems: 2 }),
}),
display_option: Optional({
type: IncludeIdentifier(DisplayOption),
@@ -9,7 +9,7 @@ export const SocialStatusPrerequisite = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The minimum social statuss identifier.",
type: SocialStatusIdentifier,
type: SocialStatusIdentifier(),
}),
display_option: Optional({
type: IncludeIdentifier(DisplayOption),
@@ -8,7 +8,7 @@ export const StatePrerequisite = TypeAlias(import.meta.url, {
type: () =>
Object({
id: Required({
type: StateIdentifier,
type: StateIdentifier(),
}),
display_option: Optional({
type: IncludeIdentifier(DisplayOption),
+1 -1
View File
@@ -62,7 +62,7 @@ const ChildNode = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The nested core rules identifier.",
type: CoreRuleIdentifier,
type: CoreRuleIdentifier(),
}),
include: Required({
comment:
+1 -1
View File
@@ -19,7 +19,7 @@ export const FocusRule = Entity(import.meta.url, {
Object({
subject: Required({
comment: "The associated subject.",
type: SubjectIdentifier,
type: SubjectIdentifier(),
}),
level: Required({
comment: "The focus rules level.",
+1 -1
View File
@@ -38,7 +38,7 @@ export const PublicationRef = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The publications identifier.",
type: PublicationIdentifier,
type: PublicationIdentifier(),
}),
occurrences: NestedLocaleMap(
Required,
+6 -6
View File
@@ -44,11 +44,11 @@ export const BlessedTradition = Entity(import.meta.url, {
primary: Optional({
comment:
"The traditions primary attribute. Leave empty if the tradition does not have one.",
type: AttributeIdentifier,
type: AttributeIdentifier(),
}),
aspects: Optional({
comment: "The traditions aspects, if any.",
type: Array(AspectIdentifier, { minItems: 2, maxItems: 2 }),
type: Array(AspectIdentifier(), { minItems: 2, maxItems: 2 }),
}),
restricted_blessings: Optional({
comment:
@@ -61,7 +61,7 @@ export const BlessedTradition = Entity(import.meta.url, {
}),
favored_skills: Required({
comment: "A list of favored skills.",
type: Array(SkillIdentifier, { minItems: 1 }),
type: Array(SkillIdentifier(), { minItems: 1 }),
}),
favored_skills_selection: Optional({
comment:
@@ -111,8 +111,8 @@ const RestrictedBlessings = Enum(import.meta.url, {
comment:
"If a tradition restricts the possible blessings, the blessings that are **not** allowed.",
values: () => ({
Three: EnumCase({ type: Array(BlessingIdentifier, { minItems: 3, maxItems: 3 }) }),
Six: EnumCase({ type: Array(BlessingIdentifier, { minItems: 6, maxItems: 6 }) }),
Three: EnumCase({ type: Array(BlessingIdentifier(), { minItems: 3, maxItems: 3 }) }),
Six: EnumCase({ type: Array(BlessingIdentifier(), { minItems: 6, maxItems: 6 }) }),
}),
})
@@ -150,7 +150,7 @@ const FavoredSkillsSelection = TypeAlias(import.meta.url, {
}),
options: Required({
comment: "The possible set of skills.",
type: Array(SkillIdentifier, { minItems: 2, uniqueItems: true }),
type: Array(SkillIdentifier(), { minItems: 2, uniqueItems: true }),
}),
}),
})
@@ -32,7 +32,7 @@ export const CombatStyleSpecialAbility = Entity(import.meta.url, {
skill_applications: skill_applications(),
skill_uses: skill_uses(),
maximum,
advanced: advanced(AdvancedCombatSpecialAbilityIdentifier),
advanced: advanced(AdvancedCombatSpecialAbilityIdentifier()),
prerequisites: Optional({
type: IncludeIdentifier(GeneralPrerequisites),
}),
@@ -27,7 +27,7 @@ export const LiturgicalStyleSpecialAbility = Entity(import.meta.url, {
skill_applications: skill_applications(),
skill_uses: skill_uses(),
maximum,
advanced: advanced(AdvancedKarmaSpecialAbilityIdentifier),
advanced: advanced(AdvancedKarmaSpecialAbilityIdentifier()),
prerequisites: Optional({
type: IncludeIdentifier(GeneralPrerequisites),
}),
@@ -27,7 +27,7 @@ export const MagicStyleSpecialAbility = Entity(import.meta.url, {
skill_applications: skill_applications(),
skill_uses: skill_uses(),
maximum,
advanced: advanced(AdvancedMagicalSpecialAbilityIdentifier),
advanced: advanced(AdvancedMagicalSpecialAbilityIdentifier()),
prerequisites: Optional({
type: IncludeIdentifier(GeneralPrerequisites),
}),
+3 -3
View File
@@ -82,11 +82,11 @@ export const MagicalTradition = Entity(import.meta.url, {
use_arcane_spellworks_from_tradition: Optional({
comment:
"If arcane spellworks from a different tradition count as arcane spellworks of this tradition, this is the different traditions reference.",
type: MagicalTraditionIdentifier,
type: MagicalTraditionIdentifier(),
}),
influences: Optional({
comment: "The influences for the traditions. Influences are enabled by Focus Rules.",
type: Array(InfluenceIdentifier, { minItems: 2 }),
type: Array(InfluenceIdentifier(), { minItems: 2 }),
}),
prerequisites: Optional({
type: IncludeIdentifier(GeneralPrerequisites),
@@ -123,7 +123,7 @@ export const PrimaryAttribute = TypeAlias(import.meta.url, {
Object({
id: Optional({
comment: "The attributes identifier.",
type: AttributeIdentifier,
type: AttributeIdentifier(),
}),
use_half_for_arcane_energy: Required({
comment:
@@ -23,7 +23,7 @@ export const SkillStyleSpecialAbility = Entity(import.meta.url, {
levels,
select_options: select_options(),
maximum,
advanced: advanced(AdvancedSkillSpecialAbilityIdentifier),
advanced: advanced(AdvancedSkillSpecialAbilityIdentifier()),
prerequisites: Optional({
type: IncludeIdentifier(GeneralPrerequisites),
}),
+1 -1
View File
@@ -26,7 +26,7 @@ export const Script = Entity(import.meta.url, {
}),
associated_languages: Required({
comment: "A list of languages that use this script.",
type: Array(LanguageIdentifier),
type: Array(LanguageIdentifier()),
}),
continent: Required({
comment: "The continents this language is present on.",
@@ -7,7 +7,7 @@ export const AssociatedContinent = TypeAlias(import.meta.url, {
Object({
id: Required({
comment: "The continents identifier.",
type: ContinentIdentifier,
type: ContinentIdentifier(),
}),
is_extinct: Required({
comment: "Is the language considered virtually extinct in this continent?",
@@ -32,7 +32,7 @@ export const CauldronEnchantment = Entity(import.meta.url, {
brew: Required({
comment:
"Witches can learn to brew special things in their Witch's Cauldron. These brews can be categorized in different types.",
type: BrewIdentifier,
type: BrewIdentifier(),
}),
cost: cost(),
property: property(),
@@ -9,11 +9,11 @@ export const AnimalShape = Entity(import.meta.url, {
Object({
path: Required({
comment: "The animal shapes path.",
type: AnimalShapeSizeIdentifier,
type: AnimalShapeSizeIdentifier(),
}),
size: Required({
comment: "The animal shapes size.",
type: AnimalShapeSizeIdentifier,
type: AnimalShapeSizeIdentifier(),
}),
translations: NestedLocaleMap(
Required,