X-Git-Url: https://plomlompom.com/repos/%7B%7Bprefix%7D%7D/copy_structured?a=blobdiff_plain;f=rogue_chat_curses.py;h=70060275893245d4e63ba5e2838f53dbd1e53fd6;hb=5f77cabba400be428d6d402d9642836e449bd332;hp=e6ddda87a20f62e71d64974dba56ad82d1e1653c;hpb=2bc91772ca3d5056eb5a252869d8dff33c586da5;p=plomrogue2 diff --git a/rogue_chat_curses.py b/rogue_chat_curses.py index e6ddda8..7006027 100755 --- a/rogue_chat_curses.py +++ b/rogue_chat_curses.py @@ -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): @@ -889,7 +896,7 @@ class TUI: term_x = max(0, -self.offset.x) map_y = max(0, self.offset.y) map_x = max(0, self.offset.x) - while (term_y < self.size.y and map_y < self.game.map_geometry.size.y): + while term_y < self.size.y and map_y < len(self.map_lines): to_draw = self.map_lines[map_y][map_x:self.window_width + self.offset.x] safe_addstr(term_y, term_x, to_draw) term_y += 1 @@ -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', }