home · contact · privacy
Enable edit mode movement in web client.
[plomrogue2] / rogue_chat.html
index 93421701786f587d161cd074eaecaf65ec92f123..1846e9872a1241c55a1fa8c052679c3a81a9f960 100644 (file)
@@ -49,9 +49,9 @@ terminal columns: <input id="n_cols" type="number" step=4 min=80 value=80 />
   <tr>
     <td><button id="switch_to_play">play mode</button></td>
     <td>
-      <button id="take_thing">take thing</button>
-      <button id="teleport">teleport</button>
+      <button id="take_thing">pick up thing</button>
       <button id="drop_thing">drop thing</button>
+      <button id="teleport">teleport</button>
     </td>
   </tr>
   <tr>
@@ -59,9 +59,9 @@ terminal columns: <input id="n_cols" type="number" step=4 min=80 value=80 />
     <td>
       <button id="switch_to_write">change tile</button>
       <button id="flatten">flatten surroundings</button>
-      <button id="switch_to_password">change tile editing password</button>
       <button id="switch_to_annotate">annotate tile</button>
       <button id="switch_to_portal">edit portal link</button>
+      <button id="switch_to_password">change tile editing password</button>
     </td>
   </tr>
   <tr>
@@ -609,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';
@@ -812,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]];
@@ -947,7 +947,7 @@ let tui = {
               content += "[" + this.keys.take_thing + "] – pick up thing\n";
           }
           if (game.tasks.includes('DROP')) {
-              content += "[" + this.keys.drop_thing + "] – drop picked up thing\n";
+              content += "[" + this.keys.drop_thing + "] – drop picked-up thing\n";
           }
           content += "[" + tui.keys.teleport + "] – teleport to other space\n";
           content += '\n';
@@ -992,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() {
@@ -1138,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]) {
@@ -1208,6 +1208,9 @@ tui.inputEl.addEventListener('input', (event) => {
     }
     tui.full_refresh();
 }, false);
+document.onclick = function() {
+    tui.show_help = false;
+};
 tui.inputEl.addEventListener('keydown', (event) => {
     tui.show_help = false;
     if (event.key == 'Enter') {
@@ -1405,56 +1408,56 @@ document.getElementById("teleport").onclick = function() {
     game.teleport();
 };
 document.getElementById("move_upleft").onclick = function() {
-    if (tui.mode.name == 'play') {
+    if (tui.mode.name == 'play' || tui.mode.name == 'edit') {
         server.send(['TASK:MOVE', 'UPLEFT']);
     } else {
         explorer.move('UPLEFT');
     };
 };
 document.getElementById("move_left").onclick = function() {
-    if (tui.mode.name == 'play') {
+    if (tui.mode.name == 'play' || tui.mode.name == 'edit') {
         server.send(['TASK:MOVE', 'LEFT']);
     } else {
         explorer.move('LEFT');
     };
 };
 document.getElementById("move_downleft").onclick = function() {
-    if (tui.mode.name == 'play') {
+    if (tui.mode.name == 'play' || tui.mode.name == 'edit') {
         server.send(['TASK:MOVE', 'DOWNLEFT']);
     } else {
         explorer.move('DOWNLEFT');
     };
 };
 document.getElementById("move_down").onclick = function() {
-    if (tui.mode.name == 'play') {
+    if (tui.mode.name == 'play' || tui.mode.name == 'edit') {
         server.send(['TASK:MOVE', 'DOWN']);
     } else {
         explorer.move('DOWN');
     };
 };
 document.getElementById("move_up").onclick = function() {
-    if (tui.mode.name == 'play') {
+    if (tui.mode.name == 'play' || tui.mode.name == 'edit') {
         server.send(['TASK:MOVE', 'UP']);
     } else {
         explorer.move('UP');
     };
 };
 document.getElementById("move_upright").onclick = function() {
-    if (tui.mode.name == 'play') {
+    if (tui.mode.name == 'play' || tui.mode.name == 'edit') {
         server.send(['TASK:MOVE', 'UPRIGHT']);
     } else {
         explorer.move('UPRIGHT');
     };
 };
 document.getElementById("move_right").onclick = function() {
-    if (tui.mode.name == 'play') {
+    if (tui.mode.name == 'play' || tui.mode.name == 'edit') {
         server.send(['TASK:MOVE', 'RIGHT']);
     } else {
         explorer.move('RIGHT');
     };
 };
 document.getElementById("move_downright").onclick = function() {
-    if (tui.mode.name == 'play') {
+    if (tui.mode.name == 'play' || tui.mode.name == 'edit') {
         server.send(['TASK:MOVE', 'DOWNRIGHT']);
     } else {
         explorer.move('DOWNRIGHT');