--- deliantra/server/socket/request.C 2007/06/03 17:05:36 1.101 +++ deliantra/server/socket/request.C 2007/06/03 17:42:39 1.102 @@ -1040,7 +1040,9 @@ prefetch_surrounding_maps (pl->ob); /* do LOS after calls to update_position */ - if (pl->do_los) + if (ob != pl->ob) + clear_los (pl); + else if (pl->do_los) { update_los (ob); pl->do_los = 0; @@ -1140,7 +1142,7 @@ m->touch (); - int d = ob->contr->blocked_los[ax][ay]; + int d = pl->blocked_los[ax][ay]; if (d > 3) { @@ -1310,7 +1312,6 @@ /* Top face */ else if (update_space (sl, socket, ms, lastcell, 0)) mask |= 0x1; - /* Check to see if we are in fact sending anything for this * space by checking the mask. If so, update the mask.