X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=rogue_chat.html;h=ce0b6a2c9d69785c9f33b315a7660dc2f514a77f;hb=b72c8aea9efa8005534e6cef7e8f8fae5cf0918e;hp=f245644599457e6e438254732dc181ae49106946;hpb=1adb3944eb2d16361d6fc4c150be88faf7a2bffa;p=plomrogue2 diff --git a/rogue_chat.html b/rogue_chat.html index f245644..ce0b6a2 100644 --- a/rogue_chat.html +++ b/rogue_chat.html @@ -20,60 +20,61 @@ terminal rows: keyboard input/control:

button controls for mouse players

- +
- - - + + + - + - + - - - + + +
move
- + - + - - + - + - + - + @@ -95,6 +96,7 @@ keyboard input/control:
  • teleport:
  • pick up thing:
  • drop thing: +
  • open/close:
  • @@ -200,6 +202,7 @@ let key_descriptions = { 'teleport': 'teleport', 'take_thing': 'pick up thing', 'drop_thing': 'drop thing', + 'door': 'open/close', 'toggle_map_mode': 'toggle map view', 'toggle_tile_draw': 'toggle protection character drawing', 'hex_move_upleft': 'up-left', @@ -431,6 +434,7 @@ let server = { }; } else if (tokens[0] === 'TASKS') { game.tasks = tokens[1].split(','); + console.log(game.tasks); tui.mode_write.legal = game.tasks.includes('WRITE'); } else if (tokens[0] === 'THING_TYPE') { game.thing_types[tokens[1]] = tokens[2] @@ -599,11 +603,13 @@ let tui = { 'take_thing': 'PICK_UP', 'drop_thing': 'DROP', 'move': 'MOVE', + 'door': 'DOOR', }, init: function() { this.mode_chat.available_modes = ["play", "study", "edit", "admin_enter"] this.mode_play.available_modes = ["chat", "study", "edit", "admin_enter"] - this.mode_play.available_actions = ["move", "take_thing", "drop_thing", "teleport"]; + this.mode_play.available_actions = ["move", "take_thing", "drop_thing", + "teleport", "door"]; 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", @@ -625,15 +631,16 @@ let tui = { this.init_keys(); }, init_keys: function() { + document.getElementById("move_table").hidden = true; this.keys = {}; for (let key_selector of key_selectors) { this.keys[key_selector.id.slice(4)] = key_selector.value; } this.movement_keys = {}; - if (!game.map_geometry) { - return; + let geometry_prefix = 'undefinedMapGeometry_'; + if (game.map_geometry) { + geometry_prefix = game.map_geometry.toLowerCase() + '_'; } - let geometry_prefix = game.map_geometry.toLowerCase() + '_'; for (const key_name of Object.keys(key_descriptions)) { if (key_name.startsWith(geometry_prefix)) { let direction = key_name.split('_')[2].toUpperCase(); @@ -642,9 +649,13 @@ let tui = { } }; for (const move_button of document.querySelectorAll('[id*="_move_"]')) { + if (move_button.id.startsWith('key_')) { + continue; + } move_button.hidden = true; }; for (const move_button of document.querySelectorAll('[id^="' + geometry_prefix + 'move_"]')) { + document.getElementById("move_table").hidden = false; move_button.hidden = false; }; for (let el of document.getElementsByTagName("button")) { @@ -1217,16 +1228,16 @@ let explorer = { let symbol = game.thing_types[t.type_]; let protection = t.protection; if (protection == '.') { - protection = 'unprotected'; + protection = 'none'; } - info += "THING: " + t.type_ + " / protection: " + protection + " / " + symbol; + info += "THING: " + t.type_ + " / " + symbol; if (t.player_char) { info += t.player_char; }; if (t.name_) { info += " (" + t.name_ + ")"; } - info += "\n"; + info += " / protection: " + protection + "\n"; } } if (this.position in game.portals) { @@ -1377,6 +1388,8 @@ tui.inputEl.addEventListener('keydown', (event) => { server.send(["TASK:PICK_UP"]); } else if (event.key === tui.keys.drop_thing && tui.task_action_on('drop_thing')) { server.send(["TASK:DROP"]); + } else if (event.key === tui.keys.door && tui.task_action_on('door')) { + server.send(["TASK:DOOR"]); } 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) { @@ -1493,6 +1506,9 @@ document.getElementById("drop_thing").onclick = function() { document.getElementById("flatten").onclick = function() { server.send(['TASK:FLATTEN_SURROUNDINGS', tui.password]); }; +document.getElementById("door").onclick = function() { + server.send(['TASK:DOOR']); +}; document.getElementById("teleport").onclick = function() { game.teleport(); };


  • +
    - - - + + + +
    - - - - - - + + + + + +
    - - - - + + + +