diff --git a/frontend/src/ts/commandline/lists/sound-on-error.ts b/frontend/src/ts/commandline/lists/sound-on-error.ts index 4022e6fe5..c04f017fb 100644 --- a/frontend/src/ts/commandline/lists/sound-on-error.ts +++ b/frontend/src/ts/commandline/lists/sound-on-error.ts @@ -17,6 +17,9 @@ const subgroup: MonkeyTypes.CommandsSubgroup = { id: "setPlaySoundOnError1", display: "damage", configValue: "1", + hover: (): void => { + void SoundController.previewError("1"); + }, exec: (): void => { UpdateConfig.setPlaySoundOnError("1"); void SoundController.playError(); @@ -26,6 +29,9 @@ const subgroup: MonkeyTypes.CommandsSubgroup = { id: "setPlaySoundOnError2", display: "triangle", configValue: "2", + hover: (): void => { + void SoundController.previewError("2"); + }, exec: (): void => { UpdateConfig.setPlaySoundOnError("2"); void SoundController.playError(); @@ -35,6 +41,9 @@ const subgroup: MonkeyTypes.CommandsSubgroup = { id: "setPlaySoundOnError3", display: "square", configValue: "3", + hover: (): void => { + void SoundController.previewError("3"); + }, exec: (): void => { UpdateConfig.setPlaySoundOnError("3"); void SoundController.playError(); @@ -44,6 +53,9 @@ const subgroup: MonkeyTypes.CommandsSubgroup = { id: "setPlaySoundOnError3", display: "punch miss", configValue: "4", + hover: (): void => { + void SoundController.previewError("4"); + }, exec: (): void => { UpdateConfig.setPlaySoundOnError("4"); void SoundController.playError(); diff --git a/frontend/src/ts/controllers/sound-controller.ts b/frontend/src/ts/controllers/sound-controller.ts index 04a08777f..8ac913893 100644 --- a/frontend/src/ts/controllers/sound-controller.ts +++ b/frontend/src/ts/controllers/sound-controller.ts @@ -404,6 +404,20 @@ export async function previewClick(val: string): Promise { safeClickSounds[val][0].sounds[0].play(); } +export async function previewError(val: string): Promise { + if (errorSounds === null) await initErrorSound(); + + const safeErrorSounds = errorSounds as ErrorSounds; + + const errorSoundIds = Object.keys(safeErrorSounds); + if (!errorSoundIds.includes(val)) return; + + //@ts-expect-error + errorClickSounds[val][0].sounds[0].seek(0); + //@ts-expect-error + errorClickSounds[val][0].sounds[0].play(); +} + let currentCode = "KeyA"; $(document).on("keydown", (event) => {