--- deliantra/server/common/object.C 2007/09/13 16:23:01 1.189 +++ deliantra/server/common/object.C 2007/09/15 15:58:06 1.190 @@ -1993,8 +1993,8 @@ int find_free_spot (const object *ob, maptile *m, int x, int y, int start, int stop) { - int index = 0, flag; int altern[SIZEOFFREE]; + int index = 0, flag; for (int i = start; i < stop; i++) { @@ -2013,7 +2013,10 @@ * so the AND operation in OB_TYPE_MOVE_BLOCK doesn't work. */ if (ob->move_type == 0 && ms.move_block != MOVE_ALL) - continue; + { + altern [index++] = i; + continue; + } /* Basically, if we find a wall on a space, we cut down the search size. * In this way, we won't return spaces that are on another side of a wall.