--- deliantra/server/socket/request.C 2007/08/24 00:26:10 1.119 +++ deliantra/server/socket/request.C 2007/08/24 01:03:09 1.121 @@ -278,7 +278,7 @@ { if (!map->tile_path [dir]) map = 0; - else if (map->tile_available (dir)) + else if (map->tile_available (dir, false)) { maptile *neigh = map->tile_map [dir]; @@ -302,7 +302,7 @@ if (!max_distance) send_packet_printf ("mapinfo %s error", token); - else if (!map || !map->path[0]) + else if (!map || !map->path) send_packet_printf ("mapinfo %s nomap", token); else { @@ -1131,7 +1131,9 @@ { nx = x; ny = y; m = plmap; - if (!xy_normalise (m, nx, ny)) + if (xy_normalise (m, nx, ny)) + m->touch (); + else m = 0; } @@ -1158,8 +1160,6 @@ continue; } - m->touch (); - int d = pl->blocked_los[ax][ay]; if (d > 3)