From fad830580ccdde5347aaeb7364449f1ff6a29494 Mon Sep 17 00:00:00 2001 From: WBHarry <89362246+WBHarry@users.noreply.github.com> Date: Mon, 6 Apr 2026 00:18:43 +0200 Subject: [PATCH] Added checkboxes for muting the sounds of dice animations (#1781) --- lang/en.json | 1 + module/config/generalConfig.mjs | 4 ++-- module/data/settings/Appearance.mjs | 3 +++ .../appearance-settings/diceSoNice.less | 24 +++++++++++++++++++ .../appearance-settings/diceSoNice.hbs | 11 +++++++-- .../appearance-settings/diceSoNiceTab.hbs | 10 ++++++-- 6 files changed, 47 insertions(+), 6 deletions(-) diff --git a/lang/en.json b/lang/en.json index d19dfb58..7b1e5744 100755 --- a/lang/en.json +++ b/lang/en.json @@ -2857,6 +2857,7 @@ "system": "Dice Preset", "font": "Font", "critical": "Duality Critical Animation", + "muted": "Muted", "diceAppearance": "Dice Appearance", "animations": "Animations", "defaultAnimations": "Set Animations As Player Defaults", diff --git a/module/config/generalConfig.mjs b/module/config/generalConfig.mjs index 24f1de92..918cb417 100644 --- a/module/config/generalConfig.mjs +++ b/module/config/generalConfig.mjs @@ -708,14 +708,14 @@ const getDiceSoNiceSFX = sfxOptions => { if (sfxOptions.critical && criticalAnimationData.class) { return { specialEffect: criticalAnimationData.class, - options: {} + options: { ...criticalAnimationData.options } }; } if (sfxOptions.higher && sfxOptions.data.higher) { return { specialEffect: sfxOptions.data.higher.class, - options: {} + options: { ...sfxOptions.data.higher.options } }; } diff --git a/module/data/settings/Appearance.mjs b/module/data/settings/Appearance.mjs index 9da3afac..4db27be0 100644 --- a/module/data/settings/Appearance.mjs +++ b/module/data/settings/Appearance.mjs @@ -8,6 +8,9 @@ export default class DhAppearance extends foundry.abstract.DataModel { initial: null, blank: true, choices: CONFIG.DH.GENERAL.diceSoNiceSFXClasses + }), + options: new foundry.data.fields.SchemaField({ + muteSound: new foundry.data.fields.BooleanField() }) }); diff --git a/styles/less/ui/settings/appearance-settings/diceSoNice.less b/styles/less/ui/settings/appearance-settings/diceSoNice.less index 079bebc5..a4846596 100644 --- a/styles/less/ui/settings/appearance-settings/diceSoNice.less +++ b/styles/less/ui/settings/appearance-settings/diceSoNice.less @@ -68,5 +68,29 @@ text-align: center; white-space: nowrap; } + + color-picker { + gap: 4px; + background: inherit; + } + } + + .animation-container { + display: flex; + align-items: center; + justify-content: space-between; + + .animation-inner-container { + display: flex; + align-items: center; + justify-content: right; + gap: 8px; + + .animation-control { + display: flex; + align-items: center; + gap: 2px; + } + } } } diff --git a/templates/settings/appearance-settings/diceSoNice.hbs b/templates/settings/appearance-settings/diceSoNice.hbs index afe7dd5a..6cd4e52e 100644 --- a/templates/settings/appearance-settings/diceSoNice.hbs +++ b/templates/settings/appearance-settings/diceSoNice.hbs @@ -9,9 +9,16 @@ {{/if}}
+
- {{formInput fields.diceSoNice.fields.sfx.fields.critical.fields.class value=setting.diceSoNice.sfx.critical.class blank="" localize=true}} -
+
+ {{formInput fields.diceSoNice.fields.sfx.fields.critical.fields.class value=setting.diceSoNice.sfx.critical.class blank="" localize=true}} +
+ +
+ {{formInput fields.diceSoNice.fields.sfx.fields.critical.fields.options.fields.muteSound value=setting.diceSoNice.sfx.critical.options.muteSound localize=true}} +
+
diff --git a/templates/settings/appearance-settings/diceSoNiceTab.hbs b/templates/settings/appearance-settings/diceSoNiceTab.hbs index a15b63ec..89b587af 100644 --- a/templates/settings/appearance-settings/diceSoNiceTab.hbs +++ b/templates/settings/appearance-settings/diceSoNiceTab.hbs @@ -42,9 +42,15 @@ {{#if animations}}

{{localize "DAGGERHEART.SETTINGS.Menu.appearance.diceSoNice.animations"}}

-
+
- {{formInput fields.sfx.fields.higher.fields.class value=values.sfx.higher.class blank="" localize=true}} +
+ {{formInput fields.sfx.fields.higher.fields.class value=values.sfx.higher.class blank="" localize=true}} +
+ + {{formInput fields.sfx.fields.higher.fields.options.fields.muteSound value=values.sfx.higher.options.muteSound localize=true}} +
+
{{/if}}