home · contact · privacy
Improve precision of install key name.
[plomrogue2] / rogue_chat_curses.py
index e6ddda87a20f62e71d64974dba56ad82d1e1653c..8adbee5b2cc8a858d5be5b1901da7c9d56abadcf 100755 (executable)
@@ -292,9 +292,13 @@ def cmd_THING_TYPE(game, thing_type, symbol_hint):
     game.thing_types[thing_type] = symbol_hint
 cmd_THING_TYPE.argtypes = 'string char'
 
+def cmd_THING_INSTALLED(game, thing_id):
+    game.get_thing(thing_id).installed = True
+cmd_THING_INSTALLED.argtypes = 'int:pos'
+
 def cmd_THING_CARRYING(game, thing_id):
     game.get_thing(thing_id).carrying = True
-cmd_THING_CARRYING.argtypes = 'int:nonneg'
+cmd_THING_CARRYING.argtypes = 'int:pos'
 
 def cmd_TERRAIN(game, terrain_char, terrain_desc):
     game.terrains[terrain_char] = terrain_desc
@@ -331,6 +335,7 @@ class Game(GameBase):
         self.register_command(cmd_THING_NAME)
         self.register_command(cmd_THING_CHAR)
         self.register_command(cmd_THING_CARRYING)
+        self.register_command(cmd_THING_INSTALLED)
         self.register_command(cmd_TERRAIN)
         self.register_command(cmd_MAP)
         self.register_command(cmd_MAP_CONTROL)
@@ -720,6 +725,8 @@ class TUI:
             info += t.thing_char
         if hasattr(t, 'name'):
             info += ' (%s)' % t.name
+        if hasattr(t, 'installed'):
+            info += ' / installed'
         return info
 
     def loop(self, stdscr):
@@ -952,7 +959,7 @@ class TUI:
             'drop_thing': 'drop thing',
             'toggle_map_mode': 'toggle map view',
             'toggle_tile_draw': 'toggle protection character drawing',
-            'install': 'install',
+            'install': '(un-)install',
             'door': 'open/close',
             'consume': 'consume',
         }