aboutsummaryrefslogtreecommitdiff
path: root/webAO/packets/handlers
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/packets/handlers')
-rw-r--r--webAO/packets/handlers/handleARUP.ts66
-rw-r--r--webAO/packets/handlers/handleASS.ts14
-rw-r--r--webAO/packets/handlers/handleAUTH.ts15
-rw-r--r--webAO/packets/handlers/handleBB.ts5
-rw-r--r--webAO/packets/handlers/handleBD.ts9
-rw-r--r--webAO/packets/handlers/handleBN.ts141
-rw-r--r--webAO/packets/handlers/handleCC.ts4
-rw-r--r--webAO/packets/handlers/handleCI.ts39
-rw-r--r--webAO/packets/handlers/handleCT.ts39
-rw-r--r--webAO/packets/handlers/handleCharsCheck.ts16
-rw-r--r--webAO/packets/handlers/handleDONE.ts14
-rw-r--r--webAO/packets/handlers/handleEI.ts31
-rw-r--r--webAO/packets/handlers/handleEM.ts58
-rw-r--r--webAO/packets/handlers/handleFA.ts16
-rw-r--r--webAO/packets/handlers/handleFL.ts72
-rw-r--r--webAO/packets/handlers/handleFM.ts12
-rw-r--r--webAO/packets/handlers/handleHI.ts11
-rw-r--r--webAO/packets/handlers/handleHP.ts29
-rw-r--r--webAO/packets/handlers/handleID.ts42
-rw-r--r--webAO/packets/handlers/handleJD.ts22
-rw-r--r--webAO/packets/handlers/handleKB.ts8
-rw-r--r--webAO/packets/handlers/handleKK.ts6
-rw-r--r--webAO/packets/handlers/handleLE.ts55
-rw-r--r--webAO/packets/handlers/handleMC.ts62
-rw-r--r--webAO/packets/handlers/handleMM.ts5
-rw-r--r--webAO/packets/handlers/handleMS.ts6
-rw-r--r--webAO/packets/handlers/handlePN.ts4
-rw-r--r--webAO/packets/handlers/handlePR.ts92
-rw-r--r--webAO/packets/handlers/handlePU.ts60
-rw-r--r--webAO/packets/handlers/handlePV.ts163
-rw-r--r--webAO/packets/handlers/handleRC.ts4
-rw-r--r--webAO/packets/handlers/handleRD.ts19
-rw-r--r--webAO/packets/handlers/handleRM.ts12
-rw-r--r--webAO/packets/handlers/handleRMC.ts34
-rw-r--r--webAO/packets/handlers/handleRT.ts42
-rw-r--r--webAO/packets/handlers/handleSC.ts34
-rw-r--r--webAO/packets/handlers/handleSI.ts51
-rw-r--r--webAO/packets/handlers/handleSM.ts55
-rw-r--r--webAO/packets/handlers/handleSP.ts12
-rw-r--r--webAO/packets/handlers/handleTI.ts31
-rw-r--r--webAO/packets/handlers/handleZZ.ts25
-rw-r--r--webAO/packets/handlers/handleackMS.ts10
-rw-r--r--webAO/packets/handlers/handleaskchaa.ts10
43 files changed, 720 insertions, 735 deletions
diff --git a/webAO/packets/handlers/handleARUP.ts b/webAO/packets/handlers/handleARUP.ts
index 9d09648..7f72b15 100644
--- a/webAO/packets/handlers/handleARUP.ts
+++ b/webAO/packets/handlers/handleARUP.ts
@@ -2,41 +2,41 @@ import { client } from "../../client";
import { safeTags } from "../../encoding";
/**
- * Handle the change of players in an area.
- * @param {Array} args packet arguments
- */
+ * Handle the change of players in an area.
+ * @param {Array} args packet arguments
+ */
export const handleARUP = (args: string[]) => {
- args = args.slice(1);
- for (let i = 0; i < args.length - 1; i++) {
- if (client.areas[i]) {
- // the server sends us ARUP before we even get the area list
- const thisarea = document.getElementById(`area${i}`)!;
- switch (Number(args[0])) {
- case 0: // playercount
- client.areas[i].players = Number(args[i + 1]);
- break;
- case 1: // status
- client.areas[i].status = safeTags(args[i + 1]);
- break;
- case 2:
- client.areas[i].cm = safeTags(args[i + 1]);
- break;
- case 3:
- client.areas[i].locked = safeTags(args[i + 1]);
- break;
- }
+ args = args.slice(1);
+ for (let i = 0; i < args.length - 1; i++) {
+ if (client.areas[i]) {
+ // the server sends us ARUP before we even get the area list
+ const thisarea = document.getElementById(`area${i}`)!;
+ switch (Number(args[0])) {
+ case 0: // playercount
+ client.areas[i].players = Number(args[i + 1]);
+ break;
+ case 1: // status
+ client.areas[i].status = safeTags(args[i + 1]);
+ break;
+ case 2:
+ client.areas[i].cm = safeTags(args[i + 1]);
+ break;
+ case 3:
+ client.areas[i].locked = safeTags(args[i + 1]);
+ break;
+ }
- thisarea.className = `area-button area-${client.areas[
- i
- ].status.toLowerCase()}`;
+ thisarea.className = `area-button area-${client.areas[
+ i
+ ].status.toLowerCase()}`;
- thisarea.innerText = `${client.areas[i].name} (${client.areas[i].players}) [${client.areas[i].status}]`;
+ thisarea.innerText = `${client.areas[i].name} (${client.areas[i].players}) [${client.areas[i].status}]`;
- thisarea.title =
- `Players: ${client.areas[i].players}\n` +
- `Status: ${client.areas[i].status}\n` +
- `CM: ${client.areas[i].cm}\n` +
- `Area lock: ${client.areas[i].locked}`;
- }
+ thisarea.title =
+ `Players: ${client.areas[i].players}\n` +
+ `Status: ${client.areas[i].status}\n` +
+ `CM: ${client.areas[i].cm}\n` +
+ `Area lock: ${client.areas[i].locked}`;
}
-} \ No newline at end of file
+ }
+};
diff --git a/webAO/packets/handlers/handleASS.ts b/webAO/packets/handlers/handleASS.ts
index bfd764d..a46d68e 100644
--- a/webAO/packets/handlers/handleASS.ts
+++ b/webAO/packets/handlers/handleASS.ts
@@ -1,11 +1,9 @@
import { setAOhost } from "../../client/aoHost";
-
-/**
-* new asset url!!
-* @param {Array} args packet arguments
-*/
+/**
+ * new asset url!!
+ * @param {Array} args packet arguments
+ */
export const handleASS = (args: string[]) => {
- if(args[1] !== "None")
- setAOhost(args[1]);
-}
+ if (args[1] !== "None") setAOhost(args[1]);
+};
diff --git a/webAO/packets/handlers/handleAUTH.ts b/webAO/packets/handlers/handleAUTH.ts
index 1408402..bbd1331 100644
--- a/webAO/packets/handlers/handleAUTH.ts
+++ b/webAO/packets/handlers/handleAUTH.ts
@@ -1,9 +1,8 @@
-/**
-* i am mod now
-* @param {Array} args packet arguments
-*/
+/**
+ * i am mod now
+ * @param {Array} args packet arguments
+ */
export const handleAUTH = (args: string[]) => {
- (<HTMLAnchorElement>(
- document.getElementById("mod_ui")
- )).href = `styles/mod.css`;
-}
+ (<HTMLAnchorElement>document.getElementById("mod_ui")).href =
+ `styles/mod.css`;
+};
diff --git a/webAO/packets/handlers/handleBB.ts b/webAO/packets/handlers/handleBB.ts
index c12c4f6..b2895c8 100644
--- a/webAO/packets/handlers/handleBB.ts
+++ b/webAO/packets/handlers/handleBB.ts
@@ -1,11 +1,10 @@
import { safeTags } from "../../encoding";
-
/**
* Handles the warning packet
* on client this spawns a message box you can't close for 2 seconds
* @param {Array} args ban reason
*/
export const handleBB = (args: string[]) => {
- alert(safeTags(args[1]));
-} \ No newline at end of file
+ alert(safeTags(args[1]));
+};
diff --git a/webAO/packets/handlers/handleBD.ts b/webAO/packets/handlers/handleBD.ts
index dbfb54b..befda6a 100644
--- a/webAO/packets/handlers/handleBD.ts
+++ b/webAO/packets/handlers/handleBD.ts
@@ -1,7 +1,6 @@
import { setBanned } from "../../client";
import { safeTags } from "../../encoding";
-import { handleBans } from '../../client/handleBans'
-
+import { handleBans } from "../../client/handleBans";
/**
* Handles the banned packet
@@ -9,6 +8,6 @@ import { handleBans } from '../../client/handleBans'
* @param {Array} args ban reason
*/
export const handleBD = (args: string[]) => {
- handleBans("Banned", safeTags(args[1]));
- setBanned(true);
-} \ No newline at end of file
+ handleBans("Banned", safeTags(args[1]));
+ setBanned(true);
+};
diff --git a/webAO/packets/handlers/handleBN.ts b/webAO/packets/handlers/handleBN.ts
index cf7b65a..aeea03b 100644
--- a/webAO/packets/handlers/handleBN.ts
+++ b/webAO/packets/handlers/handleBN.ts
@@ -1,10 +1,10 @@
import { client } from "../../client";
import { AO_HOST } from "../../client/aoHost";
import { safeTags } from "../../encoding";
-import { updateBackgroundPreview } from '../../dom/updateBackgroundPreview'
-import { getIndexFromSelect } from '../../dom/getIndexFromSelect'
-import { switchPanTilt } from '../../dom/switchPanTilt'
-import transparentPng from '../../constants/transparentPng'
+import { updateBackgroundPreview } from "../../dom/updateBackgroundPreview";
+import { getIndexFromSelect } from "../../dom/getIndexFromSelect";
+import { switchPanTilt } from "../../dom/switchPanTilt";
+import transparentPng from "../../constants/transparentPng";
import tryUrls from "../../utils/tryUrls";
/**
@@ -13,77 +13,70 @@ import tryUrls from "../../utils/tryUrls";
*/
export const handleBN = (args: string[]) => {
- const bgFromArgs = safeTags(args[1]);
- client.viewport.setBackgroundName(bgFromArgs);
- const bgfolder = client.viewport.getBackgroundFolder();
- const bg_index = getIndexFromSelect(
- "bg_select",
- client.viewport.getBackgroundName()
- );
- (<HTMLSelectElement>document.getElementById("bg_select")).selectedIndex =
- bg_index;
- updateBackgroundPreview();
- if (bg_index === 0) {
- (<HTMLInputElement>document.getElementById("bg_filename")).value =
- client.viewport.getBackgroundName();
+ const bgFromArgs = safeTags(args[1]);
+ client.viewport.setBackgroundName(bgFromArgs);
+ const bgfolder = client.viewport.getBackgroundFolder();
+ const bg_index = getIndexFromSelect(
+ "bg_select",
+ client.viewport.getBackgroundName(),
+ );
+ (<HTMLSelectElement>document.getElementById("bg_select")).selectedIndex =
+ bg_index;
+ updateBackgroundPreview();
+ if (bg_index === 0) {
+ (<HTMLInputElement>document.getElementById("bg_filename")).value =
+ client.viewport.getBackgroundName();
+ }
+
+ tryUrls(
+ `${AO_HOST}background/${encodeURI(args[1].toLowerCase())}/defenseempty`,
+ ).then((resp) => {
+ (<HTMLImageElement>document.getElementById("bg_preview")).src = resp;
+ });
+ tryUrls(`${bgfolder}defensedesk`).then((resp) => {
+ (<HTMLImageElement>document.getElementById("client_def_bench")).src = resp;
+ });
+ tryUrls(`${bgfolder}stand`).then((resp) => {
+ (<HTMLImageElement>document.getElementById("client_wit_bench")).src = resp;
+ });
+ tryUrls(`${bgfolder}prosecutiondesk`).then((resp) => {
+ (<HTMLImageElement>document.getElementById("client_pro_bench")).src = resp;
+ });
+ tryUrls(`${bgfolder}court`).then((resp) => {
+ (<HTMLImageElement>document.getElementById("client_court")).src = resp;
+ if (resp !== transparentPng) {
+ (<HTMLInputElement>document.getElementById("client_pantilt")).checked =
+ true;
+ switchPanTilt();
}
+ });
+ tryUrls(`${bgfolder}defenseempty`).then((resp) => {
+ (<HTMLImageElement>document.getElementById("client_court_def")).src = resp;
+ });
+ tryUrls(`${bgfolder}transition_def`).then((resp) => {
+ (<HTMLImageElement>document.getElementById("client_court_deft")).src = resp;
+ });
+ tryUrls(`${bgfolder}witnessempty`).then((resp) => {
+ (<HTMLImageElement>document.getElementById("client_court_wit")).src = resp;
+ });
+ tryUrls(`${bgfolder}transition_pro`).then((resp) => {
+ (<HTMLImageElement>document.getElementById("client_court_prot")).src = resp;
+ });
+ tryUrls(`${bgfolder}prosecutorempty`).then((resp) => {
+ (<HTMLImageElement>document.getElementById("client_court_pro")).src = resp;
+ });
- tryUrls(
- `${AO_HOST}background/${encodeURI(args[1].toLowerCase())}/defenseempty`
- ).then((resp) => {
- (<HTMLImageElement>document.getElementById("bg_preview")).src = resp;
- });
- tryUrls(`${bgfolder}defensedesk`).then((resp) => {
- (<HTMLImageElement>document.getElementById("client_def_bench")).src =
- resp;
- });
- tryUrls(`${bgfolder}stand`).then((resp) => {
- (<HTMLImageElement>document.getElementById("client_wit_bench")).src =
- resp;
- });
- tryUrls(`${bgfolder}prosecutiondesk`).then((resp) => {
- (<HTMLImageElement>document.getElementById("client_pro_bench")).src =
- resp;
- });
- tryUrls(`${bgfolder}court`).then((resp) => {
- (<HTMLImageElement>document.getElementById("client_court")).src = resp;
- if (resp !== transparentPng) {
- (<HTMLInputElement>document.getElementById("client_pantilt")).checked = true;
- switchPanTilt()
- }
- });
- tryUrls(`${bgfolder}defenseempty`).then((resp) => {
- (<HTMLImageElement>document.getElementById("client_court_def")).src =
- resp;
+ if (client.charID === -1) {
+ client.viewport.set_side({
+ position: "jud",
+ showSpeedLines: false,
+ showDesk: true,
});
- tryUrls(`${bgfolder}transition_def`).then((resp) => {
- (<HTMLImageElement>document.getElementById("client_court_deft")).src =
- resp;
+ } else {
+ client.viewport.set_side({
+ position: client.chars[client.charID].side,
+ showSpeedLines: false,
+ showDesk: true,
});
- tryUrls(`${bgfolder}witnessempty`).then((resp) => {
- (<HTMLImageElement>document.getElementById("client_court_wit")).src =
- resp;
- });
- tryUrls(`${bgfolder}transition_pro`).then((resp) => {
- (<HTMLImageElement>document.getElementById("client_court_prot")).src =
- resp;
- });
- tryUrls(`${bgfolder}prosecutorempty`).then((resp) => {
- (<HTMLImageElement>document.getElementById("client_court_pro")).src =
- resp;
- });
-
- if (client.charID === -1) {
- client.viewport.set_side({
- position: "jud",
- showSpeedLines: false,
- showDesk: true,
- });
- } else {
- client.viewport.set_side({
- position: client.chars[client.charID].side,
- showSpeedLines: false,
- showDesk: true,
- });
- }
-}
+ }
+};
diff --git a/webAO/packets/handlers/handleCC.ts b/webAO/packets/handlers/handleCC.ts
index 36bcdc7..8bc2fce 100644
--- a/webAO/packets/handlers/handleCC.ts
+++ b/webAO/packets/handlers/handleCC.ts
@@ -5,5 +5,5 @@ import { client } from "../../client";
* @param {Array} args packet arguments
*/
export const handleCC = (args: string[]) => {
- client.sender.sendSelf(`PV#1#CID#${args[2]}#%`);
-} \ No newline at end of file
+ client.sender.sendSelf(`PV#1#CID#${args[2]}#%`);
+};
diff --git a/webAO/packets/handlers/handleCI.ts b/webAO/packets/handlers/handleCI.ts
index a4e6d60..c0cbd84 100644
--- a/webAO/packets/handlers/handleCI.ts
+++ b/webAO/packets/handlers/handleCI.ts
@@ -1,23 +1,22 @@
-import { client } from '../../client'
-import { handleCharacterInfo } from '../../client/handleCharacterInfo'
+import { client } from "../../client";
+import { handleCharacterInfo } from "../../client/handleCharacterInfo";
/**
- * Handles incoming character information, bundling multiple characters
- * per packet.
- * CI#0#Phoenix&description&&&&&#1#Miles ...
- * @param {Array} args packet arguments
- */
+ * Handles incoming character information, bundling multiple characters
+ * per packet.
+ * CI#0#Phoenix&description&&&&&#1#Miles ...
+ * @param {Array} args packet arguments
+ */
export const handleCI = (args: string[]) => {
- // Loop through the 10 characters that were sent
- document.getElementById(
- "client_loadingtext"
- )!.innerHTML = `Loading Character ${args[1]}/${client.char_list_length}`;
- for (let i = 2; i <= args.length - 2; i++) {
- if (i % 2 === 0) {
- const chargs = args[i].split("&");
- const charid = Number(args[i - 1]);
- setTimeout(() => handleCharacterInfo(chargs, charid), 500);
- }
+ // Loop through the 10 characters that were sent
+ document.getElementById("client_loadingtext")!.innerHTML =
+ `Loading Character ${args[1]}/${client.char_list_length}`;
+ for (let i = 2; i <= args.length - 2; i++) {
+ if (i % 2 === 0) {
+ const chargs = args[i].split("&");
+ const charid = Number(args[i - 1]);
+ setTimeout(() => handleCharacterInfo(chargs, charid), 500);
}
- // Request the next pack
- client.sender.sendServer(`AN#${Number(args[1]) / 10 + 1}#%`);
-} \ No newline at end of file
+ }
+ // Request the next pack
+ client.sender.sendServer(`AN#${Number(args[1]) / 10 + 1}#%`);
+};
diff --git a/webAO/packets/handlers/handleCT.ts b/webAO/packets/handlers/handleCT.ts
index f85b5aa..29ec94c 100644
--- a/webAO/packets/handlers/handleCT.ts
+++ b/webAO/packets/handlers/handleCT.ts
@@ -1,27 +1,30 @@
-import queryParser from '../../utils/queryParser'
-import { prepChat } from '../../encoding'
+import queryParser from "../../utils/queryParser";
+import { prepChat } from "../../encoding";
const { mode } = queryParser();
/**
- * Handles an out-of-character chat message.
- * @param {Array} args packet arguments
- */
+ * Handles an out-of-character chat message.
+ * @param {Array} args packet arguments
+ */
export const handleCT = (args: string[]) => {
- if (mode !== "replay") {
- const oocLog = document.getElementById("client_ooclog")!;
- const username = prepChat(args[1]);
- let message = addLinks(prepChat(args[2]));
- // Replace newlines with br
- message = message.replace(/\n/g, "<br>");
+ if (mode !== "replay") {
+ const oocLog = document.getElementById("client_ooclog")!;
+ const username = prepChat(args[1]);
+ let message = addLinks(prepChat(args[2]));
+ // Replace newlines with br
+ message = message.replace(/\n/g, "<br>");
- oocLog.innerHTML += `${username}: ${message}<br>`;
- if (oocLog.scrollTop+oocLog.offsetHeight+120>oocLog.scrollHeight)
- oocLog.scrollTo(0, oocLog.scrollHeight);
- }
-}
+ oocLog.innerHTML += `${username}: ${message}<br>`;
+ if (oocLog.scrollTop + oocLog.offsetHeight + 120 > oocLog.scrollHeight)
+ oocLog.scrollTo(0, oocLog.scrollHeight);
+ }
+};
// If the incoming message contains a link, add a href hyperlink to it
function addLinks(message: string) {
- const urlRegex = /(https?:\/\/[^\s]+)/g;
- return message.replace(urlRegex, (url) => `<a href="${url}" target="_blank">${url}</a>`);
+ const urlRegex = /(https?:\/\/[^\s]+)/g;
+ return message.replace(
+ urlRegex,
+ (url) => `<a href="${url}" target="_blank">${url}</a>`,
+ );
}
diff --git a/webAO/packets/handlers/handleCharsCheck.ts b/webAO/packets/handlers/handleCharsCheck.ts
index 2d891ef..c862cd7 100644
--- a/webAO/packets/handlers/handleCharsCheck.ts
+++ b/webAO/packets/handlers/handleCharsCheck.ts
@@ -5,13 +5,13 @@ import { client } from "../../client";
* @param {Array} args list of all characters represented as a 0 for free or a -1 for taken
*/
export const handleCharsCheck = (args: string[]) => {
- for (let i = 0; i < client.char_list_length; i++) {
- const img = document.getElementById(`demo_${i}`)!;
+ for (let i = 0; i < client.char_list_length; i++) {
+ const img = document.getElementById(`demo_${i}`)!;
- if (args[i + 1] === "-1") {
- img.style.opacity = "0.25";
- } else if (args[i + 1] === "0") {
- img.style.opacity = "1";
- }
+ if (args[i + 1] === "-1") {
+ img.style.opacity = "0.25";
+ } else if (args[i + 1] === "0") {
+ img.style.opacity = "1";
}
-} \ No newline at end of file
+ }
+};
diff --git a/webAO/packets/handlers/handleDONE.ts b/webAO/packets/handlers/handleDONE.ts
index e323986..676c807 100644
--- a/webAO/packets/handlers/handleDONE.ts
+++ b/webAO/packets/handlers/handleDONE.ts
@@ -1,13 +1,13 @@
import queryParser from "../../utils/queryParser";
import { client, clientState } from "../../client";
-const { mode } = queryParser()
+const { mode } = queryParser();
/**
- * Handles the handshake completion packet, meaning the player
- * is ready to select a character.
- *
- * @param {Array} args packet arguments
- */
+ * Handles the handshake completion packet, meaning the player
+ * is ready to select a character.
+ *
+ * @param {Array} args packet arguments
+ */
export const handleDONE = (_args: string[]) => {
// DONE packet signals that the handshake is complete
client.state = clientState.Joined;
@@ -16,4 +16,4 @@ export const handleDONE = (_args: string[]) => {
// Spectators don't need to pick a character
document.getElementById("client_waiting")!.style.display = "none";
}
-}
+};
diff --git a/webAO/packets/handlers/handleEI.ts b/webAO/packets/handlers/handleEI.ts
index b023682..d134466 100644
--- a/webAO/packets/handlers/handleEI.ts
+++ b/webAO/packets/handlers/handleEI.ts
@@ -1,6 +1,6 @@
-import { client } from '../../client'
-import { AO_HOST } from '../../client/aoHost';
-import { prepChat, safeTags } from '../../encoding';
+import { client } from "../../client";
+import { AO_HOST } from "../../client/aoHost";
+import { prepChat, safeTags } from "../../encoding";
/**
* Handles incoming evidence information, containing only one evidence
@@ -11,17 +11,16 @@ import { prepChat, safeTags } from '../../encoding';
* @param {Array} args packet arguments
*/
export const handleEI = (args: string[]) => {
- document.getElementById(
- "client_loadingtext"
- )!.innerHTML = `Loading Evidence ${args[1]}/${client.evidence_list_length}`;
- const evidenceID = Number(args[1]);
- const arg = args[2].split("&");
- client.evidences[evidenceID] = {
- name: prepChat(arg[0]),
- desc: prepChat(arg[1]),
- filename: safeTags(arg[3]),
- icon: `${AO_HOST}evidence/${encodeURI(arg[3].toLowerCase())}`,
- };
+ document.getElementById("client_loadingtext")!.innerHTML =
+ `Loading Evidence ${args[1]}/${client.evidence_list_length}`;
+ const evidenceID = Number(args[1]);
+ const arg = args[2].split("&");
+ client.evidences[evidenceID] = {
+ name: prepChat(arg[0]),
+ desc: prepChat(arg[1]),
+ filename: safeTags(arg[3]),
+ icon: `${AO_HOST}evidence/${encodeURI(arg[3].toLowerCase())}`,
+ };
- client.sender.sendServer("AE" + (evidenceID + 1) + "#%");
-} \ No newline at end of file
+ client.sender.sendServer("AE" + (evidenceID + 1) + "#%");
+};
diff --git a/webAO/packets/handlers/handleEM.ts b/webAO/packets/handlers/handleEM.ts
index 049ff67..9f236e3 100644
--- a/webAO/packets/handlers/handleEM.ts
+++ b/webAO/packets/handlers/handleEM.ts
@@ -1,9 +1,9 @@
-import { client } from '../../client'
-import { addTrack } from '../../client/addTrack';
-import { createArea } from '../../client/createArea';
-import { fix_last_area } from '../../client/fixLastArea';
-import { isAudio } from '../../client/isAudio';
-import { safeTags } from '../../encoding';
+import { client } from "../../client";
+import { addTrack } from "../../client/addTrack";
+import { createArea } from "../../client/createArea";
+import { fix_last_area } from "../../client/fixLastArea";
+import { isAudio } from "../../client/isAudio";
+import { safeTags } from "../../encoding";
/**
* Handles incoming music information, containing multiple entries
@@ -11,28 +11,28 @@ import { safeTags } from '../../encoding';
* @param {Array} args packet arguments
*/
export const handleEM = (args: string[]) => {
- document.getElementById("client_loadingtext")!.innerHTML = "Loading Music";
- if (args[1] === "0") {
- client.resetMusicList();
- client.resetAreaList();
- client.musics_time = false;
- }
+ document.getElementById("client_loadingtext")!.innerHTML = "Loading Music";
+ if (args[1] === "0") {
+ client.resetMusicList();
+ client.resetAreaList();
+ client.musics_time = false;
+ }
- for (let i = 2; i < args.length - 1; i++) {
- if (i % 2 === 0) {
- const trackname = args[i];
- const trackindex = Number(args[i - 1]);
- if (client.musics_time) {
- addTrack(trackname);
- } else if (isAudio(trackname)) {
- client.musics_time = true;
- fix_last_area();
- addTrack(trackname);
- } else {
- createArea(trackindex, trackname);
- }
- }
+ for (let i = 2; i < args.length - 1; i++) {
+ if (i % 2 === 0) {
+ const trackname = args[i];
+ const trackindex = Number(args[i - 1]);
+ if (client.musics_time) {
+ addTrack(trackname);
+ } else if (isAudio(trackname)) {
+ client.musics_time = true;
+ fix_last_area();
+ addTrack(trackname);
+ } else {
+ createArea(trackindex, trackname);
+ }
}
- // get the next batch of tracks
- client.sender.sendServer(`AM#${Number(args[1]) / 10 + 1}#%`);
-} \ No newline at end of file
+ }
+ // get the next batch of tracks
+ client.sender.sendServer(`AM#${Number(args[1]) / 10 + 1}#%`);
+};
diff --git a/webAO/packets/handlers/handleFA.ts b/webAO/packets/handlers/handleFA.ts
index d98472d..f6a7ed0 100644
--- a/webAO/packets/handlers/handleFA.ts
+++ b/webAO/packets/handlers/handleFA.ts
@@ -1,15 +1,15 @@
-import { client } from '../../client'
-import { createArea } from '../../client/createArea';
-import { safeTags } from '../../encoding';
+import { client } from "../../client";
+import { createArea } from "../../client/createArea";
+import { safeTags } from "../../encoding";
/**
* Handles updated area list
* @param {Array} args packet arguments
*/
export const handleFA = (args: string[]) => {
- client.resetAreaList();
+ client.resetAreaList();
- for (let i = 1; i < args.length; i++) {
- createArea(i - 1, safeTags(args[i]));
- }
-}
+ for (let i = 1; i < args.length; i++) {
+ createArea(i - 1, safeTags(args[i]));
+ }
+};
diff --git a/webAO/packets/handlers/handleFL.ts b/webAO/packets/handlers/handleFL.ts
index e77e968..5479f4e 100644
--- a/webAO/packets/handlers/handleFL.ts
+++ b/webAO/packets/handlers/handleFL.ts
@@ -5,40 +5,38 @@ import { setExtraFeatures } from "../../client";
* @param {Array} args list of features
*/
export const handleFL = (args: string[]) => {
- console.info("Server-supported features:");
- console.info(args);
- setExtraFeatures(args);
-
- if (args.includes("yellowtext")) {
- const colorselect = <HTMLSelectElement>(
- document.getElementById("textcolor")
- );
-
- colorselect.options[colorselect.options.length] = new Option("Yellow", "5");
- colorselect.options[colorselect.options.length] = new Option("Pink", "6");
- colorselect.options[colorselect.options.length] = new Option("Cyan", "7");
- colorselect.options[colorselect.options.length] = new Option("Grey", "8");
- }
-
- if (args.includes("cccc_ic_support")) {
- document.getElementById("cccc")!.style.display = "";
- document.getElementById("pairing")!.style.display = "";
- }
-
- if (args.includes("flipping")) {
- document.getElementById("button_flip")!.style.display = "";
- }
-
- if (args.includes("looping_sfx")) {
- document.getElementById("button_shake")!.style.display = "";
- document.getElementById("2.7")!.style.display = "";
- }
-
- if (args.includes("effects")) {
- document.getElementById("2.8")!.style.display = "";
- }
-
- if (args.includes("y_offset")) {
- document.getElementById("y_offset")!.style.display = "";
- }
-}
+ console.info("Server-supported features:");
+ console.info(args);
+ setExtraFeatures(args);
+
+ if (args.includes("yellowtext")) {
+ const colorselect = <HTMLSelectElement>document.getElementById("textcolor");
+
+ colorselect.options[colorselect.options.length] = new Option("Yellow", "5");
+ colorselect.options[colorselect.options.length] = new Option("Pink", "6");
+ colorselect.options[colorselect.options.length] = new Option("Cyan", "7");
+ colorselect.options[colorselect.options.length] = new Option("Grey", "8");
+ }
+
+ if (args.includes("cccc_ic_support")) {
+ document.getElementById("cccc")!.style.display = "";
+ document.getElementById("pairing")!.style.display = "";
+ }
+
+ if (args.includes("flipping")) {
+ document.getElementById("button_flip")!.style.display = "";
+ }
+
+ if (args.includes("looping_sfx")) {
+ document.getElementById("button_shake")!.style.display = "";
+ document.getElementById("2.7")!.style.display = "";
+ }
+
+ if (args.includes("effects")) {
+ document.getElementById("2.8")!.style.display = "";
+ }
+
+ if (args.includes("y_offset")) {
+ document.getElementById("y_offset")!.style.display = "";
+ }
+};
diff --git a/webAO/packets/handlers/handleFM.ts b/webAO/packets/handlers/handleFM.ts
index 4ac4ae4..4bf10fe 100644
--- a/webAO/packets/handlers/handleFM.ts
+++ b/webAO/packets/handlers/handleFM.ts
@@ -7,10 +7,10 @@ import { safeTags } from "../../encoding";
* @param {Array} args packet arguments
*/
export const handleFM = (args: string[]) => {
- client.resetMusicList();
+ client.resetMusicList();
- for (let i = 1; i < args.length - 1; i++) {
- // Check when found the song for the first time
- addTrack(args[i]);
- }
-}
+ for (let i = 1; i < args.length - 1; i++) {
+ // Check when found the song for the first time
+ addTrack(args[i]);
+ }
+};
diff --git a/webAO/packets/handlers/handleHI.ts b/webAO/packets/handlers/handleHI.ts
index b4f00a8..5cd6150 100644
--- a/webAO/packets/handlers/handleHI.ts
+++ b/webAO/packets/handlers/handleHI.ts
@@ -1,14 +1,13 @@
import { client } from "../../client";
const version = process.env.npm_package_version;
-
/**
* Handle the player
* @param {Array} args packet arguments
*/
export const handleHI = (_args: string[]) => {
- client.sender.sendSelf(`ID#1#webAO#${version}#%`);
- client.sender.sendSelf(
- "FL#fastloading#yellowtext#cccc_ic_support#flipping#looping_sfx#effects#%"
- );
-}
+ client.sender.sendSelf(`ID#1#webAO#${version}#%`);
+ client.sender.sendSelf(
+ "FL#fastloading#yellowtext#cccc_ic_support#flipping#looping_sfx#effects#%",
+ );
+};
diff --git a/webAO/packets/handlers/handleHP.ts b/webAO/packets/handlers/handleHP.ts
index 81dee64..6347e9f 100644
--- a/webAO/packets/handlers/handleHP.ts
+++ b/webAO/packets/handlers/handleHP.ts
@@ -5,18 +5,17 @@ import { client } from "../../client";
* @param {Array} args packet arguments
*/
export const handleHP = (args: string[]) => {
- const percent_hp = Number(args[2]) * 10;
- let healthbox;
- if (args[1] === "1") {
- // Def hp
- client.hp[0] = Number(args[2]);
- healthbox = document.getElementById("client_defense_hp");
- } else {
- // Pro hp
- client.hp[1] = Number(args[2]);
- healthbox = document.getElementById("client_prosecutor_hp");
- }
- (<HTMLElement>(
- healthbox.getElementsByClassName("health-bar")[0]
- )).style.width = `${percent_hp}%`;
-}
+ const percent_hp = Number(args[2]) * 10;
+ let healthbox;
+ if (args[1] === "1") {
+ // Def hp
+ client.hp[0] = Number(args[2]);
+ healthbox = document.getElementById("client_defense_hp");
+ } else {
+ // Pro hp
+ client.hp[1] = Number(args[2]);
+ healthbox = document.getElementById("client_prosecutor_hp");
+ }
+ (<HTMLElement>healthbox.getElementsByClassName("health-bar")[0]).style.width =
+ `${percent_hp}%`;
+};
diff --git a/webAO/packets/handlers/handleID.ts b/webAO/packets/handlers/handleID.ts
index dab8f75..cba2f09 100644
--- a/webAO/packets/handlers/handleID.ts
+++ b/webAO/packets/handlers/handleID.ts
@@ -2,27 +2,27 @@ import { client, setOldLoading } from "../../client";
const version = process.env.npm_package_version;
/**
- * Identifies the server and issues a playerID
- * @param {Array} args packet arguments
- */
+ * Identifies the server and issues a playerID
+ * @param {Array} args packet arguments
+ */
export const handleID = (args: string[]) => {
- client.playerID = Number(args[1]);
- const serverSoftware = args[2].split("&")[0];
- let serverVersion;
- if (serverSoftware === "serverD") {
- serverVersion = args[2].split("&")[1];
- } else if (serverSoftware === "webAO") {
- setOldLoading(false);
- client.sender.sendSelf("PN#0#1#%");
- } else {
- serverVersion = args[3];
- }
+ client.playerID = Number(args[1]);
+ const serverSoftware = args[2].split("&")[0];
+ let serverVersion;
+ if (serverSoftware === "serverD") {
+ serverVersion = args[2].split("&")[1];
+ } else if (serverSoftware === "webAO") {
+ setOldLoading(false);
+ client.sender.sendSelf("PN#0#1#%");
+ } else {
+ serverVersion = args[3];
+ }
- if (serverSoftware === "serverD" && serverVersion === "1377.152") {
- setOldLoading(true);
- } // bugged version
+ if (serverSoftware === "serverD" && serverVersion === "1377.152") {
+ setOldLoading(true);
+ } // bugged version
- if (serverSoftware !== "webAO") {
- client.sender.sendServer(`ID#webAO#${version}#%`);
- }
-} \ No newline at end of file
+ if (serverSoftware !== "webAO") {
+ client.sender.sendServer(`ID#webAO#${version}#%`);
+ }
+};
diff --git a/webAO/packets/handlers/handleJD.ts b/webAO/packets/handlers/handleJD.ts
index 98d7988..a66bf2a 100644
--- a/webAO/packets/handlers/handleJD.ts
+++ b/webAO/packets/handlers/handleJD.ts
@@ -1,13 +1,13 @@
/**
-* show/hide judge controls
-* @param {number} show either a 1 or a 0
-*/
+ * show/hide judge controls
+ * @param {number} show either a 1 or a 0
+ */
export const handleJD = (args: string[]) => {
- if (Number(args[1]) === 1) {
- document.getElementById("judge_action")!.style.display = "inline-table";
- document.getElementById("no_action")!.style.display = "none";
- } else {
- document.getElementById("judge_action")!.style.display = "none";
- document.getElementById("no_action")!.style.display = "inline-table";
- }
-} \ No newline at end of file
+ if (Number(args[1]) === 1) {
+ document.getElementById("judge_action")!.style.display = "inline-table";
+ document.getElementById("no_action")!.style.display = "none";
+ } else {
+ document.getElementById("judge_action")!.style.display = "none";
+ document.getElementById("no_action")!.style.display = "inline-table";
+ }
+};
diff --git a/webAO/packets/handlers/handleKB.ts b/webAO/packets/handlers/handleKB.ts
index b0aa2b2..3192cb1 100644
--- a/webAO/packets/handlers/handleKB.ts
+++ b/webAO/packets/handlers/handleKB.ts
@@ -1,6 +1,6 @@
import { setBanned } from "../../client";
import { safeTags } from "../../encoding";
-import { handleBans } from '../../client/handleBans'
+import { handleBans } from "../../client/handleBans";
/**
* Handles the banned packet
@@ -8,6 +8,6 @@ import { handleBans } from '../../client/handleBans'
* @param {Array} args ban reason
*/
export const handleKB = (args: string[]) => {
- handleBans("Banned", safeTags(args[1]));
- setBanned(true);
-}
+ handleBans("Banned", safeTags(args[1]));
+ setBanned(true);
+};
diff --git a/webAO/packets/handlers/handleKK.ts b/webAO/packets/handlers/handleKK.ts
index c8a97b1..4114139 100644
--- a/webAO/packets/handlers/handleKK.ts
+++ b/webAO/packets/handlers/handleKK.ts
@@ -1,10 +1,10 @@
import { safeTags } from "../../encoding";
-import { handleBans } from '../../client/handleBans'
+import { handleBans } from "../../client/handleBans";
/**
* Handles the kicked packet
* @param {Array} args kick reason
*/
export const handleKK = (args: string[]) => {
- handleBans("Kicked", safeTags(args[1]));
-}
+ handleBans("Kicked", safeTags(args[1]));
+};
diff --git a/webAO/packets/handlers/handleLE.ts b/webAO/packets/handlers/handleLE.ts
index 7291cd6..720df2c 100644
--- a/webAO/packets/handlers/handleLE.ts
+++ b/webAO/packets/handlers/handleLE.ts
@@ -1,6 +1,6 @@
-import { client } from '../../client'
-import { AO_HOST } from '../../client/aoHost';
-import { prepChat, safeTags } from '../../encoding';
+import { client } from "../../client";
+import { AO_HOST } from "../../client/aoHost";
+import { prepChat, safeTags } from "../../encoding";
/**
* Handles incoming evidence list, all evidences at once
@@ -9,28 +9,29 @@ import { prepChat, safeTags } from '../../encoding';
* @param {Array} args packet arguments
*/
export const handleLE = (args: string[]) => {
- client.evidences = [];
- for (let i = 1; i < args.length; i++) {
- if (!args[i].includes("&"))
- break;
- const arg = args[i].split("&");
- client.evidences[i - 1] = {
- name: prepChat(arg[0]),
- desc: prepChat(arg[1]),
- filename: safeTags(arg[2]),
- icon: `${AO_HOST}evidence/${encodeURI(arg[2].toLowerCase())}`,
- };
- }
+ client.evidences = [];
+ for (let i = 1; i < args.length; i++) {
+ if (!args[i].includes("&")) break;
+ const arg = args[i].split("&");
+ client.evidences[i - 1] = {
+ name: prepChat(arg[0]),
+ desc: prepChat(arg[1]),
+ filename: safeTags(arg[2]),
+ icon: `${AO_HOST}evidence/${encodeURI(arg[2].toLowerCase())}`,
+ };
+ }
- const evidence_box = document.getElementById("evidences");
- evidence_box.innerHTML = "";
- for (let i = 0; i <= client.evidences.length-1; i++) {
- const evi_item = new Image();
- evi_item.id = "evi_"+i;
- evi_item.className = "evi_icon"
- evi_item.src = client.evidences[i].icon;
- evi_item.alt = client.evidences[i].name;
- evi_item.onclick = () => { window.pickEvidence(i) }
- evidence_box.appendChild(evi_item);
- }
-} \ No newline at end of file
+ const evidence_box = document.getElementById("evidences");
+ evidence_box.innerHTML = "";
+ for (let i = 0; i <= client.evidences.length - 1; i++) {
+ const evi_item = new Image();
+ evi_item.id = "evi_" + i;
+ evi_item.className = "evi_icon";
+ evi_item.src = client.evidences[i].icon;
+ evi_item.alt = client.evidences[i].name;
+ evi_item.onclick = () => {
+ window.pickEvidence(i);
+ };
+ evidence_box.appendChild(evi_item);
+ }
+};
diff --git a/webAO/packets/handlers/handleMC.ts b/webAO/packets/handlers/handleMC.ts
index aeb178d..c92a818 100644
--- a/webAO/packets/handlers/handleMC.ts
+++ b/webAO/packets/handlers/handleMC.ts
@@ -1,43 +1,43 @@
import { prepChat } from "../../encoding";
-import { client } from '../../client'
+import { client } from "../../client";
import { AO_HOST } from "../../client/aoHost";
-import { appendICLog } from '../../client/appendICLog'
+import { appendICLog } from "../../client/appendICLog";
/**
* Handles a music change to an arbitrary resource.
* @param {Array} args packet arguments
*/
export const handleMC = (args: string[]) => {
- const track = prepChat(args[1]);
- let charID = Number(args[2]);
- const showname = args[3] || "";
- const looping = Boolean(args[4]);
- const channel = Number(args[5]) || 0;
- // const fading = Number(args[6]) || 0; // unused in web
+ const track = prepChat(args[1]);
+ let charID = Number(args[2]);
+ const showname = args[3] || "";
+ const looping = Boolean(args[4]);
+ const channel = Number(args[5]) || 0;
+ // const fading = Number(args[6]) || 0; // unused in web
- const music = client.viewport.music[channel];
- let musicname;
- music.pause();
- if (track.startsWith("http")) {
- music.src = track;
- } else {
- music.src = `${AO_HOST}sounds/music/${encodeURI(track.toLowerCase())}`;
- }
- music.loop = looping;
- music.play();
+ const music = client.viewport.music[channel];
+ let musicname;
+ music.pause();
+ if (track.startsWith("http")) {
+ music.src = track;
+ } else {
+ music.src = `${AO_HOST}sounds/music/${encodeURI(track.toLowerCase())}`;
+ }
+ music.loop = looping;
+ music.play();
- try {
- musicname = client.chars[charID].name;
- } catch (e) {
- charID = -1;
- }
+ try {
+ musicname = client.chars[charID].name;
+ } catch (e) {
+ charID = -1;
+ }
- if (charID >= 0) {
- musicname = client.chars[charID].name;
- appendICLog(`${musicname} changed music to ${track}`);
- } else {
- appendICLog(`The music was changed to ${track}`);
- }
+ if (charID >= 0) {
+ musicname = client.chars[charID].name;
+ appendICLog(`${musicname} changed music to ${track}`);
+ } else {
+ appendICLog(`The music was changed to ${track}`);
+ }
- document.getElementById("client_trackstatustext")!.innerText = track;
-} \ No newline at end of file
+ document.getElementById("client_trackstatustext")!.innerText = track;
+};
diff --git a/webAO/packets/handlers/handleMM.ts b/webAO/packets/handlers/handleMM.ts
index 077140f..2542ab1 100644
--- a/webAO/packets/handlers/handleMM.ts
+++ b/webAO/packets/handlers/handleMM.ts
@@ -1,8 +1,7 @@
-
/**
* Handles the "MusicMode" packet
* @param {Array} args packet arguments
*/
export const handleMM = (_args: string[]) => {
- // It's unused nowadays, as preventing people from changing the music is now serverside
-} \ No newline at end of file
+ // It's unused nowadays, as preventing people from changing the music is now serverside
+};
diff --git a/webAO/packets/handlers/handleMS.ts b/webAO/packets/handlers/handleMS.ts
index 0c54a57..7685bd6 100644
--- a/webAO/packets/handlers/handleMS.ts
+++ b/webAO/packets/handlers/handleMS.ts
@@ -23,7 +23,7 @@ export const handleMS = (args: string[]) => {
if (char_id < client.char_list_length && char_id >= 0) {
if (client.chars[char_id].name !== char_name) {
console.info(
- `${client.chars[char_id].name} is iniediting to ${char_name}`
+ `${client.chars[char_id].name} is iniediting to ${char_name}`,
);
const chargs = (`${char_name}&` + "iniediter").split("&");
handleCharacterInfo(chargs, char_id);
@@ -38,7 +38,7 @@ export const handleMS = (args: string[]) => {
try {
msg_blips = client.chars[char_id].blips;
- } catch (e) { }
+ } catch (e) {}
try {
char_chatbox = client.chars[char_id].chat;
@@ -169,4 +169,4 @@ export const handleMS = (args: string[]) => {
handle_ic_speaking(chatmsg); // no await
}
}
-}
+};
diff --git a/webAO/packets/handlers/handlePN.ts b/webAO/packets/handlers/handlePN.ts
index 1b66fb9..6dd82ff 100644
--- a/webAO/packets/handlers/handlePN.ts
+++ b/webAO/packets/handlers/handlePN.ts
@@ -5,5 +5,5 @@ import { client } from "../../client";
* @param {Array} args packet arguments
*/
export const handlePN = (_args: string[]) => {
- client.sender.sendServer("askchaa#%");
-} \ No newline at end of file
+ client.sender.sendServer("askchaa#%");
+};
diff --git a/webAO/packets/handlers/handlePR.ts b/webAO/packets/handlers/handlePR.ts
index fd53b1f..51822d7 100644
--- a/webAO/packets/handlers/handlePR.ts
+++ b/webAO/packets/handlers/handlePR.ts
@@ -1,54 +1,58 @@
import { client } from "../../client";
-import { kickPlayer, banPlayer } from '../../dom/banPlayer'
+import { kickPlayer, banPlayer } from "../../dom/banPlayer";
function addPlayer(playerID: number) {
- const list = <HTMLTableElement>document.getElementById("client_playerlist");
- const playerRow = list.insertRow();
- playerRow.id = `client_playerlist_entry${playerID}`;
- playerRow.className = `area0`;
-
- const imgCell = playerRow.insertCell(0);
- imgCell.style.width = "64px";
- const img = document.createElement('img');
- imgCell.appendChild(img);
-
- const name = document.createTextNode('Unknown');
-
- const charNameCell = playerRow.insertCell(1);
- charNameCell.appendChild(name);
- const showNameCell = playerRow.insertCell(2);
- showNameCell.appendChild(name);
- const oocNameCell = playerRow.insertCell(3);
- oocNameCell.appendChild(name);
-
- const kickCell = playerRow.insertCell(4);
- kickCell.style.width = "64px";
- const kick = <HTMLButtonElement>document.createElement("button");
- kick.innerText = "Kick";
- kick.onclick = () => { window.kickPlayer(playerID) }
- kickCell.appendChild(kick);
-
- const banCell = playerRow.insertCell(5);
- banCell.style.width = "64px";
- const ban = <HTMLButtonElement>document.createElement("button");
- ban.innerText = "Ban";
- ban.onclick = () => { window.banPlayer(playerID) }
- banCell.appendChild(ban);
+ const list = <HTMLTableElement>document.getElementById("client_playerlist");
+ const playerRow = list.insertRow();
+ playerRow.id = `client_playerlist_entry${playerID}`;
+ playerRow.className = `area0`;
+
+ const imgCell = playerRow.insertCell(0);
+ imgCell.style.width = "64px";
+ const img = document.createElement("img");
+ imgCell.appendChild(img);
+
+ const name = document.createTextNode("Unknown");
+
+ const charNameCell = playerRow.insertCell(1);
+ charNameCell.appendChild(name);
+ const showNameCell = playerRow.insertCell(2);
+ showNameCell.appendChild(name);
+ const oocNameCell = playerRow.insertCell(3);
+ oocNameCell.appendChild(name);
+
+ const kickCell = playerRow.insertCell(4);
+ kickCell.style.width = "64px";
+ const kick = <HTMLButtonElement>document.createElement("button");
+ kick.innerText = "Kick";
+ kick.onclick = () => {
+ window.kickPlayer(playerID);
+ };
+ kickCell.appendChild(kick);
+
+ const banCell = playerRow.insertCell(5);
+ banCell.style.width = "64px";
+ const ban = <HTMLButtonElement>document.createElement("button");
+ ban.innerText = "Ban";
+ ban.onclick = () => {
+ window.banPlayer(playerID);
+ };
+ banCell.appendChild(ban);
}
function removePlayer(playerID: number) {
- const playerRow = <HTMLTableElement>document.getElementById(`client_playerlist_entry${playerID}`);
- playerRow.remove();
+ const playerRow = <HTMLTableElement>(
+ document.getElementById(`client_playerlist_entry${playerID}`)
+ );
+ playerRow.remove();
}
/**
- * Handles a player joining or leaving
- * @param {Array} args packet arguments
- */
+ * Handles a player joining or leaving
+ * @param {Array} args packet arguments
+ */
export const handlePR = (args: string[]) => {
- const playerID = Number(args[1]);
- if (Number(args[2]) === 0)
- addPlayer(playerID);
- else if (Number(args[2]) === 1)
- removePlayer(playerID);
-} \ No newline at end of file
+ const playerID = Number(args[1]);
+ if (Number(args[2]) === 0) addPlayer(playerID);
+ else if (Number(args[2]) === 1) removePlayer(playerID);
+};
diff --git a/webAO/packets/handlers/handlePU.ts b/webAO/packets/handlers/handlePU.ts
index e2fd4d7..c1ed8fc 100644
--- a/webAO/packets/handlers/handlePU.ts
+++ b/webAO/packets/handlers/handlePU.ts
@@ -1,34 +1,36 @@
import { client } from "../../client";
import { getCharIcon } from "../../client/handleCharacterInfo";
-import { updatePlayerAreas } from '../../dom/updatePlayerAreas'
+import { updatePlayerAreas } from "../../dom/updatePlayerAreas";
/**
- * Handles a playerlist update
- * @param {Array} args packet arguments
- */
+ * Handles a playerlist update
+ * @param {Array} args packet arguments
+ */
export const handlePU = (args: string[]) => {
- const playerRow = <HTMLTableElement>document.getElementById(`client_playerlist_entry${Number(args[1])}`);
- const type = Number(args[2]);
- const data = args[3];
- switch (type) {
- case 0:
- const oocName = <HTMLElement>playerRow.childNodes[3];
- oocName.innerText = data;
- break;
- case 1:
- const playerImg = <HTMLImageElement>playerRow.childNodes[0].firstChild;
- getCharIcon(playerImg, data);
- const charName = <HTMLElement>playerRow.childNodes[1];
- charName.innerText = data;
- break;
- case 2:
- const showName = <HTMLElement>playerRow.childNodes[2];
- showName.innerText = data;
- break;
- case 3:
- playerRow.className = `area${data}`;
- updatePlayerAreas(client.area);
- default:
- break;
- }
-} \ No newline at end of file
+ const playerRow = <HTMLTableElement>(
+ document.getElementById(`client_playerlist_entry${Number(args[1])}`)
+ );
+ const type = Number(args[2]);
+ const data = args[3];
+ switch (type) {
+ case 0:
+ const oocName = <HTMLElement>playerRow.childNodes[3];
+ oocName.innerText = data;
+ break;
+ case 1:
+ const playerImg = <HTMLImageElement>playerRow.childNodes[0].firstChild;
+ getCharIcon(playerImg, data);
+ const charName = <HTMLElement>playerRow.childNodes[1];
+ charName.innerText = data;
+ break;
+ case 2:
+ const showName = <HTMLElement>playerRow.childNodes[2];
+ showName.innerText = data;
+ break;
+ case 3:
+ playerRow.className = `area${data}`;
+ updatePlayerAreas(client.area);
+ default:
+ break;
+ }
+};
diff --git a/webAO/packets/handlers/handlePV.ts b/webAO/packets/handlers/handlePV.ts
index 5a04b89..900ea89 100644
--- a/webAO/packets/handlers/handlePV.ts
+++ b/webAO/packets/handlers/handlePV.ts
@@ -1,106 +1,107 @@
import { client } from "../../client";
import fileExists from "../../utils/fileExists";
-import { updateActionCommands } from '../../dom/updateActionCommands'
-import { pickEmotion } from '../../dom/pickEmotion'
+import { updateActionCommands } from "../../dom/updateActionCommands";
+import { pickEmotion } from "../../dom/pickEmotion";
import { AO_HOST } from "../../client/aoHost";
function addEmoteButton(i: number, imgurl: string, desc: string) {
- const emotesList = document.getElementById("client_emo");
- const emote_item = new Image();
- emote_item.id = "emo_" + i;
- emote_item.className = "emote_button";
- emote_item.src = imgurl;
- emote_item.alt = desc;
- emote_item.title = desc;
- emote_item.onclick = () => { window.pickEmotion(i) }
- emotesList.appendChild(emote_item);
+ const emotesList = document.getElementById("client_emo");
+ const emote_item = new Image();
+ emote_item.id = "emo_" + i;
+ emote_item.className = "emote_button";
+ emote_item.src = imgurl;
+ emote_item.alt = desc;
+ emote_item.title = desc;
+ emote_item.onclick = () => {
+ window.pickEmotion(i);
+ };
+ emotesList.appendChild(emote_item);
}
-
/**
* Handles the server's assignment of a character for the player to use.
* PV # playerID (unused) # CID # character ID
* @param {Array} args packet arguments
*/
export const handlePV = async (args: string[]) => {
- client.charID = Number(args[3]);
- document.getElementById("client_waiting")!.style.display = "none";
- document.getElementById("client_charselect")!.style.display = "none";
+ client.charID = Number(args[3]);
+ document.getElementById("client_waiting")!.style.display = "none";
+ document.getElementById("client_charselect")!.style.display = "none";
- const me = client.chars[client.charID];
- client.selectedEmote = -1;
- const { emotes } = client;
- const emotesList = document.getElementById("client_emo");
- emotesList.style.display = "";
- emotesList.innerHTML = ""; // Clear emote box
- const ini = me.inifile;
- me.side = ini.options.side;
- updateActionCommands(me.side);
- if (ini.emotions.number === 0) {
- emotesList.innerHTML = `<span
+ const me = client.chars[client.charID];
+ client.selectedEmote = -1;
+ const { emotes } = client;
+ const emotesList = document.getElementById("client_emo");
+ emotesList.style.display = "";
+ emotesList.innerHTML = ""; // Clear emote box
+ const ini = me.inifile;
+ me.side = ini.options.side;
+ updateActionCommands(me.side);
+ if (ini.emotions.number === 0) {
+ emotesList.innerHTML = `<span
id="emo_0"
alt="unavailable"
class="emote_button">No emotes available</span>`;
- } else {
- for (let i = 1; i <= ini.emotions.number; i++) {
- try {
- const emoteinfo = ini.emotions[i].split("#");
- let esfx;
- let esfxd;
- try {
- esfx = ini.soundn[i] || "0";
- esfxd = Number(ini.soundt[i]) || 0;
- } catch (e) {
- console.warn("ini sound is completly missing");
- esfx = "0";
- esfxd = 0;
- }
- // Make sure the asset server is case insensitive, or that everything on it is lowercase
+ } else {
+ for (let i = 1; i <= ini.emotions.number; i++) {
+ try {
+ const emoteinfo = ini.emotions[i].split("#");
+ let esfx;
+ let esfxd;
+ try {
+ esfx = ini.soundn[i] || "0";
+ esfxd = Number(ini.soundt[i]) || 0;
+ } catch (e) {
+ console.warn("ini sound is completly missing");
+ esfx = "0";
+ esfxd = 0;
+ }
+ // Make sure the asset server is case insensitive, or that everything on it is lowercase
- const extensionsMap = [".png", ".webp"];
- let url;
- for (const extension of extensionsMap) {
- url = `${AO_HOST}characters/${encodeURI(
- me.name.toLowerCase()
- )}/emotions/button${i}_off${extension}`;
+ const extensionsMap = [".png", ".webp"];
+ let url;
+ for (const extension of extensionsMap) {
+ url = `${AO_HOST}characters/${encodeURI(
+ me.name.toLowerCase(),
+ )}/emotions/button${i}_off${extension}`;
- const exists = await fileExists(url);
+ const exists = await fileExists(url);
- if (exists) {
- break;
- }
- }
+ if (exists) {
+ break;
+ }
+ }
- emotes[i] = {
- desc: emoteinfo[0].toLowerCase(),
- preanim: emoteinfo[1].toLowerCase(),
- emote: emoteinfo[2].toLowerCase(),
- zoom: Number(emoteinfo[3]) || 0,
- deskmod: Number(emoteinfo[4]) || 1,
- sfx: esfx.toLowerCase(),
- sfxdelay: esfxd,
- frame_screenshake: "",
- frame_realization: "",
- frame_sfx: "",
- button: url,
- };
+ emotes[i] = {
+ desc: emoteinfo[0].toLowerCase(),
+ preanim: emoteinfo[1].toLowerCase(),
+ emote: emoteinfo[2].toLowerCase(),
+ zoom: Number(emoteinfo[3]) || 0,
+ deskmod: Number(emoteinfo[4]) || 1,
+ sfx: esfx.toLowerCase(),
+ sfxdelay: esfxd,
+ frame_screenshake: "",
+ frame_realization: "",
+ frame_sfx: "",
+ button: url,
+ };
- addEmoteButton(i, url, emotes[i].desc);
+ addEmoteButton(i, url, emotes[i].desc);
- if (i === 1) pickEmotion(1);
- } catch (e) {
- console.error(`missing emote ${i}`);
- }
- }
+ if (i === 1) pickEmotion(1);
+ } catch (e) {
+ console.error(`missing emote ${i}`);
+ }
}
+ }
- if (
- await fileExists(
- `${AO_HOST}characters/${encodeURI(me.name.toLowerCase())}/custom.gif`
- )
- ) {
- document.getElementById("button_4")!.style.display = "";
- } else {
- document.getElementById("button_4")!.style.display = "none";
- }
-} \ No newline at end of file
+ if (
+ await fileExists(
+ `${AO_HOST}characters/${encodeURI(me.name.toLowerCase())}/custom.gif`,
+ )
+ ) {
+ document.getElementById("button_4")!.style.display = "";
+ } else {
+ document.getElementById("button_4")!.style.display = "none";
+ }
+};
diff --git a/webAO/packets/handlers/handleRC.ts b/webAO/packets/handlers/handleRC.ts
index 0b5679f..09d5938 100644
--- a/webAO/packets/handlers/handleRC.ts
+++ b/webAO/packets/handlers/handleRC.ts
@@ -6,5 +6,5 @@ import vanilla_character_arr from "../../constants/characters.js";
* @param {Array} args packet arguments
*/
export const handleRC = (_args: string[]) => {
- client.sender.sendSelf(`SC#${vanilla_character_arr.join("#")}#%`);
-} \ No newline at end of file
+ client.sender.sendSelf(`SC#${vanilla_character_arr.join("#")}#%`);
+};
diff --git a/webAO/packets/handlers/handleRD.ts b/webAO/packets/handlers/handleRD.ts
index dde994c..ee38f38 100644
--- a/webAO/packets/handlers/handleRD.ts
+++ b/webAO/packets/handlers/handleRD.ts
@@ -1,18 +1,17 @@
import { client } from "../../client";
-
/**
* we are asking ourselves what characters there are
* @param {Array} args packet arguments
*/
export const handleRD = (_args: string[]) => {
- client.sender.sendSelf("BN#gs4#%");
- client.sender.sendSelf("DONE#%");
- const ooclog = <HTMLInputElement>document.getElementById("client_ooclog");
- ooclog.value = "";
- ooclog.readOnly = false;
+ client.sender.sendSelf("BN#gs4#%");
+ client.sender.sendSelf("DONE#%");
+ const ooclog = <HTMLInputElement>document.getElementById("client_ooclog");
+ ooclog.value = "";
+ ooclog.readOnly = false;
- document.getElementById("client_oocinput")!.style.display = "none";
- document.getElementById("client_replaycontrols")!.style.display =
- "inline-block";
-} \ No newline at end of file
+ document.getElementById("client_oocinput")!.style.display = "none";
+ document.getElementById("client_replaycontrols")!.style.display =
+ "inline-block";
+};
diff --git a/webAO/packets/handlers/handleRM.ts b/webAO/packets/handlers/handleRM.ts
index e11abc8..69ff91e 100644
--- a/webAO/packets/handlers/handleRM.ts
+++ b/webAO/packets/handlers/handleRM.ts
@@ -1,10 +1,10 @@
-import {client} from '../../client'
+import { client } from "../../client";
import vanilla_music_arr from "../../constants/music.js";
/**
- * we are asking ourselves what characters there are
- * @param {Array} args packet arguments
- */
+ * we are asking ourselves what characters there are
+ * @param {Array} args packet arguments
+ */
export const handleRM = (_args: string[]) => {
- client.sender.sendSelf(`SM#${vanilla_music_arr.join("#")}#%`);
-} \ No newline at end of file
+ client.sender.sendSelf(`SM#${vanilla_music_arr.join("#")}#%`);
+};
diff --git a/webAO/packets/handlers/handleRMC.ts b/webAO/packets/handlers/handleRMC.ts
index ada1ad2..7758844 100644
--- a/webAO/packets/handlers/handleRMC.ts
+++ b/webAO/packets/handlers/handleRMC.ts
@@ -1,4 +1,4 @@
-import { client } from '../../client'
+import { client } from "../../client";
// TODO BUG:
// this.viewport.music is an array. Therefore you must access elements
/**
@@ -6,19 +6,19 @@ import { client } from '../../client'
* @param {Array} args packet arguments
*/
export const handleRMC = (args: string[]) => {
- client.viewport.music.pause();
- const { music } = client.viewport;
- // Music offset + drift from song loading
- music.totime = args[1];
- music.offset = new Date().getTime() / 1000;
- music.addEventListener(
- "loadedmetadata",
- () => {
- music.currentTime += parseFloat(
- music.totime + (new Date().getTime() / 1000 - music.offset)
- ).toFixed(3);
- music.play();
- },
- false
- );
-} \ No newline at end of file
+ client.viewport.music.pause();
+ const { music } = client.viewport;
+ // Music offset + drift from song loading
+ music.totime = args[1];
+ music.offset = new Date().getTime() / 1000;
+ music.addEventListener(
+ "loadedmetadata",
+ () => {
+ music.currentTime += parseFloat(
+ music.totime + (new Date().getTime() / 1000 - music.offset),
+ ).toFixed(3);
+ music.play();
+ },
+ false,
+ );
+};
diff --git a/webAO/packets/handlers/handleRT.ts b/webAO/packets/handlers/handleRT.ts
index 62ebb1e..48c551f 100644
--- a/webAO/packets/handlers/handleRT.ts
+++ b/webAO/packets/handlers/handleRT.ts
@@ -1,25 +1,25 @@
import { client } from "../../client";
-import { initTestimonyUpdater } from '../../viewport/utils/initTestimonyUpdater'
+import { initTestimonyUpdater } from "../../viewport/utils/initTestimonyUpdater";
/**
- * Handles a testimony states.
- * @param {Array} args packet arguments
- */
+ * Handles a testimony states.
+ * @param {Array} args packet arguments
+ */
export const handleRT = (args: string[]) => {
- const judgeid = Number(args[2]);
- switch (args[1]) {
- case "testimony1":
- client.testimonyID = 1;
- break;
- case "testimony2":
- // Cross Examination
- client.testimonyID = 2;
- break;
- case "judgeruling":
- client.testimonyID = 3 + judgeid;
- break;
- default:
- console.warn("Invalid testimony");
- }
- initTestimonyUpdater();
-} \ No newline at end of file
+ const judgeid = Number(args[2]);
+ switch (args[1]) {
+ case "testimony1":
+ client.testimonyID = 1;
+ break;
+ case "testimony2":
+ // Cross Examination
+ client.testimonyID = 2;
+ break;
+ case "judgeruling":
+ client.testimonyID = 3 + judgeid;
+ break;
+ default:
+ console.warn("Invalid testimony");
+ }
+ initTestimonyUpdater();
+};
diff --git a/webAO/packets/handlers/handleSC.ts b/webAO/packets/handlers/handleSC.ts
index 232e745..271a164 100644
--- a/webAO/packets/handlers/handleSC.ts
+++ b/webAO/packets/handlers/handleSC.ts
@@ -1,6 +1,6 @@
import queryParser from "../../utils/queryParser";
-import { client } from '../../client'
+import { client } from "../../client";
import { handleCharacterInfo } from "../../client/handleCharacterInfo";
const { mode } = queryParser();
@@ -10,21 +10,21 @@ const { mode } = queryParser();
* @param {Array} args packet arguments
*/
export const handleSC = async (args: string[]) => {
- if (mode === "watch") {
- // Spectators don't need to pick a character
- document.getElementById("client_charselect")!.style.display = "none";
- } else {
- document.getElementById("client_charselect")!.style.display = "block";
- }
+ if (mode === "watch") {
+ // Spectators don't need to pick a character
+ document.getElementById("client_charselect")!.style.display = "none";
+ } else {
+ document.getElementById("client_charselect")!.style.display = "block";
+ }
- document.getElementById("client_loadingtext")!.innerHTML =
- "Loading Characters";
- for (let i = 1; i < args.length; i++) {
- const chargs = args[i].split("&");
- const charid = i - 1;
+ document.getElementById("client_loadingtext")!.innerHTML =
+ "Loading Characters";
+ for (let i = 1; i < args.length; i++) {
+ const chargs = args[i].split("&");
+ const charid = i - 1;
- setTimeout(() => handleCharacterInfo(chargs, charid), charid*6);
- }
- // We're done with the characters, request the music
- client.sender.sendServer("RM#%");
-} \ No newline at end of file
+ setTimeout(() => handleCharacterInfo(chargs, charid), charid * 6);
+ }
+ // We're done with the characters, request the music
+ client.sender.sendServer("RM#%");
+};
diff --git a/webAO/packets/handlers/handleSI.ts b/webAO/packets/handlers/handleSI.ts
index edf57b3..1a5cc4c 100644
--- a/webAO/packets/handlers/handleSI.ts
+++ b/webAO/packets/handlers/handleSI.ts
@@ -1,35 +1,34 @@
import { client, extrafeatures, oldLoading } from "../../client";
-
/**
- * Received when the server announces its server info,
- * but we use it as a cue to begin retrieving characters.
- * @param {Array} args packet arguments
- */
+ * Received when the server announces its server info,
+ * but we use it as a cue to begin retrieving characters.
+ * @param {Array} args packet arguments
+ */
export const handleSI = (args: string[]) => {
- client.char_list_length = Number(args[1]);
- client.evidence_list_length = Number(args[2]);
- client.music_list_length = Number(args[3]);
+ client.char_list_length = Number(args[1]);
+ client.evidence_list_length = Number(args[2]);
+ client.music_list_length = Number(args[3]);
- // create the charselect grid, to be filled by the character loader
- document.getElementById("client_chartable")!.innerHTML = "";
+ // create the charselect grid, to be filled by the character loader
+ document.getElementById("client_chartable")!.innerHTML = "";
- for (let i = 0; i < client.char_list_length; i++) {
- const demothing = document.createElement("img");
+ for (let i = 0; i < client.char_list_length; i++) {
+ const demothing = document.createElement("img");
- demothing.className = "demothing";
- demothing.id = `demo_${i}`;
- const demoonclick = document.createAttribute("onclick");
- demoonclick.value = `pickChar(${i})`;
- demothing.setAttributeNode(demoonclick);
+ demothing.className = "demothing";
+ demothing.id = `demo_${i}`;
+ const demoonclick = document.createAttribute("onclick");
+ demoonclick.value = `pickChar(${i})`;
+ demothing.setAttributeNode(demoonclick);
- document.getElementById("client_chartable")!.appendChild(demothing);
- }
+ document.getElementById("client_chartable")!.appendChild(demothing);
+ }
- // this is determined at the top of this file
- if (!oldLoading) {
- client.sender.sendServer("RC#%");
- } else {
- client.sender.sendServer("askchar2#%");
- }
-} \ No newline at end of file
+ // this is determined at the top of this file
+ if (!oldLoading) {
+ client.sender.sendServer("RC#%");
+ } else {
+ client.sender.sendServer("askchar2#%");
+ }
+};
diff --git a/webAO/packets/handlers/handleSM.ts b/webAO/packets/handlers/handleSM.ts
index 7237490..1c3fd5e 100644
--- a/webAO/packets/handlers/handleSM.ts
+++ b/webAO/packets/handlers/handleSM.ts
@@ -1,40 +1,37 @@
-import { client } from '../../client'
-import { addTrack } from '../../client/addTrack'
-import { isAudio } from '../../client/isAudio'
-import { fix_last_area } from '../../client/fixLastArea'
-import { createArea } from '../../client/createArea'
+import { client } from "../../client";
+import { addTrack } from "../../client/addTrack";
+import { isAudio } from "../../client/isAudio";
+import { fix_last_area } from "../../client/fixLastArea";
+import { createArea } from "../../client/createArea";
/**
* Handles incoming music information, containing all music in one packet.
* @param {Array} args packet arguments
*/
export const handleSM = (args: string[]) => {
- document.getElementById("client_loadingtext")!.innerHTML = "Loading Music ";
- client.resetMusicList();
- client.resetAreaList();
+ document.getElementById("client_loadingtext")!.innerHTML = "Loading Music ";
+ client.resetMusicList();
+ client.resetAreaList();
- client.musics_time = false;
+ client.musics_time = false;
- document.getElementById(
- "client_loadingtext"
- )!.innerHTML = `Loading Music`;
+ document.getElementById("client_loadingtext")!.innerHTML = `Loading Music`;
- for (let i = 1; i < args.length - 1; i++) {
- // Check when found the song for the first time
- const trackname = args[i];
- const trackindex = i - 1;
-
- if (client.musics_time) {
- addTrack(trackname);
- } else if (isAudio(trackname)) {
- client.musics_time = true;
- fix_last_area();
- addTrack(trackname);
- } else {
- createArea(trackindex, trackname);
- }
+ for (let i = 1; i < args.length - 1; i++) {
+ // Check when found the song for the first time
+ const trackname = args[i];
+ const trackindex = i - 1;
+ if (client.musics_time) {
+ addTrack(trackname);
+ } else if (isAudio(trackname)) {
+ client.musics_time = true;
+ fix_last_area();
+ addTrack(trackname);
+ } else {
+ createArea(trackindex, trackname);
}
+ }
- // Music done, carry on
- client.sender.sendServer("RD#%");
-}
+ // Music done, carry on
+ client.sender.sendServer("RD#%");
+};
diff --git a/webAO/packets/handlers/handleSP.ts b/webAO/packets/handlers/handleSP.ts
index e176eeb..9d37ecb 100644
--- a/webAO/packets/handlers/handleSP.ts
+++ b/webAO/packets/handlers/handleSP.ts
@@ -1,8 +1,8 @@
-import { updateActionCommands } from '../../dom/updateActionCommands'
+import { updateActionCommands } from "../../dom/updateActionCommands";
/**
-* position change
-* @param {string} pos new position
-*/
+ * position change
+ * @param {string} pos new position
+ */
export const handleSP = (args: string[]) => {
- updateActionCommands(args[1]);
-} \ No newline at end of file
+ updateActionCommands(args[1]);
+};
diff --git a/webAO/packets/handlers/handleTI.ts b/webAO/packets/handlers/handleTI.ts
index e418088..cde1838 100644
--- a/webAO/packets/handlers/handleTI.ts
+++ b/webAO/packets/handlers/handleTI.ts
@@ -3,19 +3,18 @@
* @param {Array} args packet arguments
*/
export const handleTI = (args: string[]) => {
- const timerid = Number(args[1]);
- const type = Number(args[2]);
- const timer_value = args[3];
- switch (type) {
- case 0:
- //
- case 1:
- document.getElementById(`client_timer${timerid}`)!.innerText =
- timer_value;
- case 2:
- document.getElementById(`client_timer${timerid}`)!.style.display = "";
- case 3:
- document.getElementById(`client_timer${timerid}`)!.style.display =
- "none";
- }
-} \ No newline at end of file
+ const timerid = Number(args[1]);
+ const type = Number(args[2]);
+ const timer_value = args[3];
+ switch (type) {
+ case 0:
+ //
+ case 1:
+ document.getElementById(`client_timer${timerid}`)!.innerText =
+ timer_value;
+ case 2:
+ document.getElementById(`client_timer${timerid}`)!.style.display = "";
+ case 3:
+ document.getElementById(`client_timer${timerid}`)!.style.display = "none";
+ }
+};
diff --git a/webAO/packets/handlers/handleZZ.ts b/webAO/packets/handlers/handleZZ.ts
index 1c1cb1d..8fd8c82 100644
--- a/webAO/packets/handlers/handleZZ.ts
+++ b/webAO/packets/handlers/handleZZ.ts
@@ -2,22 +2,21 @@ import { client } from "../../client";
import { AO_HOST } from "../../client/aoHost";
import { prepChat } from "../../encoding";
-
/**
* Handles a modcall
* @param {Array} args packet arguments
*/
export const handleZZ = (args: string[]) => {
- const oocLog = document.getElementById("client_ooclog")!;
- oocLog.innerHTML += `$Alert: ${prepChat(args[1])}\r\n`;
- if (oocLog.scrollTop > oocLog.scrollHeight - 60) {
- oocLog.scrollTop = oocLog.scrollHeight;
- }
+ const oocLog = document.getElementById("client_ooclog")!;
+ oocLog.innerHTML += `$Alert: ${prepChat(args[1])}\r\n`;
+ 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();
- client.viewport.getSfxAudio().volume = oldvolume;
-} \ No newline at end of file
+ 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();
+ client.viewport.getSfxAudio().volume = oldvolume;
+};
diff --git a/webAO/packets/handlers/handleackMS.ts b/webAO/packets/handlers/handleackMS.ts
index dcca118..2bb7460 100644
--- a/webAO/packets/handlers/handleackMS.ts
+++ b/webAO/packets/handlers/handleackMS.ts
@@ -1,8 +1,8 @@
-import { resetICParams } from '../../client/resetICParams'
+import { resetICParams } from "../../client/resetICParams";
/**
-* server got our message
-*/
+ * server got our message
+ */
export const handleackMS = () => {
- resetICParams();
-} \ No newline at end of file
+ resetICParams();
+};
diff --git a/webAO/packets/handlers/handleaskchaa.ts b/webAO/packets/handlers/handleaskchaa.ts
index 0f9e730..d401da9 100644
--- a/webAO/packets/handlers/handleaskchaa.ts
+++ b/webAO/packets/handlers/handleaskchaa.ts
@@ -2,9 +2,9 @@ import { client } from "../../client";
import vanilla_character_arr from "../../constants/characters.js";
/**
- * What? you want a character list from me??
- * @param {Array} args packet arguments
- */
+ * What? you want a character list from me??
+ * @param {Array} args packet arguments
+ */
export const handleaskchaa = (_args: string[]) => {
- client.sender.sendSelf(`SI#${vanilla_character_arr.length}#0#0#%`);
-}
+ client.sender.sendSelf(`SI#${vanilla_character_arr.length}#0#0#%`);
+};