--- deliantra/server/socket/info.C 2007/04/30 04:25:30 1.40 +++ deliantra/server/socket/info.C 2007/05/03 10:39:46 1.41 @@ -152,25 +152,23 @@ * */ void -new_draw_info (int flags, int pri, const object *pl, const char *buf) +new_draw_info (int flags, int pri, const object *op, const char *buf) { if (flags & NDI_ALL) + for_all_players (pl) + new_draw_info (flags & ~NDI_ALL, pri, pl->ob, buf); + else { - for_all_players (pl) - new_draw_info (flags & ~NDI_ALL, pri, pl->ob, buf); + if (!op || !op->contr || !op->contr->ns) + return; - return; - } - - if (!pl || pl->type != PLAYER || !pl->contr || !pl->contr->ns) - return; + if (pri >= op->contr->listening) + return; - if (pri >= pl->contr->listening) - return; - - if ((flags & (NDI_COLOR_MASK | NDI_UNIQUE)) != NDI_BLACK - || !pl->contr->ns->msg_suppressed (buf)) - print_message (flags & NDI_COLOR_MASK, pl, buf); + if ((flags & (NDI_COLOR_MASK | NDI_UNIQUE)) != NDI_BLACK + || !op->contr->ns->msg_suppressed (buf)) + print_message (flags & NDI_COLOR_MASK, op, buf); + } } /**