aboutsummaryrefslogtreecommitdiff
path: root/webAO/packets/handlers/handleEI.ts
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/packets/handlers/handleEI.ts')
-rw-r--r--webAO/packets/handlers/handleEI.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/webAO/packets/handlers/handleEI.ts b/webAO/packets/handlers/handleEI.ts
new file mode 100644
index 0000000..e96f0c9
--- /dev/null
+++ b/webAO/packets/handlers/handleEI.ts
@@ -0,0 +1,29 @@
+import { AO_HOST, client } from '../../client'
+import { prepChat, safeTags } from '../../encoding';
+
+/**
+ * Handles incoming evidence information, containing only one evidence
+ * item per packet.
+ *
+ * EI#id#name&description&type&image&##%
+ *
+ * @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]);
+ (<HTMLProgressElement>document.getElementById("client_loadingbar")).value =
+ client.char_list_length + evidenceID;
+
+ 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.sendServer("AE" + (evidenceID + 1) + "#%");
+} \ No newline at end of file