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)
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)
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 += '\n'
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] = '??'