X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=rogue_chat.html;h=45f04a6ccf70e8e384f2e47d72fa358ce8382c2f;hb=a7b082cab5ac4cf0580ce55cf2862a883c4da575;hp=47bf58d3aa4c937dfe5b078a6a161c25349ccd16;hpb=dfe8541633da35717021f06839d1a386481c95f1;p=plomrogue2 diff --git a/rogue_chat.html b/rogue_chat.html index 47bf58d..45f04a6 100644 --- a/rogue_chat.html +++ b/rogue_chat.html @@ -54,6 +54,7 @@ terminal rows: + @@ -101,6 +102,7 @@ terminal rows:
  • flatten surroundings:
  • teleport:
  • spin: +
  • dance:
  • open/close:
  • consume:
  • install: @@ -262,6 +264,7 @@ let key_descriptions = { 'install': '(un-)install', 'wear': '(un-)wear', 'spin': 'spin', + 'dance': 'dance', 'toggle_map_mode': 'toggle map view', 'toggle_tile_draw': 'toggle protection character drawing', 'hex_move_upleft': 'up-left', @@ -724,6 +727,7 @@ let tui = { 'command': 'COMMAND', 'consume': 'INTOXICATE', 'spin': 'SPIN', + 'dance': 'DANCE', }, offset: [0,0], map_lines: [], @@ -735,13 +739,13 @@ let tui = { this.mode_play.available_modes = ["chat", "study", "edit", "admin_enter", "command_thing", "take_thing", "drop_thing"] this.mode_play.available_actions = ["move", "teleport", "door", "consume", - "wear", "spin"]; + "wear", "spin", "dance"]; this.mode_study.available_modes = ["chat", "play", "admin_enter", "edit"] this.mode_study.available_actions = ["toggle_map_mode", "move_explorer"]; 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", @@ -809,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) { @@ -1686,6 +1690,8 @@ tui.inputEl.addEventListener('keydown', (event) => { server.send(["TASK:WEAR"]); } else if (event.key === tui.keys.spin && tui.task_action_on('spin')) { server.send(["TASK:SPIN"]); + } else if (event.key === tui.keys.dance && tui.task_action_on('dance')) { + server.send(["TASK:DANCE"]); } else if (event.key in tui.movement_keys && tui.task_action_on('move')) { server.send(['TASK:MOVE', tui.movement_keys[event.key]]); } else if (event.key === tui.keys.teleport) { @@ -1710,6 +1716,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]]); }; @@ -1762,7 +1770,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() { @@ -1801,6 +1812,9 @@ document.getElementById("wear").onclick = function() { document.getElementById("spin").onclick = function() { server.send(['TASK:SPIN']); }; +document.getElementById("dance").onclick = function() { + server.send(['TASK:DANCE']); +}; document.getElementById("teleport").onclick = function() { game.teleport(); };