From 615e4bf8751f940005c5e5d501b6689a19eb6e49 Mon Sep 17 00:00:00 2001 From: sD Date: Fri, 27 Mar 2020 16:26:22 +0100 Subject: remember the modcall sfx and actually use it --- webAO/client.js | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) (limited to 'webAO/client.js') diff --git a/webAO/client.js b/webAO/client.js index 27be410..2d21e4c 100644 --- a/webAO/client.js +++ b/webAO/client.js @@ -12,6 +12,7 @@ import { unescapeChat, escapeChat, encodeChat, decodeChat, safe_tags } from './e import character_arr from "./characters.js"; import background_arr from "./backgrounds.js"; import evidence_arr from "./evidence.js"; +import sfx_arr from "./sounds.js"; import { EventEmitter } from "events"; @@ -382,6 +383,13 @@ class Client extends EventEmitter { evidence_select.add(new Option(evidence)); }); + // Load sfx for modcalls + const modcall_select = document.getElementById("client_modcall"); + sfx_arr.forEach(evidence => { + modcall_select.add(new Option(evidence)); + }); + document.getElementById("client_modcall").value = getCookie("modcall_sfx") || "sfx-gallery.wav"; + // Read cookies and set the UI to its values document.getElementById("OOC_name").value = getCookie("OOC_name") || "web"+parseInt(Math.random()*100+10); @@ -975,9 +983,13 @@ class Client extends EventEmitter { if (oocLog.scrollTop > oocLog.scrollHeight - 60) { oocLog.scrollTop = oocLog.scrollHeight; } + const sfxname = document.getElementById("client_modcall").value; viewport.sfxaudio.pause(); - viewport.sfxaudio.src = AO_HOST + "sounds/general/sfx-gallery.wav"; + const oldvolume = viewport.sfxaudio.volume; + viewport.sfxaudio.volume = 1; + viewport.sfxaudio.src = AO_HOST + "sounds/general/" + sfxname + ".wav"; viewport.sfxaudio.play(); + viewport.sfxaudio.volume = oldvolume; } /** @@ -2048,6 +2060,14 @@ export function reloadTheme() { } window.reloadTheme = reloadTheme; +/** + * Triggered by the modcall sfx dropdown + */ +export function changeModcall() { + setCookie("modcall_sfx", document.getElementById("client_modcall").value); +} +window.changeModcall = changeModcall; + /** * Triggered by the ini button. */ -- cgit