Ejemplo n.º 1
0
    def load(self):
        """Load all of this area's objects from the database."""
        if self.dbid:
            items = self.world.db.select("* from build_item where area=?",
                                         [self.name])
            for item in items:
                item['area'] = self
                self.items[str(item['id'])] = BuildItem(item)
            scripts = self.world.db.select("* from script where area=?",
                                           [self.name])
            for script in scripts:
                script['area'] = self
                self.scripts[str(script['id'])] = Script(script)
            npcs = self.world.db.select("* from npc where area=?", [self.name])
            for npc in npcs:
                npc['area'] = self
                self.npcs[str(npc['id'])] = Npc(npc)
            rooms = self.world.db.select("* from room where area=?",
                                         [self.name])
            for room in rooms:
                room['area'] = self
                new_room = Room(room)
                new_room.reset()
                self.rooms[str(room['id'])] = new_room

            self.time_of_last_reset = time.time()
Ejemplo n.º 2
0
 def new_room(self, room_dict=None):
     """Add a new room to this area's room list."""
     if room_dict:
         # Create a new room with pre-initialized data
         room_dict['area'] = self
         new_room = Room(room_dict)
     else:
         # Create a new 'blank' room
         new_room = Room.create(self, self.get_id('room'))
     new_room.save()
     self.rooms[str(new_room.id)] = new_room
     return new_room
Ejemplo n.º 3
0
 def new_room(self, room_dict=None):
     """Add a new room to this area's room list."""
     if room_dict:
         # Create a new room with pre-initialized data
         room_dict['area'] = self
         new_room = Room(room_dict)
     else:
         # Create a new 'blank' room
         new_room = Room.create(self, self.get_id('room'))
     new_room.save()
     self.rooms[str(new_room.id)] = new_room
     return new_room
Ejemplo n.º 4
0
 def load(self):
     """Load all of this area's objects from the database."""
     if self.dbid:
         items = self.world.db.select("* from build_item where area=?", [self.name])
         for item in items:
             item['area'] = self
             self.items[str(item['id'])] = BuildItem(item)
         scripts = self.world.db.select("* from script where area=?", [self.name])
         for script in scripts:
             script['area'] = self
             self.scripts[str(script['id'])] = Script(script)
         npcs = self.world.db.select("* from npc where area=?", [self.name])
         for npc in npcs:
             npc['area'] = self
             self.npcs[str(npc['id'])] = Npc(npc)
         rooms = self.world.db.select("* from room where area=?", [self.name])
         for room in rooms:
             room['area'] = self
             new_room = Room(room)
             new_room.reset()
             self.rooms[str(room['id'])] = new_room
         
         self.time_of_last_reset = time.time()