aboutsummaryrefslogtreecommitdiff
path: root/webAO/packets/handlers
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/packets/handlers')
-rw-r--r--webAO/packets/handlers/handleASS.ts19
1 files changed, 18 insertions, 1 deletions
diff --git a/webAO/packets/handlers/handleASS.ts b/webAO/packets/handlers/handleASS.ts
index a46d68e..1ecfd04 100644
--- a/webAO/packets/handlers/handleASS.ts
+++ b/webAO/packets/handlers/handleASS.ts
@@ -1,4 +1,5 @@
-import { setAOhost } from "../../client/aoHost";
+import { setAOhost, AO_HOST } from "../../client/aoHost";
+import { client } from "../../client";
/**
* new asset url!!
@@ -6,4 +7,20 @@ import { setAOhost } from "../../client/aoHost";
*/
export const handleASS = (args: string[]) => {
if (args[1] !== "None") setAOhost(args[1]);
+
+ // Re-apply playerlist icon srcs that were set before AO_HOST was known
+ const iconExt = client.charicon_extensions[0] || ".png";
+ for (const [playerID, player] of client.players) {
+ if (player.charId >= 0) {
+ const char = client.chars[player.charId];
+ if (char) {
+ const img = document.querySelector<HTMLImageElement>(
+ `#client_playerlist_entry${playerID} img`
+ );
+ if (img) {
+ img.src = `${AO_HOST}characters/${encodeURI(char.name.toLowerCase())}/char_icon${iconExt}`;
+ }
+ }
+ }
+ }
};