home · contact · privacy
Persist Thing names, simplify their client info display.
[plomrogue2] / plomrogue / game.py
index 29e2de15fe605f92f11cebc967815927ea9b7fd8..b138c564f8032238285a9948edc0a95fd0756f28 100755 (executable)
@@ -109,9 +109,8 @@ class Game(GameBase):
             for t in [t for t in self.things
                       if player.fov_stencil[t.position] == '.']:
                 self.io.send('THING %s %s %s' % (t.position, t.type_, t.id_), c_id)
-                if hasattr(t, 'nickname'):
-                    self.io.send('THING_NAME %s %s' % (t.id_,
-                                                       quote(t.nickname)), c_id)
+                if hasattr(t, 'name'):
+                    self.io.send('THING_NAME %s %s' % (t.id_, quote(t.name)), c_id)
                 if hasattr(t, 'player_char'):
                     self.io.send('THING_CHAR %s %s' % (t.id_,
                                                        quote(t.player_char)), c_id)
@@ -130,8 +129,8 @@ class Game(GameBase):
                     break
             if not connection_id_found:
                 t = self.get_thing(self.sessions[connection_id])
-                if hasattr(t, 'nickname'):
-                    self.io.send('CHAT ' + quote(t.nickname + ' left the map.'))
+                if hasattr(t, 'name'):
+                    self.io.send('CHAT ' + quote(t.name + ' left the map.'))
                 self.things.remove(t)
                 to_delete += [connection_id]
         for connection_id in to_delete:
@@ -221,6 +220,8 @@ class Game(GameBase):
                                                  self.map_control_passwords[tile_class]))
           for t in [t for t in self.things if not t.type_ == 'Player']:
               write(f, 'THING %s %s %s' % (t.position, t.type_, t.id_))
+              if hasattr(t, 'name'):
+                  write(f, 'THING_NAME %s %s' % (t.id_, quote(t.name)))
 
     def new_world(self, map_geometry):
         self.map_geometry = map_geometry