    if (ch->invis_level < LEVEL_HERO)
    sprintf( buf, "Shutdown by %s.", ch->name );
    append_file( ch, SHUTDOWN_FILE, buf );
    strcat( buf, "\n\r" );

    do_asave( ch, "changed" );

    if (ch->invis_level < LEVEL_HERO)
    	do_echo( ch, buf );
    merc_down = TRUE;
    for ( d = descriptor_list; d != NULL; d = d_next)
    {
	d_next = d->next;
	vch = d->original ? d->original : d->character;
	if (vch != NULL)
	{
	    if ( vch->pcdata->corpse )
	    {
		save_corpse(vch, FALSE);
		extract_obj(vch->pcdata->corpse);
	    }
	    save_char_obj(vch);
	}
	close_socket(d);
    }
