home · contact · privacy
In study mode, explicitely name map mode.
[plomrogue2] / rogue_chat_curses.py
index a6e05ab1bf98eb0b02ab2bf12b60678bec576ddc..c3d216591665a8d1c0de644c9693660c052f6739 100755 (executable)
@@ -387,7 +387,7 @@ class TUI:
         self.do_refresh = True
         self.queue = queue.Queue()
         self.login_name = None
-        self.map_mode = 'all'
+        self.map_mode = 'terrain + things'
         self.password = 'foo'
         self.switch_mode('waiting_for_server')
         self.keys = {
@@ -504,7 +504,7 @@ class TUI:
                   (self.explorer, quote(self.tile_control_char)))
 
     def switch_mode(self, mode_name):
-        self.map_mode = 'all'
+        self.map_mode = 'terrain + things'
         self.tile_draw = False
         if mode_name == 'admin_enter' and self.is_admin:
             mode_name = 'admin'
@@ -533,6 +533,7 @@ class TUI:
             self.log_msg('@ enter tile control password for "%s":' % self.tile_control_char)
         elif self.mode.name == 'control_tile_draw':
             self.log_msg('@ can draw tile control character "%s", turn drawing on/off with [%s], finish with [%s].' % (self.tile_control_char, self.keys['toggle_tile_draw'], self.keys['switch_to_admin_enter']))
+        self.input_ = ""
         self.restore_input_values()
 
     def loop(self, stdscr):
@@ -610,17 +611,19 @@ class TUI:
             if not self.game.turn_complete:
                 return
             pos_i = self.explorer.y * self.game.map_geometry.size.x + self.explorer.x
-            info = 'outside field of view'
-            if self.game.fov[pos_i] == '.':
+            info = 'MAP VIEW: %s\n' % self.map_mode
+            if self.game.fov[pos_i] != '.':
+                info += 'outside field of view'
+            else:
                 terrain_char = self.game.map_content[pos_i]
                 terrain_desc = '?'
                 if terrain_char in self.game.terrains:
                     terrain_desc = self.game.terrains[terrain_char]
-                info = 'TERRAIN: "%s" / %s\n' % (terrain_char, terrain_desc)
+                info += 'TERRAIN: "%s" / %s\n' % (terrain_char, terrain_desc)
                 protection = self.game.map_control_content[pos_i]
                 if protection == '.':
                     protection = 'unprotected'
-                info = 'PROTECTION: %s\n' % protection
+                info += 'PROTECTION: %s\n' % protection
                 for t in self.game.things:
                     if t.position == self.explorer:
                         info += 'THING: %s / %s' % (t.type_,
@@ -681,10 +684,10 @@ class TUI:
                 else:
                     map_lines_split += [[c + ' ' for c
                                          in self.game.map_content[start:end]]]
-            if self.map_mode == 'annotations':
+            if self.map_mode == 'terrain + annotations':
                 for p in self.game.info_hints:
                     map_lines_split[p.y][p.x] = 'A '
-            elif self.map_mode == 'all':
+            elif self.map_mode == 'terrain + things':
                 for p in self.game.portals.keys():
                     original = map_lines_split[p.y][p.x]
                     map_lines_split[p.y][p.x] = original[0] + 'P'
@@ -855,35 +858,28 @@ class TUI:
                     self.log_msg('@ aborted')
                 else:
                     self.send('SET_MAP_CONTROL_PASSWORD ' + quote(self.tile_control_char) + ' ' + quote(self.input_))
-                    self.input_ = ""
                 self.switch_mode('admin')
             elif self.mode.name == 'password' and key == '\n':
                 if self.input_ == '':
                     self.input_ = ' '
                 self.password = self.input_
-                self.input_ = ""
                 self.switch_mode('edit')
             elif self.mode.name == 'admin_enter' and key == '\n':
                 self.send('BECOME_ADMIN ' + quote(self.input_))
-                self.input_ = ""
                 self.switch_mode('play')
             elif self.mode.name == 'control_pw_type' and key == '\n':
                 if len(self.input_) != 1:
                     self.log_msg('@ entered non-single-char, therefore aborted')
                     self.switch_mode('admin')
-                    self.input_ = ""
                 else:
                     self.tile_control_char = self.input_
-                    self.input_ = ""
                     self.switch_mode('control_pw_pw')
             elif self.mode.name == 'control_tile_type' and key == '\n':
                 if len(self.input_) != 1:
                     self.log_msg('@ entered non-single-char, therefore aborted')
                     self.switch_mode('admin')
-                    self.input_ = ""
                 else:
                     self.tile_control_char = self.input_
-                    self.input_ = ""
                     self.switch_mode('control_tile_draw')
             elif self.mode.name == 'chat' and key == '\n':
                 if self.input_ == '':
@@ -913,25 +909,23 @@ class TUI:
                     self.input_ = ' '
                 self.send('ANNOTATE %s %s %s' % (self.explorer, quote(self.input_),
                                                  quote(self.password)))
-                self.input_ = ""
                 self.switch_mode('edit')
             elif self.mode.name == 'portal' and key == '\n':
                 if self.input_ == '':
                     self.input_ = ' '
                 self.send('PORTAL %s %s %s' % (self.explorer, quote(self.input_),
                                                quote(self.password)))
-                self.input_ = ""
                 self.switch_mode('edit')
             elif self.mode.name == 'study':
                 if self.mode.mode_switch_on_key(self, key):
                     continue
                 elif key == self.keys['toggle_map_mode']:
-                    if self.map_mode == 'terrain':
-                        self.map_mode = 'annotations'
-                    elif self.map_mode == 'annotations':
-                        self.map_mode = 'all'
+                    if self.map_mode == 'terrain only':
+                        self.map_mode = 'terrain + annotations'
+                    elif self.map_mode == 'terrain + annotations':
+                        self.map_mode = 'terrain + things'
                     else:
-                        self.map_mode = 'terrain'
+                        self.map_mode = 'terrain only'
                 elif key in self.movement_keys:
                     move_explorer(self.movement_keys[key])
             elif self.mode.name == 'play':