/*
 *
 * Unique Handler - For handling Unique Items and Weapons.
 * @author Shaydz
 * Started: 31/07/2004
 *
 */
#define SAVE_FILE SAVE_DIR HANDLER_DIR "unique"
mapping uniques;
void create() {
   seteuid( (string)"/secure/master"->
         creator_file( file_name( this_object() ) ) );
   uniques = ([ ]);
   if ( file_size( SAVE_FILE +".o" ) > 0 )
      unguarded( (: restore_object, SAVE_FILE :) );
} /* create() */
/**
 * This method returns the uniques mapping.
 * @return the uniques mapping
 */
mapping query_uniques() { return uniques; }
/**
 * This method returns the data on the specified unique mapping.
 * @return the data on the spcified unique item
 */
string *query_unique(string item){
    if(!item || item == "")
        return 0;
    if(member_array(item,keys(uniques)) == -1)
        return 0;
    return uniques[item];
} /* query_uniques() */
/** Saves the current state to disk. */
void save_me() { unguarded( (: save_object, SAVE_FILE :) ); }
/** @ignore yes */
void dest_me() {
    save_me();
    destruct(TO);
} /* dest_me() */