Exemple #1
0
    def load_rooms(self):
        """Load rooms"""
        #If requested room is not loaded load it
        for roomfile in get_rooms_files_list():
            roompath=os.path.join(mudlib.rootpath, "data/rooms/%s" % roomfile)
            #try load data
            try:data=yaml.load(open(roompath))
            except Exception, e:
                print "EE Cannot load room from %s" % roompath
                print e
                continue
            #create room
            newroom=Room()
            newroom.uuid=data["uuid"]
            newroom.name=data["name"]
            newroom.desc=data["desc"]
            newroom.exits=data["exits"] #restore warps
            newroom.searchitems=data["searchitems"]
            #Load monsters
            for monster in data["monsters"]:
                newmon=globalmonsterloader.get_monster(monster)
                newroom.monsters.append(newmon)
                newroom.possible_monsters.append(monster)

            #for place in places:
            #    # [X,Y,roomUuid]
            #    newroom.places[place[1]][place[0]]=place[2]
            self.rooms[newroom.uuid]=newroom
Exemple #2
0
def spawn_new_monsters(room):
    """Spawn new monsters in location"""
    if len(room.monsters) > 4:
        return
    if len(room.possible_monsters) == 0:
        return
    # spawn to max monsters
    for i in range(5 - len(room.monsters)):
        randommonsterid = random.choice(room.possible_monsters)
        newmonster = globalmonsterloader.get_monster(randommonsterid)
        room.monsters.append(newmonster)