--- deliantra/server/random_maps/treasure.C 2007/01/06 14:42:30 1.14 +++ deliantra/server/random_maps/treasure.C 2007/01/15 01:55:22 1.16 @@ -369,8 +369,9 @@ { kx = (RANDOM () % (RP->Xsize - 2)) + 1; ky = (RANDOM () % (RP->Ysize - 2)) + 1; - freeindex = find_first_free_spot (the_key, map, kx, ky); + freeindex = find_free_spot (the_key, map, kx, ky, 1, SIZEOFFREE1 + 1); } + if (freeindex != -1) { kx += freearr_x[freeindex]; @@ -386,6 +387,7 @@ { if (wall_blocked (map, x, y)) return 0; + the_keymaster = find_monster_in_room (map, x, y, RP); if (the_keymaster == NULL) /* if fail, find a spot to drop the key. */ find_spot_in_room (map, x, y, &kx, &ky, RP);