/
LIB3/
LIB3/D/ADMIN/
LIB3/D/ADMIN/OBJ/
LIB3/D/ADMIN/ROOM/W/
LIB3/D/HOME/
LIB3/D/HOME/CITY/ARENA/
LIB3/D/HOME/CITY/ITEMS/
LIB3/D/HOME/CITY/POSTOFFI/
LIB3/DOC/
LIB3/GLOBAL/SPECIAL/
LIB3/GLOBAL/VIRTUAL/
LIB3/NET/
LIB3/NET/CONFIG/
LIB3/NET/DAEMON/CHARS/
LIB3/NET/GOPHER/
LIB3/NET/INHERIT/
LIB3/NET/OBJ/
LIB3/NET/SAVE/
LIB3/NET/VIRTUAL/
LIB3/OBJ/B_DAY/
LIB3/OBJ/HANDLERS/TERM_TYP/
LIB3/PLAYERS/B/
LIB3/PLAYERS/N/
LIB3/ROOM/
LIB3/SAVE/
LIB3/SAVE/BOARDS/
LIB3/SAVE/ENVIRON/
LIB3/SAVE/POST/
LIB3/STD/COMMANDS/SHADOWS/
LIB3/STD/CREATOR/
LIB3/STD/DOM/
LIB3/STD/EFFECTS/
LIB3/STD/EFFECTS/HEALING/
LIB3/STD/EFFECTS/OTHER/
LIB3/STD/EFFECTS/POISONS/
LIB3/STD/ENVIRON/
LIB3/STD/GUILDS/
LIB3/STD/LIQUIDS/
LIB3/STD/ROOM/
LIB3/STD/TRIGGER/SHADOW/
LIB3/W/
LIB3/W/BANNOR/
LIB3/W/NEWSTYLE/
object  my_player;

int     test_add()
{
    return 0;
}
void    attack()
{
}
void    adjust_hp()
{
}
void    set_hp()
{
}
void    do_death()
{
}

void    setup_shadow( object ob )
{
    shadow( ob, 1 );
    my_player = ob;
}

attack_by( object ob )
{
    if( my_player->query_domain() == "flaz" )
	tell_object( ob, "You cannot attack a hologram!\n" );
    else
	tell_object( ob, "You cannot attack a ghost!\n" );
    ob->stop_fight( my_player );
    return 1;
}

attack_ob( object ob )
{
    if( my_player->query_domain() == "flaz" )
	write( "You are just a hologram. You cannot touch anything!\n" );
    else
	write( "Don't be silly. Ghosts haven't anything to attack anyone with.\n" );
    return 0;
}

string short()
{
    if( !my_player )
	return "Death shadow";
    if( (string)my_player->query_domain() == "flaz" )
	return "Hologram of " + my_player->short();

    else
	return "Ghost of " + my_player->short();
}

string long()
{
    if( !my_player )
	return "It is a disembodied spirit.\n";
    if( (string)my_player->query_domain() == "flaz" )
	return "You see a hologrammatic projection of " +
	    my_player->short() + ". " + my_player->query_pronoun() +
	        " looks fair normal apart from the large 'H' on " +
	        my_player->query_possessive() + " forhead, and " +
	        my_player->query_possessive() + " tendancy to flicker a little.\n";

    else
	return "You see the disembodied spirit of " +
	    my_player->short() + ", or rather you see " +
	        "through them. They do not look very healthy " +
	        "right now. Decidedly pale, in fact ... \n";
}

void    dest_death_shadow()
{
    destruct( this_object() );
}

int     cast()
{
    write( "Casting spells when you are dead?\n" );
    return 1;
}

int     do_shout()
{
    write( "You are dead, that is not possible.\n" );
    return 1;
}

int     do_echo()
{
    write( "You are dead...\n" );
    return 1;
}

int     do_guild_command()
{
    write( "You are dead!\n" );
    return 1;
}

int     do_race_command()
{
    write( "You are dead!\n" );
    return 1;
}

int     score()
{
    write( "You have no body, so how can you have stats?\n" );
    return 1;
}

void    second_life()
{
}