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)
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)
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))