X-Git-Url: https://plomlompom.com/repos/berlin_corona.txt?a=blobdiff_plain;f=rogue_chat.html;h=82bfbed97fd8902e48aca9e86bb8ec3e15c109eb;hb=2dc444966037a42b51ed190ab0eab88a09c0282a;hp=6497fa9a1832262b612abf203a9c06cdad0a7dfd;hpb=1ece82099bbf02faed3d1348d7014b8ed38528a9;p=plomrogue2 diff --git a/rogue_chat.html b/rogue_chat.html index 6497fa9..82bfbed 100644 --- a/rogue_chat.html +++ b/rogue_chat.html @@ -745,7 +745,7 @@ let tui = { this.mode_admin.available_modes = ["admin_thing_protect", "control_pw_type", "control_tile_type", "chat", "study", "play", "edit"] - this.mode_admin.available_actions = ["move"]; + this.mode_admin.available_actions = ["move", "toggle_map_mode"]; this.mode_control_tile_draw.available_modes = ["admin_enter"] this.mode_control_tile_draw.available_actions = ["toggle_tile_draw"]; this.mode_edit.available_modes = ["write", "annotate", "portal", "name_thing", @@ -813,7 +813,7 @@ let tui = { || !game.player.carrying.commandable)) { return fail('not carrying anything commandable'); } else if (mode_name == 'name_thing' && !game.player.carrying) { - return fail('not carrying anything to re-name'); + return fail('not carrying anything to re-name', 'edit'); } else if (mode_name == 'admin_thing_protect' && !game.player.carrying) { return fail('not carrying anything to protect') } else if (mode_name == 'take_thing' && game.player.carrying) { @@ -1069,9 +1069,13 @@ let tui = { this.switch_mode('play'); }, enter_ascii_art: function(command) { - if (this.inputEl.value.length != 6) { - this.log_msg('? wrong input length, must be 6; try again'); + if (this.inputEl.value.length > 6) { + this.log_msg('? wrong input length, must be max 6; try again'); return; + } else if (this.inputEl.value.length < 6) { + while (this.inputEl.value.length < 6) { + this.inputEl.value += ' '; + } } this.log_msg(' ' + this.inputEl.value); this.full_ascii_draw += this.inputEl.value; @@ -1716,6 +1720,8 @@ tui.inputEl.addEventListener('keydown', (event) => { } else if (tui.mode.name == 'admin') { if (tui.mode.mode_switch_on_key(event)) { null; + } else if (event.key == tui.keys.toggle_map_mode) { + tui.toggle_map_mode(); } else if (event.key in tui.movement_keys && tui.task_action_on('move')) { server.send(['TASK:MOVE', tui.movement_keys[event.key]]); }; @@ -1768,7 +1774,10 @@ window.setInterval(function() { }, 1000); window.setInterval(function() { if (document.activeElement.tagName.toLowerCase() != 'input') { + const scroll_x = window.scrollX; + const scroll_y = window.scrollY; tui.inputEl.focus(); + window.scrollTo(scroll_x, scroll_y); }; }, 100); document.getElementById("help").onclick = function() { @@ -1804,6 +1813,9 @@ document.getElementById("install").onclick = function() { document.getElementById("wear").onclick = function() { server.send(['TASK:WEAR']); }; +document.getElementById("spin").onclick = function() { + server.send(['TASK:SPIN']); +}; document.getElementById("dance").onclick = function() { server.send(['TASK:DANCE']); };