object shadowing;
/*
 * Set the shadow onto someone.
 */
void init_shadow(object ob) {
    if (shadow(ob, 1) == 0) {
	write("death_shadow: Failed to shadow " + ob->query_player_cap_name()+
	      ".\n");
	return;
    }
    shadowing = ob;
    write("You turn into an immaterial ghost.\n");
    this_object()->cease_all_attacks();
}

string query_short() {
    return "a mist";
}

string query_long() {
    return "You see a thin mist.\n";
}

int score() {
    write("You are dead, and have no score.\n");
    return 1;
}

void revive() {
    write("You return from the dead.\n");
    destruct(this_object());
}

int query_ghost() {
    return 1;
}
