From 6dc09198ed28f2e498afe5cab4460e3878a6dc2b Mon Sep 17 00:00:00 2001 From: Dapoolp Date: Fri, 15 Aug 2025 16:03:04 +0200 Subject: [PATCH] Add setting to auto expand chat card desc --- lang/en.json | 3 +- module/data/settings/Appearance.mjs | 4 +++ module/documents/chatMessage.mjs | 34 ++++++++++++---------- templates/settings/appearance-settings.hbs | 1 + 4 files changed, 26 insertions(+), 16 deletions(-) diff --git a/lang/en.json b/lang/en.json index 1bbc0006..89f8fd7d 100755 --- a/lang/en.json +++ b/lang/en.json @@ -2108,7 +2108,8 @@ "extendAdversaryDescriptions": { "label": "Adversaries" }, "extendEnvironmentDescriptions": { "label": "Environments" }, "extendItemDescriptions": { "label": "Items" }, - "expandRollMessage": "Auto-expand Roll Message", + "expandRollMessage": "Auto-expand Message Sections", + "expandRollMessageDesc": { "label": "Description" }, "expandRollMessageRoll": { "label": "Formula" }, "expandRollMessageDamage": { "label": "Damage/Healing" }, "expandRollMessageTarget": { "label": "Target" } diff --git a/module/data/settings/Appearance.mjs b/module/data/settings/Appearance.mjs index 167f4670..e493b187 100644 --- a/module/data/settings/Appearance.mjs +++ b/module/data/settings/Appearance.mjs @@ -73,6 +73,10 @@ export default class DhAppearance extends foundry.abstract.DataModel { label: 'DAGGERHEART.SETTINGS.Appearance.FIELDS.extendItemDescriptions.label' }), expandRollMessage: new fields.SchemaField({ + desc: new fields.BooleanField({ + initial: false, + label: 'DAGGERHEART.SETTINGS.Appearance.FIELDS.expandRollMessageDesc.label' + }), roll: new fields.BooleanField({ initial: false, label: 'DAGGERHEART.SETTINGS.Appearance.FIELDS.expandRollMessageRoll.label' diff --git a/module/documents/chatMessage.mjs b/module/documents/chatMessage.mjs index 4aafc2f0..e36c1df3 100644 --- a/module/documents/chatMessage.mjs +++ b/module/documents/chatMessage.mjs @@ -54,22 +54,25 @@ export default class DhpChatMessage extends foundry.documents.ChatMessage { e.setAttribute('data-use-perm', document.testUserPermission(game.user, 'OWNER')); }); - if (this.isContentVisible && this.type === 'dualityRoll') { - html.classList.add('duality'); - switch (this.system.roll?.result?.duality) { - case 1: - html.classList.add('hope'); - break; - case -1: - html.classList.add('fear'); - break; - default: - html.classList.add('critical'); - break; + if (this.isContentVisible) { + if(this.type === 'dualityRoll') { + html.classList.add('duality'); + switch (this.system.roll?.result?.duality) { + case 1: + html.classList.add('hope'); + break; + case -1: + html.classList.add('fear'); + break; + default: + html.classList.add('critical'); + break; + } } const autoExpandRoll = game.settings.get(CONFIG.DH.id, CONFIG.DH.SETTINGS.gameSettings.appearance).expandRollMessage, - rollSections = html.querySelectorAll(".roll-part"); + rollSections = html.querySelectorAll(".roll-part"), + itemDesc = html.querySelector(".domain-card-move"); rollSections.forEach(s => { if(s.classList.contains("roll-section")) { const toExpand = s.querySelector('[data-action="expandRoll"]'); @@ -78,8 +81,9 @@ export default class DhpChatMessage extends foundry.documents.ChatMessage { s.classList.toggle("expanded", autoExpandRoll.damage); else if(s.classList.contains("target-section")) s.classList.toggle("expanded", autoExpandRoll.target); - }) - + }); + if(itemDesc && autoExpandRoll.desc) + itemDesc.setAttribute("open", ""); } if(!game.user.isGM) { diff --git a/templates/settings/appearance-settings.hbs b/templates/settings/appearance-settings.hbs index e047e33d..cd0fab3e 100644 --- a/templates/settings/appearance-settings.hbs +++ b/templates/settings/appearance-settings.hbs @@ -19,6 +19,7 @@
{{localize 'DAGGERHEART.SETTINGS.Appearance.FIELDS.expandRollMessage'}} + {{formGroup settingFields.schema.fields.expandRollMessage.fields.desc value=settingFields.expandRollMessage.desc localize=true}} {{formGroup settingFields.schema.fields.expandRollMessage.fields.roll value=settingFields.expandRollMessage.roll localize=true}} {{formGroup settingFields.schema.fields.expandRollMessage.fields.damage value=settingFields.expandRollMessage.damage localize=true}} {{formGroup settingFields.schema.fields.expandRollMessage.fields.target value=settingFields.expandRollMessage.target localize=true}}