/*  -*- LPC -*-  */
/*
 * $Locker:  $
 * $Id: see_invisible.c,v 1.1 1998/01/06 04:06:32 ceres Exp $
 * $Log: see_invisible.c,v $
 * Revision 1.1  1998/01/06 04:06:32  ceres
 * Initial revision
 * 
*/
/**
 * This is the effect skelton docs.  This effect
 * has a classification of "magic.sight.invisible".
 * <p>
 * Describe the arguments in here.
 * <p>
 * This effect has a shadow associated with it.
 * @classification magic.sight.invisible
 * @see help::effects
 */
#include "path.h"
#include <effect.h>
#define COST_PER_ROUND 30
/** @ignore yes */
string query_classification() { return "magic.sight.invisible"; }
/** @ignore yes */
string query_shadow_ob() { return SHADOWS +"see_invisible"; }
/** @ignore yes */
void beginning( object player ) {
   tell_object( player, "Your eyes tingle momentarily.\n" );
   player->submit_ee( "decrease_points", 1, EE_ONCE );
   player->submit_ee( "decrease_points", ({ 30, 60 }), EE_CONTINUOUS );
} /* beginning() */
/** @ignore yes */
void merge_effect( object player ) { return; }
/** @ignore yes */
void end( object player ) {
   tell_object( player, "Everything goes dark, as if you'd blinked, but "+
         "then returns to normal.\n" );
} /* end() */
int test_for_effect( object thing ) {
   if ( !thing )
      return 0;
   return member_array( file_name( this_object() ),
         (string *)thing->query_wear_effects() ) != -1;
} /* test_for_effect() */
void decrease_points( object player ) {
   if ( player->query_auto_loading() )
      return;
   if ( !sizeof( filter_array( (object *)player->query_armours(),
         "test_for_effect", this_object() ) ) ) {
      player->submit_ee( 0, 0, EE_REMOVE );
      return;
   }
   if ( (int)player->query_gp() <= COST_PER_ROUND ) {
      player->submit_ee( 0, 0, EE_REMOVE );
      return;
   }
   player->clear_gp_info();
   player->adjust_gp( -COST_PER_ROUND );
} /* decrease_points() */