--- deliantra/server/socket/request.C 2007/06/03 17:05:36 1.101 +++ deliantra/server/socket/request.C 2007/06/04 13:04:01 1.103 @@ -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) { @@ -1232,7 +1234,7 @@ if (op->stats.maxhp > 0 && (unsigned) op->stats.maxhp > (unsigned) op->stats.hp) { stat_hp = 255 - (op->stats.hp * 255 + 254) / op->stats.maxhp; - stat_width = op->arch->tail_x; + stat_width = op->arch->max_x - op->arch->x; //TODO: should be upper-left edge } } @@ -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.