X-Git-Url: https://plomlompom.com/repos/feed.xml?a=blobdiff_plain;ds=sidebyside;f=rogue_chat_curses.py;h=d1541a760b7576dd8b1054cd22091d17004d93a2;hb=06c3b773099e2264831d5f4b4650eadb9290b296;hp=2207220dda4cf31f69a46c77e14683ff9cf5ca2c;hpb=f403ec1356ebb44a70efe60cc21de31e3dccd92c;p=plomrogue2 diff --git a/rogue_chat_curses.py b/rogue_chat_curses.py index 2207220..d1541a7 100755 --- a/rogue_chat_curses.py +++ b/rogue_chat_curses.py @@ -87,6 +87,12 @@ def cmd_THING_NAME(game, thing_id, name): t.name = name cmd_THING_NAME.argtypes = 'int:nonneg string' +def cmd_THING_CHAR(game, thing_id, c): + t = game.get_thing(thing_id) + if t: + t.player_char = c +cmd_THING_CHAR.argtypes = 'int:nonneg char' + def cmd_MAP(game, geometry, size, content): map_geometry_class = globals()['MapGeometry' + geometry] game.map_geometry = map_geometry_class(size) @@ -183,6 +189,7 @@ class Game(GameBase): self.register_command(cmd_THING) self.register_command(cmd_THING_TYPE) self.register_command(cmd_THING_NAME) + self.register_command(cmd_THING_CHAR) self.register_command(cmd_MAP) self.register_command(cmd_MAP_CONTROL) self.register_command(cmd_PORTAL) @@ -445,9 +452,12 @@ class TUI: info = 'TERRAIN: %s\n' % self.game.map_content[pos_i] for t in self.game.things: if t.position == self.explorer: - info += 'THING: %s' % t.type_ + info += 'THING: %s / %s' % (t.type_, + self.game.thing_types[t.type_]) + if hasattr(t, 'player_char'): + info += t.player_char if hasattr(t, 'name'): - info += ' (name: %s)' % t.name + info += ' (%s)' % t.name info += '\n' if self.explorer in self.game.portals: info += 'PORTAL: ' + self.game.portals[self.explorer] + '\n' @@ -497,10 +507,12 @@ class TUI: used_positions = [] for t in self.game.things: symbol = self.game.thing_types[t.type_] + meta_char = ' ' + if hasattr(t, 'player_char'): + meta_char = t.player_char if t.position in used_positions: - map_lines_split[t.position.y][t.position.x] = symbol + '+' - else: - map_lines_split[t.position.y][t.position.x] = symbol + ' ' + meta_char = '+' + map_lines_split[t.position.y][t.position.x] = symbol + meta_char used_positions += [t.position] if self.mode.shows_info: map_lines_split[self.explorer.y][self.explorer.x] = '??' @@ -512,7 +524,7 @@ class TUI: indent = 0 if indent else 1 else: for line in map_lines_split: - map_lines += [' '.join(line)] + map_lines += [''.join(line)] window_center = YX(int(self.size.y / 2), int(self.window_width / 2)) player = self.game.get_thing(self.game.player_id)