From 3fd8ece1ffbb3e8ac72eceacbb9584f2d01dc92d Mon Sep 17 00:00:00 2001 From: Florian Berthold Date: Thu, 28 May 2026 22:58:16 +0200 Subject: [PATCH] Surface 'Mute error sound' as a System-page checkbox Move the Sound_EnableErrorSpeech toggle out of the Faster Looting cog sub-panel into a top-level checkbox on the System page (Graphics and Sound). The handler is now standalone and applies on login + on click regardless of the Faster Looting feature, instead of only existing when faster auto loot was enabled. Removes the buried duplicate and stops the loot-panel reset from clobbering the setting. --- Leatrix_Plus/Leatrix_Plus.lua | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) diff --git a/Leatrix_Plus/Leatrix_Plus.lua b/Leatrix_Plus/Leatrix_Plus.lua index 96538b9..0a166c0 100644 --- a/Leatrix_Plus/Leatrix_Plus.lua +++ b/Leatrix_Plus/Leatrix_Plus.lua @@ -1761,6 +1761,22 @@ function LeaPlusLC:Isolated() end + ---------------------------------------------------------------------- + -- Mute error sound (standalone, independent of Faster Looting) + ---------------------------------------------------------------------- + + do + local function SetMuteErrorSpeech() + if LeaPlusLC["MuteErrorSpeech"] == "On" then + SetCVar("Sound_EnableErrorSpeech", 0) + else + SetCVar("Sound_EnableErrorSpeech", 1) + end + end + SetMuteErrorSpeech() + LeaPlusCB["MuteErrorSpeech"]:HookScript("OnClick", SetMuteErrorSpeech) + end + ---------------------------------------------------------------------- -- Faster looting ---------------------------------------------------------------------- @@ -1785,7 +1801,7 @@ function LeaPlusLC:Isolated() LeaPlusLC:MakeCB(FasterLootPanel, "FasterErrorFrame", "Faster Error Frame", 16, -112, false, "If checked, your red error text frame, will be faster to fade|n(1 second instead of 5).") LeaPlusLC:MakeCB(FasterLootPanel, "NoLootWorldforged", "Skip auto-loot for Worldforged items", 16, -132, false, "If checked, worldforged items will be left in the loot window instead of being auto-looted, so you can decide which ones to keep.") LeaPlusLC:MakeCB(FasterLootPanel, "HideCooldownErrors", "Hide 'Ability not ready' warnings", 16, -152, false, "If checked, the red 'Ability not ready', 'Spell is not ready' and 'Another action is in progress' messages are suppressed.|nOther errors (out of range, line of sight, etc.) still appear.") - LeaPlusLC:MakeCB(FasterLootPanel, "MuteErrorSpeech", "Mute error sound", 16, -172, false, "If checked, the spoken error sound (e.g. \"I can't do that yet\") is silenced.|nToggles the Sound_EnableErrorSpeech CVar.") + -- "Mute error sound" moved to its own checkbox on the System page (see MuteErrorSpeech on Page7) LeaPlusLC:MakeTx(FasterLootPanel, "Full Inventory Sound", 356, -72) LeaPlusLC:MakeSL(FasterLootPanel, "FullInvSound", "Drag to set the desired sound played when your inventory is Full. Set 0 to disable sound.", 0, 3, 1, 356, -92, "%.0f") @@ -1842,19 +1858,9 @@ function LeaPlusLC:Isolated() LeaPlusLC.cooldownErrorFilterInstalled = true end - local function SetMuteErrorSpeech() - if LeaPlusLC["MuteErrorSpeech"] == "On" then - SetCVar("Sound_EnableErrorSpeech", 0) - else - SetCVar("Sound_EnableErrorSpeech", 1) - end - end - SetMuteErrorSpeech() - LeaPlusCB["FullInvSound"]:HookScript("OnValueChanged", SetFullInvSliderText) LeaPlusCB["SmallerErrorFrame"]:HookScript("OnClick", SetErrorFrameHeight) LeaPlusCB["FasterErrorFrame"]:HookScript("OnClick", SetErroFrameFadeTime) - LeaPlusCB["MuteErrorSpeech"]:HookScript("OnClick", SetMuteErrorSpeech) @@ -1877,11 +1883,9 @@ function LeaPlusLC:Isolated() LeaPlusLC["FasterErrorFrame"] = "Off" LeaPlusLC["NoLootWorldforged"] = "Off" LeaPlusLC["HideCooldownErrors"] = "Off" - LeaPlusLC["MuteErrorSpeech"] = "Off" LeaPlusLC["FullInvSound"] = 1 UIErrorsFrame:SetHeight(60) UIErrorsFrame:SetTimeVisible(5) - SetCVar("Sound_EnableErrorSpeech", 1) -- Refresh panel FasterLootPanel:Hide(); FasterLootPanel:Show() @@ -20445,6 +20449,7 @@ LeaPlusLC:MakeCB(LeaPlusLC[pg], "SetWeatherDensity", "Set weather density", 146, LeaPlusLC:MakeCB(LeaPlusLC[pg], "MaxCameraZoom", "Max camera zoom", 146, -152, false, "If checked, you will be able to zoom out to a greater distance.") LeaPlusLC:MakeCB(LeaPlusLC[pg], "ViewPortEnable", "Enable viewport", 146, -172, true, "If checked, you will be able to create a viewport. A viewport adds adjustable black borders around the game world.|n|nThe borders are placed on top of the game world but under the UI so you can place UI elements over them.") LeaPlusLC:MakeCB(LeaPlusLC[pg], "NoRestedEmotes", "Silence rested emotes", 146, -192, true, "If checked, emote sounds will be silenced while your character is resting or at the Grim Guzzler.|n|nEmote sounds will be enabled at all other times.") +LeaPlusLC:MakeCB(LeaPlusLC[pg], "MuteErrorSpeech", "Mute error sound", 146, -212, false, "If checked, the spoken error sound (e.g. \"I can't do that yet\", \"Not enough rage\") is silenced for all failed casts, spells and attacks.|n|nToggles the Sound_EnableErrorSpeech CVar.") --LeaPlusLC:MakeCB(LeaPlusLC[pg], "MuteGameSounds" , "Mute game sounds" , 146, -212, false, "If checked, you will be able to mute a selection of game sounds.") --LeaPlusLC:MakeCB(LeaPlusLC[pg], "MuteCustomSounds" , "Mute custom sounds" , 146, -232, false, "If checked, you will be able to mute your own choice of sounds.")