From e22d3d59a4b91751076d34b75f33c7db080ba478 Mon Sep 17 00:00:00 2001 From: Lector Date: Mon, 22 Jun 2026 14:53:47 +0200 Subject: [PATCH 1/3] Added Active as a usage type --- src/types/Locale.ts | 1 + src/types/_ActivatableCombat.ts | 1 + 2 files changed, 2 insertions(+) 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..25559234 100644 --- a/src/types/_ActivatableCombat.ts +++ b/src/types/_ActivatableCombat.ts @@ -16,6 +16,7 @@ const CombatSpecialAbilityUsageType = DB.Enum(import.meta.url, { comment: "The definition of how the combat special ability can be used in combat.", values: () => ({ Passive: DB.EnumCase({ type: null }), + Active: DB.EnumCase({ type: null }), BasicManeuver: DB.EnumCase({ type: null }), SpecialManeuver: DB.EnumCase({ type: null }), }), From df7acba2c6fd7ed258b29a5d0dffed681cda0307 Mon Sep 17 00:00:00 2001 From: Lector Date: Tue, 23 Jun 2026 20:51:57 +0200 Subject: [PATCH 2/3] Separated usage type from combatstyle and combatSA --- src/types/_ActivatableCombat.ts | 17 +++++++++++++++-- .../AdvancedCombatSpecialAbility.ts | 4 ++-- .../specialAbility/BrawlingSpecialAbility.ts | 4 ++-- .../specialAbility/CombatSpecialAbility.ts | 4 ++-- .../specialAbility/CombatStyleSpecialAbility.ts | 6 +++--- .../specialAbility/CommandSpecialAbility.ts | 4 ++-- 6 files changed, 26 insertions(+), 13 deletions(-) diff --git a/src/types/_ActivatableCombat.ts b/src/types/_ActivatableCombat.ts index 25559234..489ef191 100644 --- a/src/types/_ActivatableCombat.ts +++ b/src/types/_ActivatableCombat.ts @@ -16,17 +16,30 @@ const CombatSpecialAbilityUsageType = DB.Enum(import.meta.url, { comment: "The definition of how the combat special ability can be used in combat.", values: () => ({ Passive: DB.EnumCase({ type: null }), - Active: DB.EnumCase({ type: null }), BasicManeuver: DB.EnumCase({ type: null }), SpecialManeuver: DB.EnumCase({ type: null }), }), }) -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..9f5395d7 100644 --- a/src/types/specialAbility/CombatSpecialAbility.ts +++ b/src/types/specialAbility/CombatSpecialAbility.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, 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 +17,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, From 5d304ede55010ea2f722fa5a1be5425af62dd5d9 Mon Sep 17 00:00:00 2001 From: Lector Date: Tue, 23 Jun 2026 20:54:09 +0200 Subject: [PATCH 3/3] prettier --- src/types/_ActivatableCombat.ts | 16 ++++++++-------- src/types/specialAbility/CombatSpecialAbility.ts | 7 ++++++- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/types/_ActivatableCombat.ts b/src/types/_ActivatableCombat.ts index 489ef191..d45410d0 100644 --- a/src/types/_ActivatableCombat.ts +++ b/src/types/_ActivatableCombat.ts @@ -22,12 +22,12 @@ const CombatSpecialAbilityUsageType = DB.Enum(import.meta.url, { }) 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 }), - }), + 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({ @@ -36,8 +36,8 @@ export const special_ability_usage_type = DB.Required({ }) export const style_usage_type = DB.Required({ - comment: "The definition of how the combat style can be used in combat.", - type: DB.IncludeIdentifier(CombatStyleUsageType), + comment: "The definition of how the combat style can be used in combat.", + type: DB.IncludeIdentifier(CombatStyleUsageType), }) const CombatSpecialAbilityType = DB.Enum(import.meta.url, { diff --git a/src/types/specialAbility/CombatSpecialAbility.ts b/src/types/specialAbility/CombatSpecialAbility.ts index 9f5395d7..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, special_ability_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"