home · contact · privacy
Add terrain descriptions.
[plomrogue2] / plomrogue / game.py
index 29e2de15fe605f92f11cebc967815927ea9b7fd8..1c72aaf7aee40b6cc253faaacbdee73d18d4cad0 100755 (executable)
@@ -51,6 +51,10 @@ class Game(GameBase):
         self.portals = {}
         self.player_chars = string.digits + string.ascii_letters
         self.player_char_i = -1
+        self.terrains = {
+            'X': 'wall',
+            'O': 'toilet'
+        }
         if os.path.exists(self.io.save_file):
             if not os.path.isfile(self.io.save_file):
                 raise GameError('save file path refers to non-file')
@@ -109,9 +113,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 +133,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 +224,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