aboutsummaryrefslogtreecommitdiff
path: root/webAO/packets/handlers
diff options
context:
space:
mode:
authorstonedDiscord <Tukz@gmx.de>2024-08-07 19:23:44 +0200
committerstonedDiscord <Tukz@gmx.de>2024-08-07 19:23:44 +0200
commita87d5a87167ee790b395f57eb5da19fbaa684537 (patch)
tree621102bde769c597320a62942ff6a00395ec17dd /webAO/packets/handlers
parent267c3b81fe8cd10578a6cd68e74cebbd5d130bf5 (diff)
update layout
Diffstat (limited to 'webAO/packets/handlers')
-rw-r--r--webAO/packets/handlers/handlePR.ts23
-rw-r--r--webAO/packets/handlers/handlePU.ts9
-rw-r--r--webAO/packets/handlers/handlePV.ts25
3 files changed, 48 insertions, 9 deletions
diff --git a/webAO/packets/handlers/handlePR.ts b/webAO/packets/handlers/handlePR.ts
new file mode 100644
index 0000000..1908077
--- /dev/null
+++ b/webAO/packets/handlers/handlePR.ts
@@ -0,0 +1,23 @@
+import { client } from "../../client";
+
+function addPlayer(playerID) {
+const list = <HTMLTableElement>document.getElementById("client_playerlist");
+
+}
+
+function removePlayer(playerID) {
+ const list = <HTMLTableElement>document.getElementById("client_playerlist");
+
+}
+
+/**
+ * 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
diff --git a/webAO/packets/handlers/handlePU.ts b/webAO/packets/handlers/handlePU.ts
new file mode 100644
index 0000000..0bc1201
--- /dev/null
+++ b/webAO/packets/handlers/handlePU.ts
@@ -0,0 +1,9 @@
+import { getCharIcon } from "../../client/handleCharacterInfo";
+
+/**
+ * Handles a playerlist update
+ * @param {Array} args packet arguments
+ */
+export const handlePU = (args: string[]) => {
+ const playerID = Number(args[1]);
+} \ No newline at end of file
diff --git a/webAO/packets/handlers/handlePV.ts b/webAO/packets/handlers/handlePV.ts
index 879d004..38657be 100644
--- a/webAO/packets/handlers/handlePV.ts
+++ b/webAO/packets/handlers/handlePV.ts
@@ -4,6 +4,19 @@ 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);
+}
+
+
/**
* Handles the server's assignment of a character for the player to use.
* PV # playerID (unused) # CID # character ID
@@ -17,7 +30,7 @@ export const handlePV = async (args: string[]) => {
const me = client.chars[client.charID];
client.selectedEmote = -1;
const { emotes } = client;
- const emotesList = document.getElementById("client_emo")!;
+ const emotesList = document.getElementById("client_emo");
emotesList.style.display = "";
emotesList.innerHTML = ""; // Clear emote box
const ini = me.inifile;
@@ -72,14 +85,8 @@ export const handlePV = async (args: string[]) => {
button: url,
};
- const emote_item = new Image();
- emote_item.id = "emo_" + i;
- emote_item.className = "emote_button";
- emote_item.src = emotes[i].button;
- emote_item.alt = emotes[i].desc;
- emote_item.title = emotes[i].desc;
- emote_item.onclick = () => { window.pickEmotion(i) }
- emotesList.appendChild(emote_item);
+ addEmoteButton(i, url, emotes[i].desc);
+
if (i === 1) pickEmotion(1);
} catch (e) {
console.error(`missing emote ${i}`);