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 = [];
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 = [];
}
},
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]]);
},
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);
};
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')
};
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);