--- deliantra/server/server/login.C 2006/12/16 17:16:52 1.25 +++ deliantra/server/server/login.C 2006/12/18 04:07:31 1.26 @@ -315,9 +315,9 @@ (pl->unapply == unapply_never ? "unapply_never" : "unapply_always")); #ifdef BACKUP_SAVE_AT_HOME - if (op->map != NULL && flag == 0) + if (op->map && flag == 0) #else - if (op->map != NULL) + if (op->map) #endif fprintf (freezer, "map %s\n", op->map->path); else @@ -609,13 +609,12 @@ * First, we check for partial path, then check to see if the full * path (for unique player maps) */ - if (check_path (pl->maplevel, 1) == -1) + if (!has_been_loaded (pl->maplevel) + && check_path (pl->maplevel, 1) == -1 + && check_path (pl->maplevel, 0) == -1) { - if (check_path (pl->maplevel, 0) == -1) - { - strcpy (pl->maplevel, pl->savebed_map); - op->x = pl->bed_x, op->y = pl->bed_y; - } + strcpy (pl->maplevel, pl->savebed_map); + op->x = pl->bed_x, op->y = pl->bed_y; } /* make sure he's a player--needed because of class change. */