From 332b90afec0e979664a278826afa312a81f22d0b Mon Sep 17 00:00:00 2001 From: WBHarry Date: Sat, 15 Nov 2025 14:20:18 +0100 Subject: [PATCH] Beastform button shifts to cancelBeastform --- lang/en.json | 6 +++--- module/applications/sheets/actors/character.mjs | 12 ++++++++++++ .../applications/sheets/api/application-mixin.mjs | 13 ------------- .../sheets/global/partials/inventory-item-V2.hbs | 12 +++++++++--- 4 files changed, 24 insertions(+), 19 deletions(-) diff --git a/lang/en.json b/lang/en.json index 14faa9d8..d6b19a45 100755 --- a/lang/en.json +++ b/lang/en.json @@ -216,7 +216,8 @@ }, "viewLevelups": "View Levelups", "InvalidOldCharacterImportTitle": "Old Character Import", - "InvalidOldCharacterImportText": "Character data exported prior to system version 1.1 will not generate a complete character. Do you wish to continue?" + "InvalidOldCharacterImportText": "Character data exported prior to system version 1.1 will not generate a complete character. Do you wish to continue?", + "cancelBeastform": "Cancel Beastform" }, "Companion": { "FIELDS": { @@ -316,8 +317,7 @@ "toLoadout": "Send to Loadout", "toVault": "Send to Vault", "unequip": "Unequip", - "useItem": "Use Item", - "cancelBeastform": "Cancel Beastform" + "useItem": "Use Item" }, "Countdown": { "addCountdown": "Add Countdown", diff --git a/module/applications/sheets/actors/character.mjs b/module/applications/sheets/actors/character.mjs index 79fa9893..6b89bf48 100644 --- a/module/applications/sheets/actors/character.mjs +++ b/module/applications/sheets/actors/character.mjs @@ -31,6 +31,7 @@ export default class CharacterSheet extends DHBaseActorSheet { toggleEquipItem: CharacterSheet.#toggleEquipItem, toggleResourceDice: CharacterSheet.#toggleResourceDice, handleResourceDice: CharacterSheet.#handleResourceDice, + cancelBeastform: CharacterSheet.#cancelBeastform, useDowntime: this.useDowntime }, window: { @@ -219,6 +220,8 @@ export default class CharacterSheet extends DHBaseActorSheet { } }; + context.beastformActive = this.document.effects.find(x => x.type === 'beastform'); + const homebrewCurrency = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.Homebrew).currency; if (homebrewCurrency.enabled) { context.inventory.currency = homebrewCurrency; @@ -848,6 +851,15 @@ export default class CharacterSheet extends DHBaseActorSheet { }); } + /** + * + */ + static async #cancelBeastform(_, target) { + const item = await getDocFromElement(target); + if (!item) return; + game.system.api.fields.ActionFields.BeastformField.handleActiveTransformations.call(item); + } + /** * Open the downtime application. * @type {ApplicationClickAction} diff --git a/module/applications/sheets/api/application-mixin.mjs b/module/applications/sheets/api/application-mixin.mjs index dd845d34..b229d249 100644 --- a/module/applications/sheets/api/application-mixin.mjs +++ b/module/applications/sheets/api/application-mixin.mjs @@ -420,19 +420,6 @@ export default function DHApplicationMixin(Base) { ]; if (usable) { - options.unshift({ - name: 'DAGGERHEART.APPLICATIONS.ContextMenu.cancelBeastform', - icon: 'fa-solid fa-ban', - condition: target => { - const doc = getDocFromElementSync(target); - return doc && doc.system?.actions?.some(a => a.type === 'beastform'); - }, - callback: async target => - game.system.api.fields.ActionFields.BeastformField.handleActiveTransformations.call( - await getDocFromElement(target) - ) - }); - options.unshift({ name: 'DAGGERHEART.GENERAL.damage', icon: 'fa-solid fa-explosion', diff --git a/templates/sheets/global/partials/inventory-item-V2.hbs b/templates/sheets/global/partials/inventory-item-V2.hbs index 561e66c0..37c53dcc 100644 --- a/templates/sheets/global/partials/inventory-item-V2.hbs +++ b/templates/sheets/global/partials/inventory-item-V2.hbs @@ -139,9 +139,15 @@ Parameters:
{{#each item.system.actions as | action |}}
- + {{#if (and (eq action.type 'beastform') @root.beastformActive)}} + + {{else}} + + {{/if}} {{#if action.uses.max}}