diff --git a/lang/en.json b/lang/en.json index b1be93cd..d8a4da1b 100755 --- a/lang/en.json +++ b/lang/en.json @@ -2107,7 +2107,11 @@ "extendCharacterDescriptions": { "label": "Characters" }, "extendAdversaryDescriptions": { "label": "Adversaries" }, "extendEnvironmentDescriptions": { "label": "Environments" }, - "extendItemDescriptions": { "label": "Items" } + "extendItemDescriptions": { "label": "Items" }, + "expandRollMessage": "Auto-expand Roll Message", + "expandRollMessageRoll": { "label": "Roll" }, + "expandRollMessageDamage": { "label": "Damage/Healing" }, + "expandRollMessageTarget": { "label": "Targets" } }, "fearDisplay": { "token": "Tokens", diff --git a/module/data/settings/Appearance.mjs b/module/data/settings/Appearance.mjs index ac980346..167f4670 100644 --- a/module/data/settings/Appearance.mjs +++ b/module/data/settings/Appearance.mjs @@ -71,6 +71,20 @@ export default class DhAppearance extends foundry.abstract.DataModel { extendItemDescriptions: new fields.BooleanField({ initial: false, label: 'DAGGERHEART.SETTINGS.Appearance.FIELDS.extendItemDescriptions.label' + }), + expandRollMessage: new fields.SchemaField({ + roll: new fields.BooleanField({ + initial: false, + label: 'DAGGERHEART.SETTINGS.Appearance.FIELDS.expandRollMessageRoll.label' + }), + damage: new fields.BooleanField({ + initial: false, + label: 'DAGGERHEART.SETTINGS.Appearance.FIELDS.expandRollMessageDamage.label' + }), + target: new fields.BooleanField({ + initial: false, + label: 'DAGGERHEART.SETTINGS.Appearance.FIELDS.expandRollMessageTarget.label' + }) }) }; } diff --git a/module/documents/chatMessage.mjs b/module/documents/chatMessage.mjs index 43743ef1..4aafc2f0 100644 --- a/module/documents/chatMessage.mjs +++ b/module/documents/chatMessage.mjs @@ -67,6 +67,19 @@ export default class DhpChatMessage extends foundry.documents.ChatMessage { 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.forEach(s => { + if(s.classList.contains("roll-section")) { + const toExpand = s.querySelector('[data-action="expandRoll"]'); + toExpand.classList.toggle("expanded", autoExpandRoll.roll); + } else if(s.classList.contains("damage-section")) + s.classList.toggle("expanded", autoExpandRoll.damage); + else if(s.classList.contains("target-section")) + s.classList.toggle("expanded", autoExpandRoll.target); + }) + } if(!game.user.isGM) { diff --git a/templates/settings/appearance-settings.hbs b/templates/settings/appearance-settings.hbs index d4d41d62..e047e33d 100644 --- a/templates/settings/appearance-settings.hbs +++ b/templates/settings/appearance-settings.hbs @@ -17,6 +17,13 @@ {{formGroup settingFields.schema.fields.extendItemDescriptions value=settingFields._source.extendItemDescriptions localize=true}} +
+ {{#if showDiceSoNice}}