/
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/
inherit "std/object";

void    setup()
{
    add_adjective( "red" );
    reset_drop();
    set_name( "button" );
    set_short( "red button" );
    set_long( 
		 "This is a red button that destructs all non-living objects in the room.  " +
		 "USE WITH EXTREME CAUTION.\n" );
}

void    init()
{
    this_player()->add_command( "push", this_object() );
    this_player()->add_command( "press", this_object() );
}

int     do_push()
{
    object  ob, temp;
    int     changed;

    changed = 1;
    while( changed )
    {
	changed = 0;
	ob = first_inventory( environment( this_object() ) );
	while( ob )
	{
	    if( ob != this_object() && !query_ip_number( ob ) )
	    {
		changed = 1;
		temp = ob;
	    }
	    ob = next_inventory( ob );
	    if( temp )
	    {
		temp->dest_me();
	    }
	}
    }
    return 1;
}


int     do_press()
{
    return do_push();
}