aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--webAO/client/handleCharacterInfo.ts2
-rw-r--r--webAO/packets/handlers/handlePR.ts21
-rw-r--r--webAO/packets/packets.ts4
3 files changed, 20 insertions, 7 deletions
diff --git a/webAO/client/handleCharacterInfo.ts b/webAO/client/handleCharacterInfo.ts
index 86d1a09..cd024b5 100644
--- a/webAO/client/handleCharacterInfo.ts
+++ b/webAO/client/handleCharacterInfo.ts
@@ -6,7 +6,7 @@ import fileExists from "../utils/fileExists";
import { AO_HOST } from "./aoHost";
-const getCharIcon = async (img: HTMLImageElement, charname: string) => {
+export const getCharIcon = async (img: HTMLImageElement, charname: string) => {
const extensions = [".png", ".webp"];
img.alt = charname;
const charIconBaseUrl = `${AO_HOST}characters/${encodeURI(
diff --git a/webAO/packets/handlers/handlePR.ts b/webAO/packets/handlers/handlePR.ts
index 1908077..aa365af 100644
--- a/webAO/packets/handlers/handlePR.ts
+++ b/webAO/packets/handlers/handlePR.ts
@@ -1,13 +1,22 @@
import { client } from "../../client";
-function addPlayer(playerID) {
-const list = <HTMLTableElement>document.getElementById("client_playerlist");
+function addPlayer(playerID: Number) {
+ const list = <HTMLTableElement>document.getElementById("client_playerlist");
+ const playerRow = list.insertRow();
+ playerRow.id = `client_playerlist_entry${playerID}`;
+
+ const imgCell = playerRow.insertCell(0);
+ const img = document.createElement('img');
+ imgCell.appendChild(img);
+ const nameCell = playerRow.insertCell(1);
+ const name = document.createTextNode('Unknown');
+ nameCell.appendChild(name);
}
-function removePlayer(playerID) {
- const list = <HTMLTableElement>document.getElementById("client_playerlist");
-
+function removePlayer(playerID: Number) {
+ const playerRow = <HTMLTableElement>document.getElementById(`client_playerlist_entry${playerID}`);
+ playerRow.remove();
}
/**
@@ -19,5 +28,5 @@ export const handlePR = (args: string[]) => {
if (Number(args[2]) === 0)
addPlayer(playerID);
else if (Number(args[2]) === 1)
- removePlayer(playerID);
+ removePlayer(playerID);
} \ No newline at end of file
diff --git a/webAO/packets/packets.ts b/webAO/packets/packets.ts
index 79c43c1..ab6e3b0 100644
--- a/webAO/packets/packets.ts
+++ b/webAO/packets/packets.ts
@@ -38,6 +38,8 @@ import { handleASS } from './handlers/handleASS'
import { handleackMS } from './handlers/handleackMS'
import { handleSP } from './handlers/handleSP'
import { handleJD } from './handlers/handleJD'
+import { handlePU } from './handlers/handlePU'
+import { handlePR } from './handlers/handlePR'
export const packets = {
"MS": handleMS,
@@ -80,6 +82,8 @@ export const packets = {
"ackMS": handleackMS,
"SP": handleSP,
"JD": handleJD,
+ "PU": handlePU,
+ "PR": handlePR,
"decryptor": () => { },
"CHECK": () => { },
"CH": () => { },