aboutsummaryrefslogtreecommitdiff
path: root/webAO/packets/handlers/handleZZ.ts
blob: a1a07680c34a8a3b85b06e660599247cd095c667 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import { client } from "../../client";
import { AO_HOST } from "../../client/aoHost";
import { unescapeChat } from "../../encoding";

/**
 * Handles a modcall
 * @param {Array} args packet arguments
 */
export const handleZZ = (args: string[]) => {
  const oocLog = document.getElementById("client_ooclog")!;

  const modAlert = document.createElement("div");
  modAlert.textContent = `$Alert: ${unescapeChat(args[1])}`;
  modAlert.className = "ooc-line";
  oocLog.appendChild(modAlert);

  if (oocLog.scrollTop > oocLog.scrollHeight - 60) {
    oocLog.scrollTop = oocLog.scrollHeight;
  }

  client.viewport.getSfxAudio().pause();
  const oldvolume = client.viewport.getSfxAudio().volume;
  client.viewport.getSfxAudio().volume = 1;
  client.viewport.getSfxAudio().src = `${AO_HOST}sounds/general/sfx-gallery.opus`;
  client.viewport.getSfxAudio().play().catch(() => {});
  client.viewport.getSfxAudio().volume = oldvolume;
};