X-Git-Url: https://plomlompom.com/repos/?a=blobdiff_plain;f=rogue_chat_curses.py;h=bc3c40d8839bd953e8d4e7ba36db3291a8df79dc;hb=ea5ddf2c37571f3fb0ed486cd4a4294b82c54b54;hp=c539062bcfe19db3e5d2fef294d7c220c2222eb9;hpb=35714a1e0616ada0be5929d5fb8100047e46cdd2;p=plomrogue2 diff --git a/rogue_chat_curses.py b/rogue_chat_curses.py index c539062..bc3c40d 100755 --- a/rogue_chat_curses.py +++ b/rogue_chat_curses.py @@ -194,7 +194,7 @@ def cmd_PLAYER_ID(game, player_id): game.player_id = player_id cmd_PLAYER_ID.argtypes = 'int:nonneg' -def cmd_THING(game, yx, thing_type, protection, thing_id): +def cmd_THING(game, yx, thing_type, protection, thing_id, portable): t = game.get_thing(thing_id) if not t: t = ThingBase(game, thing_id) @@ -202,7 +202,8 @@ def cmd_THING(game, yx, thing_type, protection, thing_id): t.position = yx t.type_ = thing_type t.protection = protection -cmd_THING.argtypes = 'yx_tuple:nonneg string:thing_type char int:nonneg' + t.portable = portable +cmd_THING.argtypes = 'yx_tuple:nonneg string:thing_type char int:nonneg bool' def cmd_THING_NAME(game, thing_id, name): t = game.get_thing(thing_id) @@ -291,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 @@ -330,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) @@ -630,7 +636,7 @@ class TUI: else: self.log_msg('@ enter username') elif self.mode.name == 'take_thing': - self.log_msg('Things in reach for pick-up:') + self.log_msg('Portable things in reach for pick-up:') player = self.game.get_thing(self.game.player_id) select_range = [player.position, player.position + YX(0,-1), @@ -645,8 +651,7 @@ class TUI: select_range += [player.position + YX(-1, -1), player.position + YX(1, -1)] self.selectables = [t for t in self.game.things - if t != player and t.type_ != 'Player' - and t.position in select_range] + if t.portable and t.position in select_range] if len(self.selectables) == 0: self.log_msg('none') else: @@ -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):