home · contact · privacy
Show Thing installation status in Thing info display.
[plomrogue2] / rogue_chat_curses.py
index e6ddda87a20f62e71d64974dba56ad82d1e1653c..bc3c40d8839bd953e8d4e7ba36db3291a8df79dc 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):