diff --git a/src/types/Locale.ts b/src/types/Locale.ts index a9904cfd..20d134a7 100644 --- a/src/types/Locale.ts +++ b/src/types/Locale.ts @@ -1428,6 +1428,7 @@ export const Locale = DB.Entity(import.meta.url, { "Aspect": null, "As chosen": null, "Passive": null, + "Active": null, "Basic Maneuver": null, "Special Maneuver": null, "Volume": null, diff --git a/src/types/_ActivatableCombat.ts b/src/types/_ActivatableCombat.ts index 719cfbff..d45410d0 100644 --- a/src/types/_ActivatableCombat.ts +++ b/src/types/_ActivatableCombat.ts @@ -21,11 +21,25 @@ const CombatSpecialAbilityUsageType = DB.Enum(import.meta.url, { }), }) -export const usage_type = DB.Required({ +const CombatStyleUsageType = DB.Enum(import.meta.url, { + name: "CombatSpecialAbilityTypeUsageType", + comment: "The definition of how the combat special ability style can be used in combat.", + values: () => ({ + Passive: DB.EnumCase({ type: null }), + Active: DB.EnumCase({ type: null }), + }), +}) + +export const special_ability_usage_type = DB.Required({ comment: "The definition of how the combat special ability can be used in combat.", type: DB.IncludeIdentifier(CombatSpecialAbilityUsageType), }) +export const style_usage_type = DB.Required({ + comment: "The definition of how the combat style can be used in combat.", + type: DB.IncludeIdentifier(CombatStyleUsageType), +}) + const CombatSpecialAbilityType = DB.Enum(import.meta.url, { name: "CombatSpecialAbilityType", comment: diff --git a/src/types/specialAbility/AdvancedCombatSpecialAbility.ts b/src/types/specialAbility/AdvancedCombatSpecialAbility.ts index af891d08..d2968473 100644 --- a/src/types/specialAbility/AdvancedCombatSpecialAbility.ts +++ b/src/types/specialAbility/AdvancedCombatSpecialAbility.ts @@ -1,7 +1,7 @@ import * as DB from "tsondb/schema/dsl" import { input, levels, maximum, name, name_in_library, rules } from "../_Activatable.js" import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js" -import { combat_techniques, penalty, usage_type } from "../_ActivatableCombat.js" +import { combat_techniques, penalty, special_ability_usage_type } from "../_ActivatableCombat.js" import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.ts" import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js" import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js" @@ -18,7 +18,7 @@ export const AdvancedCombatSpecialAbility = DB.Entity(import.meta.url, { DB.Object({ levels, nameBuilderRules, - usage_type, + special_ability_usage_type, select_options, explicit_select_options, skill_applications, diff --git a/src/types/specialAbility/BrawlingSpecialAbility.ts b/src/types/specialAbility/BrawlingSpecialAbility.ts index 9393d131..ae4c1d5f 100644 --- a/src/types/specialAbility/BrawlingSpecialAbility.ts +++ b/src/types/specialAbility/BrawlingSpecialAbility.ts @@ -1,7 +1,7 @@ import * as DB from "tsondb/schema/dsl" import { levels, maximum, name, name_in_library, rules } from "../_Activatable.js" import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js" -import { combat_techniques, usage_type } from "../_ActivatableCombat.js" +import { combat_techniques, special_ability_usage_type } from "../_ActivatableCombat.js" import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.ts" import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js" import { GeneralPrerequisites } from "../_Prerequisite.js" @@ -16,7 +16,7 @@ export const BrawlingSpecialAbility = DB.Entity(import.meta.url, { DB.Object({ levels, nameBuilderRules, - usage_type, + special_ability_usage_type, select_options, explicit_select_options, maximum, diff --git a/src/types/specialAbility/CombatSpecialAbility.ts b/src/types/specialAbility/CombatSpecialAbility.ts index dabb7a06..0b08f253 100644 --- a/src/types/specialAbility/CombatSpecialAbility.ts +++ b/src/types/specialAbility/CombatSpecialAbility.ts @@ -1,7 +1,12 @@ import * as DB from "tsondb/schema/dsl" import { input, levels, maximum, name, name_in_library, rules } from "../_Activatable.js" import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js" -import { combat_techniques, penalty, penalty_l10n, usage_type } from "../_ActivatableCombat.js" +import { + combat_techniques, + penalty, + penalty_l10n, + special_ability_usage_type, +} from "../_ActivatableCombat.js" import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.ts" import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js" import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js" @@ -17,7 +22,7 @@ export const CombatSpecialAbility = DB.Entity(import.meta.url, { DB.Object({ levels, nameBuilderRules, - usage_type, + special_ability_usage_type, select_options, explicit_select_options, skill_applications, diff --git a/src/types/specialAbility/CombatStyleSpecialAbility.ts b/src/types/specialAbility/CombatStyleSpecialAbility.ts index aba13f3b..a879dd7c 100644 --- a/src/types/specialAbility/CombatStyleSpecialAbility.ts +++ b/src/types/specialAbility/CombatStyleSpecialAbility.ts @@ -2,8 +2,8 @@ import * as DB from "tsondb/schema/dsl" import { levels, maximum, name, name_in_library, rules } from "../_Activatable.js" import { advanced } from "../_ActivatableAdvanced.js" import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js" -import { combat_techniques, penalty, type, usage_type } from "../_ActivatableCombat.js" -import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.ts" +import { combat_techniques, penalty, type, style_usage_type } from "../_ActivatableCombat.js" +import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.js" import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js" import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js" import { AdvancedCombatSpecialAbilityIdentifier } from "../_Identifier.js" @@ -19,7 +19,7 @@ export const CombatStyleSpecialAbility = DB.Entity(import.meta.url, { DB.Object({ levels, nameBuilderRules, - usage_type, + style_usage_type, type, select_options, explicit_select_options, diff --git a/src/types/specialAbility/CommandSpecialAbility.ts b/src/types/specialAbility/CommandSpecialAbility.ts index 35d5c322..dfbcfa18 100644 --- a/src/types/specialAbility/CommandSpecialAbility.ts +++ b/src/types/specialAbility/CommandSpecialAbility.ts @@ -1,7 +1,7 @@ import * as DB from "tsondb/schema/dsl" import { levels, maximum, name, name_in_library, rules } from "../_Activatable.js" import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js" -import { combat_techniques, usage_type } from "../_ActivatableCombat.js" +import { combat_techniques, special_ability_usage_type } from "../_ActivatableCombat.js" import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.ts" import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js" import { GeneralPrerequisites } from "../_Prerequisite.js" @@ -16,7 +16,7 @@ export const CommandSpecialAbility = DB.Entity(import.meta.url, { DB.Object({ levels, nameBuilderRules, - usage_type, + special_ability_usage_type, select_options, explicit_select_options, maximum,