#include "path.h"
inherit "/std/effect_shadow";
int query_hooded() { return 1; }
int query_disguised() { return 1; }
/*
 * This is all wrong!  Ick!
int new_parser( string words ) {
   int which;
   object *things;
   if ( sscanf( words, "raise %s", words ) )
      which = 0;
   else
      if ( sscanf( words, "lower %s", words ) )
         which = 1;
      else
         return (int)player->new_parser( words );
   sscanf( words, "hood of %s", words );
   things = find_match( words, player );
   if ( !sizeof( things ) )
      return notify_fail( "Syntax: "+ ( which ? "lower" : "raise" ) +
            " [hood of] <object>\n" );
   if ( member_array( EFFECTS +"hooded_cloak",
         (string *)things[ 0 ]->query_wear_effects() ) == -1 )
      return notify_fail( (string)things[ 0 ]->the_short() +" does not have "+
            "a hood to "+ ( which ? "lower" : "raise" ) +".\n" );
   if ( which != arg() )
      return notify_fail( (string)things[ 0 ]->the_short() +"'s hood is "+
            "already "+ ( which ? "lowered" : "raised" ) +".\n" );
   write( "You"+ ( which ? " lower " : " raise " ) +
         (string)things[ 0 ]->the_short() +"'s hood.\n" );
   say( (string)player->one_short() + ( which ? " lowers " : " raises " ) +
         "the hood of "+ (string)things[ 0 ]->poss_short() +".\n" );
   if ( !which )
      all_inventory( environment( player ) )->print_messages();
   set_arg( !which );
   return 1;
} / * new_parser() * /
 */
string query_determinate( object thing ) {
   if ( arg() )
      return "a ";
   return (string)player->query_determinate( thing );
} /* query_determinate() */
string pretty_short( object thing ) {
   if ( !arg() )
      return (string)player->pretty_short();
   if ( objectp( thing ) )
      if ( creatorp(thing) )
         return "hooded stranger ("+ (string)player->query_name() +")";
   return "hooded stranger";
} /* pretty_short() */
string pretty_plural( object thing ) {
   if ( !arg() )
      return (string)player->pretty_short();
   if ( objectp( thing ) )
      if ( creatorp(thing) )
         return "hooded strangers ("+ (string)player->query_name() +")";
   return "hooded strangers";
} /* pretty_plural() */
void now_removed( object thing ) {
   player->now_removed( thing );
   if ( member_array( EFFECTS +"hooded_cloak",
         (string *)thing->query_wear_effects() ) != -1 )
      remove_this_effect();
} /* now_removed() */
string extra_score() {
   if ( arg() )
      return "Your identity is occulted by a hood.\n"+
            (string)player->extra_score();
   return (string)player->extra_score();
} /* extra_score() */