/
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    create()
{
    ::create();
    add_property( "writeable", 1 );
    add_property( "label", 1 );
}				/* create() */

void    init()
{
    ::init();
    this_player()->add_command( "stick", this_object(), "%D %p %I" );
}				/* init() */

int     do_stick( object *obs )
{
    obs = obs - ({ this_object() });
    if( !sizeof( obs ) )
	return 0;
    obs[ 0 ]->add_label( this_object() );
    if( environment() != obs[ 0 ] && move( obs[ 0 ] ) )
    {
	write( "Move failed.\n" );
	obs[ 0 ]->remove_label( this_object() );
	return 0;
    }
    this_player()->add_succeeded( obs[ 0 ] );
    return 1;
}				/* do_stick() */

move( object ob, string s1, string s2 )
{
    object  env;
    int     i;

    env = environment();
    i =::move( ob, s1, s2 );
    if( !i && env )
	env->remove_label( this_object() );
    return i;
}				/* move() */

mixed   query_static_auto_load()
{
    if( file_name( this_object() )[ 0..9 ] == "/obj/label" )
	return int_query_static_auto_load();
    return([ ]);
}				/* query_static_auto_load() */

void    dest_me()
{
    if( environment() )
	environment()->remove_label( this_object() );
    ::dest_me();
}				/* dest_me() */