/*
 * Stops anyone but the pt who checked this armour out using the
 * armour, and makes the armour worth nothing.
 *
 */
#include <move_failures.h>
inherit "/std/effect_shadow";
/** @ignore yes */
string query_owner() { return arg(); }
/** @ignore yes */
mixed query_property( mixed prop ) {
    if( prop == NO_RECYCLE )
        return 1;
    if( player )
        return player->query_property(prop);
    return 0;
} /* query_property() */
/** @ignore yes */
private int playtester_check( object thing ) {
    if( objectp(thing) ) {
        if( userp( thing ) && !playtesterp( thing ) )
            return 0;
        if( !thing->query_corpse() && thing->query_name() != arg() )
            return 0;
    }
    return 1;
} /* playtester_check() */
/** @ignore yes */
int set_holder( object thing, int pos ) {
    if( !playtester_check( thing ) )
        return 0;
   return player->set_holder( thing, pos );
} /* set_holder() */
/** @ignore yes */
int set_worn_by( object thing ) {
    if( !playtester_check( thing ) )
        return 0;
    return player->set_worn_by( thing );
} /* set_holder() */
/** @ignore yes */
varargs int move( mixed dest, string msgin, string msgout ) {
    if( objectp(dest) && userp(dest) && !playtesterp(dest) )
        return MOVE_INVALID_DEST;
    if(!player) return 1;
    return player->move( dest, msgin, msgout );
} /* move() */
/** @ignore yes */
int query_no_steal() { return 1; }
/** @ignore yes */
int query_value() { return 0; }