home · contact · privacy
Add item-free-terrain view, and augment other views with control view.
[plomrogue2] / rogue_chat.html
index d865516eaad3d93054f99e7611cda281f1a85964..d24b9f6b8b94eaf290ad87f7562fb7b959646046 100644 (file)
@@ -44,7 +44,7 @@ terminal columns: <input id="n_cols" type="number" step=4 min=80 value=80 />
   </tr>
   <tr>
     <td><button id="switch_to_study">study mode</button></td>
-    <td><button id="toggle_map_mode">toggle terrain/annotations/control view</button>
+    <td><button id="toggle_map_mode">toggle everything/terrain/annotations view</button>
   </tr>
   <tr>
     <td><button id="switch_to_play">play mode</button></td>
@@ -101,7 +101,7 @@ terminal columns: <input id="n_cols" type="number" step=4 min=80 value=80 />
 <li><input id="key_switch_to_control_tile_type" type="text" value="Q" />
 <li><input id="key_switch_to_annotate" type="text" value="M" />
 <li><input id="key_switch_to_portal" type="text" value="T" />
-<li>toggle terrain/annotations/control view: <input id="key_toggle_map_mode" type="text" value="M" />
+<li>toggle everything/terrain/annotations view: <input id="key_toggle_map_mode" type="text" value="M" />
 </ul>
 </div>
 <script>
@@ -559,7 +559,7 @@ let tui = {
       this.mode_admin.available_modes = ["control_pw_type",
                                          "control_tile_type", "chat",
                                          "study", "play", "edit"]
-      this.mode_control_tile_draw.available_modes = ["admin"]
+      this.mode_control_tile_draw.available_modes = ["admin_enter"]
       this.mode_edit.available_modes = ["write", "annotate", "portal",
                                         "password", "chat", "study", "play",
                                         "admin_enter"]
@@ -608,7 +608,7 @@ let tui = {
   },
   switch_mode: function(mode_name) {
     this.inputEl.focus();
-    this.map_mode = 'terrain';
+    this.map_mode = 'all';
     if (mode_name == 'admin_enter' && this.is_admin) {
         mode_name = 'admin';
     };
@@ -794,24 +794,25 @@ let tui = {
   draw_map: function() {
     let map_lines_split = [];
     let line = [];
-    let map_content = game.map;
-    if (this.map_mode == 'control') {
-        map_content = game.map_control;
-    }
     for (let i = 0, j = 0; i < game.map.length; i++, j++) {
         if (j == game.map_size[1]) {
             map_lines_split.push(line);
             line = [];
             j = 0;
         };
-        line.push(map_content[i] + ' ');
+        if (['edit', 'write', 'control_tile_draw',
+             'control_tile_type'].includes(this.mode.name)) {
+            line.push(game.map[i] + game.map_control[i]);
+        } else {
+            line.push(game.map[i] + ' ');
+        }
     };
     map_lines_split.push(line);
     if (this.map_mode == 'annotations') {
         for (const coordinate of explorer.info_hints) {
             map_lines_split[coordinate[0]][coordinate[1]] = 'A ';
         }
-    } else if (this.map_mode == 'terrain') {
+    } else if (this.map_mode == 'all') {
         for (const p in game.portals) {
             let coordinate = p.split(',')
             let original = map_lines_split[coordinate[0]][coordinate[1]];
@@ -1280,7 +1281,7 @@ tui.inputEl.addEventListener('keydown', (event) => {
             if (tui.map_mode == 'terrain') {
                 tui.map_mode = 'annotations';
             } else if (tui.map_mode == 'annotations') {
-                tui.map_mode = 'control';
+                tui.map_mode = 'all';
             } else {
                 tui.map_mode = 'terrain';
             }
@@ -1358,7 +1359,7 @@ document.getElementById("toggle_map_mode").onclick = function() {
     if (tui.map_mode == 'terrain') {
         tui.map_mode = 'annotations';
     } else if (tui.map_mode == 'annotations') {
-        tui.map_mode = 'control';
+        tui.map_mode = 'all';
     } else {
         tui.map_mode = 'terrain';
     }