aboutsummaryrefslogtreecommitdiff
path: root/webAO/packets/handlers/handleCI.ts
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/packets/handlers/handleCI.ts')
-rw-r--r--webAO/packets/handlers/handleCI.ts26
1 files changed, 26 insertions, 0 deletions
diff --git a/webAO/packets/handlers/handleCI.ts b/webAO/packets/handlers/handleCI.ts
new file mode 100644
index 0000000..74d3039
--- /dev/null
+++ b/webAO/packets/handlers/handleCI.ts
@@ -0,0 +1,26 @@
+import { client } from '../../client'
+/**
+ * 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
+
+ for (let i = 2; i <= args.length - 2; i++) {
+ if (i % 2 === 0) {
+ document.getElementById(
+ "client_loadingtext"
+ )!.innerHTML = `Loading Character ${args[1]}/${client.char_list_length}`;
+ const chargs = args[i].split("&");
+ const charid = Number(args[i - 1]);
+ (<HTMLProgressElement>(
+ document.getElementById("client_loadingbar")
+ )).value = charid;
+ setTimeout(() => client.handleCharacterInfo(chargs, charid), 500);
+ }
+ }
+ // Request the next pack
+ client.sendServer(`AN#${Number(args[1]) / 10 + 1}#%`);
+} \ No newline at end of file