aboutsummaryrefslogtreecommitdiff
path: root/webAO/dom/onEnter.ts
diff options
context:
space:
mode:
authorCaleb <caleb.mabry.15@cnu.edu>2022-09-05 21:47:38 -0400
committerCaleb <caleb.mabry.15@cnu.edu>2022-09-05 21:47:38 -0400
commit34aba3b5b9572b707971d1fda9216ebcf91909ba (patch)
treeff2d11b06ce91cfdc2c33181fc4a6aa22c854eaf /webAO/dom/onEnter.ts
parent6f72f845455f517b47da96c7d3d474c6582000fb (diff)
Moving some functions
Diffstat (limited to 'webAO/dom/onEnter.ts')
-rw-r--r--webAO/dom/onEnter.ts103
1 files changed, 103 insertions, 0 deletions
diff --git a/webAO/dom/onEnter.ts b/webAO/dom/onEnter.ts
new file mode 100644
index 0000000..01fbbd5
--- /dev/null
+++ b/webAO/dom/onEnter.ts
@@ -0,0 +1,103 @@
+import { client, selectedShout } from "../client";
+import { escapeChat } from "../encoding";
+
+
+/**
+ * Triggered when the Return key is pressed on the in-character chat input box.
+ * @param {KeyboardEvent} event
+ */
+ export function onEnter(event: KeyboardEvent) {
+ if (event.keyCode === 13) {
+ const mychar = client.character;
+ const myemo = client.emote;
+ const evi = client.evidence;
+ const flip = Boolean(
+ document.getElementById("button_flip")!.classList.contains("dark")
+ );
+ const flash = Boolean(
+ document.getElementById("button_flash")!.classList.contains("dark")
+ );
+ const screenshake = Boolean(
+ document.getElementById("button_shake")!.classList.contains("dark")
+ );
+ const noninterrupting_preanim = Boolean(
+ (<HTMLInputElement>document.getElementById("check_nonint")).checked
+ );
+ const looping_sfx = Boolean(
+ (<HTMLInputElement>document.getElementById("check_loopsfx")).checked
+ );
+ const color = Number(
+ (<HTMLInputElement>document.getElementById("textcolor")).value
+ );
+ const showname = escapeChat(
+ (<HTMLInputElement>document.getElementById("ic_chat_name")).value
+ );
+ const text = (<HTMLInputElement>document.getElementById("client_inputbox"))
+ .value;
+ const pairchar = (<HTMLInputElement>document.getElementById("pair_select"))
+ .value;
+ const pairoffset = Number(
+ (<HTMLInputElement>document.getElementById("pair_offset")).value
+ );
+ const pairyoffset = Number(
+ (<HTMLInputElement>document.getElementById("pair_y_offset")).value
+ );
+ const myrole = (<HTMLInputElement>document.getElementById("role_select"))
+ .value
+ ? (<HTMLInputElement>document.getElementById("role_select")).value
+ : mychar.side;
+ const additive = Boolean(
+ (<HTMLInputElement>document.getElementById("check_additive")).checked
+ );
+ const effect = (<HTMLInputElement>document.getElementById("effect_select"))
+ .value;
+
+ let sfxname = "0";
+ let sfxdelay = 0;
+ let emote_mod = myemo.zoom;
+ if ((<HTMLInputElement>document.getElementById("sendsfx")).checked) {
+ sfxname = myemo.sfx;
+ sfxdelay = myemo.sfxdelay;
+ }
+
+ // not to overwrite a 5 from the ini or anything else
+ if ((<HTMLInputElement>document.getElementById("sendpreanim")).checked) {
+ if (emote_mod === 0) {
+ emote_mod = 1;
+ }
+ } else if (emote_mod === 1) {
+ emote_mod = 0;
+ }
+
+ client.sendIC(
+ myemo.deskmod,
+ myemo.preanim,
+ mychar.name,
+ myemo.emote,
+ text,
+ myrole,
+ sfxname,
+ emote_mod,
+ sfxdelay,
+ selectedShout,
+ evi,
+ flip,
+ flash,
+ color,
+ showname,
+ pairchar,
+ pairoffset,
+ pairyoffset,
+ noninterrupting_preanim,
+ looping_sfx,
+ screenshake,
+ "-",
+ "-",
+ "-",
+ additive,
+ effect
+ );
+ }
+ return false;
+ }
+ window.onEnter = onEnter; \ No newline at end of file