home · contact · privacy
Only show detailed thing info in study mode exploration.
[plomrogue2] / rogue_chat_curses.py
index d91c51703fecd8269b6ba4e11aea95dac1994d06..07f7ada6671cfc4096aca4b4bf9e3d34cf60f9a9 100755 (executable)
@@ -827,7 +827,7 @@ class TUI:
         else:
             for t in self.game.things:
                 if t.position == self.explorer:
-                    info_to_cache += '%s' % self.get_thing_info(t)
+                    info_to_cache += '%s' % self.get_thing_info(t, True)
             terrain_char = self.game.map_content[pos_i]
             terrain_desc = '?'
             if terrain_char in self.game.terrains:
@@ -847,8 +847,11 @@ class TUI:
         self.info_cached = info_to_cache
         return self.info_cached
 
-    def get_thing_info(self, t):
-        info = '- %s' % self.game.thing_types[t.type_]
+    def get_thing_info(self, t, detailed=False):
+        info = ''
+        if detailed:
+            info += '- '
+        info += self.game.thing_types[t.type_]
         if hasattr(t, 'thing_char'):
             info += t.thing_char
         if hasattr(t, 'name'):
@@ -856,32 +859,40 @@ class TUI:
         info += ' (%s' % t.type_
         if hasattr(t, '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'
+        if t.type_ == 'Bottle':
+            if t.thing_char == '_':
+                info += '/empty'
+            elif t.thing_char == '~':
+                info += '/full'
+        if detailed:
+            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'
+        else:
+            info += ')'
         return info
 
     def loop(self, stdscr):