X-Git-Url: https://plomlompom.com/repos/foo.html?a=blobdiff_plain;f=rogue_chat.html;h=71a506541174292a3caed2cd9192a22efdc7a81b;hb=358f28223eb46401333aad09357da80dfcc81552;hp=136999fe67bdee4733f61cc8190602d21fa85953;hpb=46ecf6d1bb5a470c9e1a7ec4837462102d7a6487;p=plomrogue2 diff --git a/rogue_chat.html b/rogue_chat.html index 136999f..71a5065 100644 --- a/rogue_chat.html +++ b/rogue_chat.html @@ -129,7 +129,7 @@ let mode_helps = { }, 'control_pw_type': { 'short': 'change tiles control password', - 'long': 'This mode is the first of two steps to change the password for a tile control character. First enter the tile control character for which you want to change the password!' + 'long': 'This mode is the first of two steps to change the password for a tile control character. First enter the tile control character for which you want to change the password.' }, 'control_pw_pw': { 'short': 'change tiles control password', @@ -546,15 +546,13 @@ let tui = { mode_study: new Mode('study', false, true), mode_write: new Mode('write', false, false, false, true), mode_edit: new Mode('edit'), - mode_control_pw_type: new Mode('control_pw_type', - false, false, false, true), + mode_control_pw_type: new Mode('control_pw_type', true), mode_portal: new Mode('portal', true, true), mode_password: new Mode('password', true), mode_admin_enter: new Mode('admin_enter', true), mode_admin: new Mode('admin'), mode_control_pw_pw: new Mode('control_pw_pw', true), - mode_control_tile_type: new Mode('control_tile_type', - false, false, false, true), + mode_control_tile_type: new Mode('control_tile_type', true), mode_control_tile_draw: new Mode('control_tile_draw'), init: function() { this.mode_play.available_modes = ["chat", "study", "edit", "admin_enter"] @@ -611,7 +609,7 @@ let tui = { }, switch_mode: function(mode_name) { this.inputEl.focus(); - this.map_mode = 'all'; + this.map_mode = 'terrain + things'; this.tile_draw = false; if (mode_name == 'admin_enter' && this.is_admin) { mode_name = 'admin'; @@ -676,18 +674,21 @@ let tui = { } else if (this.mode.name == 'admin') { document.getElementById("switch_to_control_pw_type").disabled = false; document.getElementById("switch_to_control_tile_type").disabled = false; - } else if (this.mode.name == 'control_tile_draw') { - document.getElementById("toggle_tile_draw").disabled = false; } else if (this.mode.name == 'study') { document.getElementById("toggle_map_mode").disabled = false; } else if (this.mode.is_single_char_entry) { this.show_help = true; } else if (this.mode.name == 'admin_enter') { this.log_msg('@ enter admin password:') + } else if (this.mode.name == 'control_pw_type') { + this.log_msg('@ enter tile control character for which you want to change the password:') + } else if (this.mode.name == 'control_tile_type') { + this.log_msg('@ enter tile control character which you want to draw:') } else if (this.mode.name == 'control_pw_pw') { this.log_msg('@ enter tile control password for "' + this.tile_control_char + '":'); - } else if (this.mode.name == 'control_pw_pw') { - this.log_msg('@ enter tile control password for "' + this.tile_control_char + '":'); + } else if (this.mode.name == 'control_tile_draw') { + document.getElementById("toggle_tile_draw").disabled = false; + this.log_msg('@ can draw tile control character "' + this.tile_control_char + '", turn drawing on/off with [' + this.keys.toggle_tile_draw + '], finish with [' + this.keys.switch_to_admin_enter + '].') } this.full_refresh(); }, @@ -811,11 +812,11 @@ let tui = { } }; map_lines_split.push(line); - if (this.map_mode == 'annotations') { + if (this.map_mode == 'terrain + annotations') { for (const coordinate of explorer.info_hints) { map_lines_split[coordinate[0]][coordinate[1]] = 'A '; } - } else if (this.map_mode == 'all') { + } else if (this.map_mode == 'terrain + things') { for (const p in game.portals) { let coordinate = p.split(',') let original = map_lines_split[coordinate[0]][coordinate[1]]; @@ -991,12 +992,12 @@ let tui = { } }, toggle_map_mode: function() { - if (tui.map_mode == 'terrain') { - tui.map_mode = 'annotations'; - } else if (tui.map_mode == 'annotations') { - tui.map_mode = 'all'; + if (tui.map_mode == 'terrain only') { + tui.map_mode = 'terrain + annotations'; + } else if (tui.map_mode == 'terrain + annotations') { + tui.map_mode = 'terrain + things'; } else { - tui.map_mode = 'terrain'; + tui.map_mode = 'terrain only'; } }, full_refresh: function() { @@ -1137,11 +1138,11 @@ let explorer = { server.send(["GET_ANNOTATION", unparser.to_yx(explorer.position)]); }, get_info: function() { + let info = "MAP VIEW: " + tui.map_mode + "\n"; let position_i = this.position[0] * game.map_size[1] + this.position[1]; if (game.fov[position_i] != '.') { - return 'outside field of view'; + return info + 'outside field of view'; }; - let info = ""; let terrain_char = game.map[position_i] let terrain_desc = '?' if (game.terrains[terrain_char]) { @@ -1204,12 +1205,6 @@ tui.inputEl.addEventListener('input', (event) => { } else if (tui.mode.name == 'write' && tui.inputEl.value.length > 0) { server.send(["TASK:WRITE", tui.inputEl.value[0], tui.password]); tui.switch_mode('edit'); - } else if (tui.mode.name == 'control_pw_type' && tui.inputEl.value.length > 0) { - tui.tile_control_char = tui.inputEl.value[0]; - tui.switch_mode('control_pw_pw'); - } else if (tui.mode.name == 'control_tile_type' && tui.inputEl.value.length > 0) { - tui.tile_control_char = tui.inputEl.value[0]; - tui.switch_mode('control_tile_draw'); } tui.full_refresh(); }, false); @@ -1252,6 +1247,22 @@ tui.inputEl.addEventListener('keydown', (event) => { } else if (tui.mode.name == 'admin_enter' && event.key == 'Enter') { server.send(['BECOME_ADMIN', tui.inputEl.value]); tui.switch_mode('play'); + } else if (tui.mode.name == 'control_pw_type' && event.key == 'Enter') { + if (tui.inputEl.value.length != 1) { + tui.log_msg('@ entered non-single-char, therefore aborted'); + tui.switch_mode('admin'); + } else { + tui.tile_control_char = tui.inputEl.value[0]; + tui.switch_mode('control_pw_pw'); + } + } else if (tui.mode.name == 'control_tile_type' && event.key == 'Enter') { + if (tui.inputEl.value.length != 1) { + tui.log_msg('@ entered non-single-char, therefore aborted'); + tui.switch_mode('admin'); + } else { + tui.tile_control_char = tui.inputEl.value[0]; + tui.switch_mode('control_tile_draw'); + } } else if (tui.mode.name == 'chat' && event.key == 'Enter') { let tokens = parser.tokenize(tui.inputEl.value); if (tokens.length > 0 && tokens[0].length > 0) {