home · contact · privacy
Re-style study detail view.
[plomrogue2] / rogue_chat_curses.py
index 7ae6f67e5847fc90bdd0d5de9dd768a3862e97a1..d91c51703fecd8269b6ba4e11aea95dac1994d06 100755 (executable)
@@ -827,49 +827,20 @@ class TUI:
         else:
             for t in self.game.things:
                 if t.position == self.explorer:
-                    info_to_cache += 'THING: %s' % self.get_thing_info(t)
-                    protection = t.protection
-                    if protection == '.':
-                        protection = 'none'
-                    info_to_cache += ' / protection: %s\n' % protection
-                    if hasattr(t, 'hat'):
-                        info_to_cache += t.hat[0:6] + '\n'
-                        info_to_cache += t.hat[6:12] + '\n'
-                        info_to_cache += t.hat[12:18] + '\n'
-                    if hasattr(t, 'face'):
-                        info_to_cache += t.face[0:6] + '\n'
-                        info_to_cache += t.face[6:12] + '\n'
-                        info_to_cache += t.face[12:18] + '\n'
-                    if hasattr(t, 'design'):
-                        line_length = t.design[0].x
-                        lines = []
-                        for i in range(t.design[0].y):
-                            start = i * line_length
-                            end = (i + 1) * line_length
-                            lines += [t.design[1][start:end]]
-                        if t.type_ == 'Sign':
-                            info_to_cache += '-' * (line_length + 4) + '\n'
-                            for line in lines:
-                                info_to_cache += '| %s |\n' % line
-                            info_to_cache += '-' * (line_length + 4) + '\n'
-                        else:
-                            for line in lines:
-                                info_to_cache += '%s\n' % line
+                    info_to_cache += '%s' % self.get_thing_info(t)
             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_to_cache += 'TERRAIN: "%s" / %s\n' % (terrain_char,
+            info_to_cache += 'TERRAIN: %s (%s' % (terrain_char,
                                                        terrain_desc)
             protection = self.game.map_control_content[pos_i]
-            if protection == '.':
-                protection = 'unprotected'
-            info_to_cache += 'PROTECTION: %s\n' % protection
+            if protection != '.':
+                info_to_cache += '/protection:%s' % protection
+            info_to_cache += ')\n'
             if self.explorer in self.game.portals:
                 info_to_cache += 'PORTAL: ' +\
                     self.game.portals[self.explorer] + '\n'
-            else:
-                info_to_cache += 'PORTAL: (none)\n'
             if self.explorer in self.game.annotations:
                 info_to_cache += 'ANNOTATION: ' +\
                     self.game.annotations[self.explorer]
@@ -877,14 +848,40 @@ class TUI:
         return self.info_cached
 
     def get_thing_info(self, t):
-        info = '%s / %s' %\
-            (t.type_, self.game.thing_types[t.type_])
+        info = '- %s' % self.game.thing_types[t.type_]
         if hasattr(t, 'thing_char'):
             info += t.thing_char
         if hasattr(t, 'name'):
-            info += ' (%s)' % t.name
+            info += ': %s' % t.name
+        info += ' (%s' % t.type_
         if hasattr(t, 'installed'):
-            info += ' / installed'
+            info += '/installed'
+        protection = t.protection
+        if protection != '.':
+            info += '/protection:%s' % protection
+        info += ')\n'
+        if hasattr(t, 'hat') or hasattr(t, 'face'):
+            info += '----------\n'
+        if hasattr(t, 'hat'):
+            info += '| %s |\n' % t.hat[0:6]
+            info += '| %s |\n' % t.hat[6:12]
+            info += '| %s |\n' % t.hat[12:18]
+        if hasattr(t, 'face'):
+            info += '| %s |\n' % t.face[0:6]
+            info += '| %s |\n' % t.face[6:12]
+            info += '| %s |\n' % t.face[12:18]
+            info += '----------\n'
+        if hasattr(t, 'design'):
+            line_length = t.design[0].x
+            lines = []
+            for i in range(t.design[0].y):
+                start = i * line_length
+                end = (i + 1) * line_length
+                lines += [t.design[1][start:end]]
+            info += '-' * (line_length + 4) + '\n'
+            for line in lines:
+                info += '| %s |\n' % line
+            info += '-' * (line_length + 4) + '\n'
         return info
 
     def loop(self, stdscr):