static echo_wiz(str) {
string msg;
object *u;
int i,j;

  if (!str) {
     write("On the wizline:\n\n");
     u=users();
     for (i=0;i<sizeof(u);i++)
	if (u[i]->query_immortal()) {
	   if (u[i]->query_wizline()) write("     ");
	   else write("OFF: ");
	   write(capitalize(u[i]->query_real_name())+"\n"); /* Moonchild - bug
							       "Someone"    */
	}
     return 1;
  }
  if (str=="on") {
     is_not_wizlisten=0;
     return 1;
  }
  if (str=="off") {
     is_not_wizlisten=1;
     return 1;
  }

#if 0
  u=users();
  for (i=0;i<sizeof(u);i++)
      if (u[i]!=this_player() && u[i]->query_immortal() && u[i]->query_earmuff_level() <= level && u[i]->query_wizline()) {
	 msg="[wiz] "+capitalize(query_real_name())+" says: "+str+"\n";
	 j=strlen(msg);
	 msg=line_format(msg,78,5,5," "," "," ","");
	 tell_object(u[i],msg);
  }
  write("Ok.\n");
#endif
  u=filter_array(users(), "wiz_line_filter", this_object());
  msg=line_format("[wiz] " + capitalize(query_real_name())
	+ (query_verb()=="wiz" ? " says: " : " ") + str + "\n",
	78,5,5," "," "," ","");
  for(i=0;i<sizeof(u);i++)
    tell_object(u[i], msg);
  return 1;
}

wiz_line_filter(ob) {
  return ob->query_immortal() && ob->query_wizline()
	&& ob->query_earmuff_level()<=level;
}

