Esempio n. 1
0
    def load(self, dbUser):
        other = mud.get_user(dbUser.name)
        if other:
            other.presenter.show_msg("You have signed in from another location!")
            other.disconnect()

        self.authd = True
        self.name = str(dbUser.name)
        self.flags = dict(dbUser.flags)
        self.deck = dbUser.deck
        self.decks = dbUser.decks
        self.db = dbUser
        mud.add_user(self)
        self.room = mud.get_room(config.LOBBY_ROOM_NAME)
        self.room.occupants.append(self)
Esempio n. 2
0
def do_goto(user, args):
    if user.table is not None:
        user.presenter.show_msg("You can't leave now, you're at a table!")
        return
    if args is None:
        do_help(user, ['goto'])
        return
    room_name = ' '.join(args)
    room = mud.get_room(room_name)
    if room is None:
        user.presenter.show_msg("Goto where?!")
        return
    if user.room is not None:
        user.room.occupants.remove(user)
    user.room = room
    user.room.occupants.append(user)
    do_look(user, None)
Esempio n. 3
0
 def delete(args):
     if args is None:
         do_help(user, ['room'])
         return
     room_name = ' '.join(args)
     room = mud.get_room(room_name)
     if room is None:
         user.presenter.show_msg("Room '{}' was not found.".format(room_name))
         return
     for occupant in room.occupants:
         do_goto(occupant, config.LOBBY_ROOM_NAME)
         occupant.presenter.show_msg(
             "The lights flicker and you are suddenly in {}. Weird...".format(config.LOBBY_ROOM_NAME))
     mud.rooms.remove(room)
     db.session.delete(room.db)
     db.session.commit()
     user.presenter.show_msg("Room '{}' has been deleted.".format(room.name))