diff options
| author | sD <stoned@derpymail.org> | 2020-03-27 16:26:22 +0100 |
|---|---|---|
| committer | sD <stoned@derpymail.org> | 2020-03-27 16:26:22 +0100 |
| commit | 615e4bf8751f940005c5e5d501b6689a19eb6e49 (patch) | |
| tree | c2928aa10fa26cab8143b160ed61f7d4130a3e86 | |
| parent | 98bf6212032c722134b0b00a7e9501213bb85b2f (diff) | |
remember the modcall sfx and actually use it
| -rw-r--r-- | webAO/client.js | 22 |
1 files changed, 21 insertions, 1 deletions
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; } /** @@ -2049,6 +2061,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. */ export async function iniedit() { |
