home · contact · privacy
In clients, show text input cursor.
[plomrogue2] / rogue_chat.html
index 5003854e7115ade22a4380f4a63dc788d04c8150..26e6bf802f91389628bb286db555c2f64ca70a12 100644 (file)
@@ -484,7 +484,7 @@ let server = {
         if (tokens[0] === 'TURN') {
             game.turn_complete = false;
             game.turn = parseInt(tokens[1]);
-        } else if (tokens[0] === 'PSEUDO_FOV_WIPE') {
+        } else if (tokens[0] === 'OTHER_WIPE') {
             game.portals_new = {};
             explorer.annotations_new = {};
             game.things_new = [];
@@ -970,7 +970,7 @@ let tui = {
   recalc_input_lines: function() {
       if (this.mode.has_input_prompt) {
           let _ = null;
-          [this.input_lines, _] = this.msg_into_lines_of_width(this.input_prompt + this.inputEl.value, this.window_width);
+          [this.input_lines, _] = this.msg_into_lines_of_width(this.input_prompt + this.inputEl.value + '█', this.window_width);
       } else {
           this.input_lines = [];
       }
@@ -1045,7 +1045,7 @@ let tui = {
   },
   pick_selectable: function(task_name) {
       const i = parseInt(this.inputEl.value);
-      if (isNaN(i) || i < 0 || i >= this.selectables.length) {
+      if (isNaN(this.inputEl.value) || i < 0 || i >= this.selectables.length) {
           tui.log_msg('? invalid index, aborted');
       } else {
           server.send(['TASK:' + task_name, tui.selectables[i]]);
@@ -1055,7 +1055,7 @@ let tui = {
   },
   enter_ascii_art: function(command) {
       if (this.inputEl.value.length != 6) {
-          this.log_msg('? wrong input length, try again');
+          this.log_msg('? wrong input length, must be 6; try again');
           return;
       }
       this.log_msg('  ' + this.inputEl.value);
@@ -1554,7 +1554,7 @@ document.onclick = function() {
 };
 tui.inputEl.addEventListener('keydown', (event) => {
     tui.show_help = false;
-    if (event.key == 'Enter') {
+    if (['Enter', 'ArrowLeft', 'ArrowRight'].includes(event.key)) {
         event.preventDefault();
     }
     if ((!tui.mode.is_intro && event.key == 'Escape')
@@ -1801,15 +1801,17 @@ for (const move_button of document.querySelectorAll('[id*="_move_"]')) {
     };
     let direction = move_button.id.split('_')[2].toUpperCase();
     let move_repeat;
+    function move() {
+        if (tui.mode.available_actions.includes("move")) {
+            server.send(['TASK:MOVE', direction]);
+        } else if (tui.mode.available_actions.includes("move_explorer")) {
+            explorer.move(direction);
+            tui.full_refresh();
+        };
+    }
     move_button.onmousedown = function() {
-        move_repeat = window.setInterval(function() {
-            if (tui.mode.available_actions.includes("move")) {
-                server.send(['TASK:MOVE', direction]);
-            } else if (tui.mode.available_actions.includes("move_explorer")) {
-                explorer.move(direction);
-                tui.full_refresh();
-            };
-        }, 100);
+        move();
+        move_repeat = window.setInterval(move, 100);
     };
     move_button.onmouseup = function() {
         window.clearInterval(move_repeat);