aboutsummaryrefslogtreecommitdiff
path: root/webAO/packets
diff options
context:
space:
mode:
Diffstat (limited to 'webAO/packets')
-rw-r--r--webAO/packets/handlers/handleDONE.ts29
-rw-r--r--webAO/packets/handlers/handleMC.ts4
-rw-r--r--webAO/packets/handlers/handlePV.ts1
3 files changed, 31 insertions, 3 deletions
diff --git a/webAO/packets/handlers/handleDONE.ts b/webAO/packets/handlers/handleDONE.ts
index 676c807..947e2a1 100644
--- a/webAO/packets/handlers/handleDONE.ts
+++ b/webAO/packets/handlers/handleDONE.ts
@@ -1,5 +1,6 @@
import queryParser from "../../utils/queryParser";
-import { client, clientState } from "../../client";
+import { client, clientState, autoChar, autoArea } from "../../client";
+import { area_click } from "../../dom/areaClick";
const { mode } = queryParser();
/**
@@ -16,4 +17,30 @@ export const handleDONE = (_args: string[]) => {
// Spectators don't need to pick a character
document.getElementById("client_waiting")!.style.display = "none";
}
+
+ if (autoArea) {
+ const areaIndex = client.areas.findIndex(
+ (a: any) => a && a.name.toLowerCase() === autoArea.toLowerCase()
+ );
+ if (areaIndex !== -1) {
+ const el = document.getElementById(`area${areaIndex}`);
+ if (el) {
+ area_click(el as HTMLElement);
+ }
+ }
+ }
+
+ if (autoChar) {
+ // Hide charselect immediately (spectator mode) so the user isn't stuck
+ // on the selection screen. If the CC request succeeds, PV will confirm it.
+ document.getElementById("client_waiting")!.style.display = "none";
+ document.getElementById("client_charselect")!.style.display = "none";
+
+ const charIndex = client.chars.findIndex(
+ (c: any) => c && c.name.toLowerCase() === autoChar.toLowerCase()
+ );
+ if (charIndex !== -1) {
+ client.sender.sendCharacter(charIndex);
+ }
+ }
};
diff --git a/webAO/packets/handlers/handleMC.ts b/webAO/packets/handlers/handleMC.ts
index 44237ea..187a9cd 100644
--- a/webAO/packets/handlers/handleMC.ts
+++ b/webAO/packets/handlers/handleMC.ts
@@ -39,9 +39,9 @@ export const handleMC = (args: string[]) => {
if (charID >= 0) {
musicname = client.chars[charID].name;
- appendICLog(`${musicname} changed music to ${track} ${looptext}`,showname);
+ appendICLog(`changed music to ${track} ${looptext}`, showname, musicname);
} else {
- appendICLog(`The music was changed to ${track} ${looptext}`,showname);
+ appendICLog(`The music was changed to ${track} ${looptext}`, showname);
}
document.getElementById("client_trackstatustext")!.innerText = track;
diff --git a/webAO/packets/handlers/handlePV.ts b/webAO/packets/handlers/handlePV.ts
index 1ee13c8..90e47f1 100644
--- a/webAO/packets/handlers/handlePV.ts
+++ b/webAO/packets/handlers/handlePV.ts
@@ -102,4 +102,5 @@ export const handlePV = async (args: string[]) => {
} else {
document.getElementById("button_4")!.style.display = "none";
}
+
};