aboutsummaryrefslogtreecommitdiff
path: root/webAO
diff options
context:
space:
mode:
Diffstat (limited to 'webAO')
-rw-r--r--webAO/client.js27
1 files changed, 23 insertions, 4 deletions
diff --git a/webAO/client.js b/webAO/client.js
index bf93df1..fd82cc7 100644
--- a/webAO/client.js
+++ b/webAO/client.js
@@ -133,6 +133,7 @@ class Client extends EventEmitter {
this.on("LE", this.handleLE.bind(this));
this.on("EM", this.handleEM.bind(this));
this.on("SM", this.handleSM.bind(this));
+ this.on("MM", this.handleMM.bind(this));
this.on("BD", this.handleBD.bind(this));
this.on("DONE", this.handleDONE.bind(this));
this.on("BN", this.handleBN.bind(this));
@@ -144,6 +145,7 @@ class Client extends EventEmitter {
this.on("SI", this.handleSI.bind(this));
this.on("ARUP", this.handleARUP.bind(this));
this.on("CharsCheck", this.handleCharsCheck.bind(this));
+ this.on("decryptor", this.handleDecryptor.bind(this));
this.on("PV", this.handlePV.bind(this));
this.on("CHECK", () => { });
@@ -688,12 +690,20 @@ class Client extends EventEmitter {
}
/**
+ * Handles the "MusicMode" packet
+ * @param {Array} args packet arguments
+ */
+ handleMM(args) {
+ // It's unused nowadays, as preventing people from changing the music is now serverside
+ }
+
+ /**
* Handles the kicked packet
* @param {Array} args kick reason
*/
handleKK(args) {
document.getElementById("client_loading").style.display = "flex";
- document.getElementById("client_loadingtext").innerHTML = "Kicked: " + args[1];
+ document.getElementById("client_loadingtext").innerHTML = "Kicked: " + escape(args[1]);
}
/**
@@ -703,7 +713,7 @@ class Client extends EventEmitter {
*/
handleKB(args) {
document.getElementById("client_loading").style.display = "flex";
- document.getElementById("client_loadingtext").innerHTML = "You got banned: " + args[1];
+ document.getElementById("client_loadingtext").innerHTML = "You got banned: " + escape(args[1]);
}
/**
@@ -713,7 +723,7 @@ class Client extends EventEmitter {
*/
handleBD(args) {
document.getElementById("client_loading").style.display = "flex";
- document.getElementById("client_loadingtext").innerHTML = "Banned: " + args[1];
+ document.getElementById("client_loadingtext").innerHTML = "Banned: " + escape(args[1]);
}
/**
@@ -826,6 +836,7 @@ class Client extends EventEmitter {
* @param {Array} args list of features
*/
handleFL(args) {
+ console.info("Server-supported features:");
console.info(args);
}
@@ -866,7 +877,7 @@ class Client extends EventEmitter {
/**
* Handles the list of all used and vacant characters.
- * @param {Array} args packet arguments
+ * @param {Array} args list of all characters represented as a 0 for free or a -1 for taken
*/
handleCharsCheck(args) {
for (let i = 0; i < this.char_list_length; i++) {
@@ -886,6 +897,14 @@ class Client extends EventEmitter {
}
/**
+ * Decryptor for the command headers
+ * @param {Array} args packet arguments
+ */
+ handleDecryptor(_args) {
+ // unused since AO2
+ }
+
+ /**
* Handles the server's assignment of a character for the player to use.
* @param {Array} args packet arguments
*/