/*  -*- LPC -*-  */
/*
 * $Locker:  $
 * $Id: rock-mite_infestation.c,v 1.1 1998/01/06 04:08:27 ceres Exp $
 * $Log: rock-mite_infestation.c,v $
 * Revision 1.1  1998/01/06 04:08:27  ceres
 * Initial revision
 * 
*/
/**
 * This is the effect skelton docs.  This effect
 * has a classification of "disease.hypothermia".
 * <p>
 * Describe the arguments in here.
 * @classification disease.hypothermia
 * @see help::effects
 */
/* Flea infestation, use 10000 as standard severity  -*- LPC -*-
 */
#include <effect.h>
#include <disease.h>
inherit SIMPLE_DISEASE;
void setup() {
   set_name( "Fleas" );
   set_classification( "disease.parasite.external.rock-mite" );
   set_infection_chance( 1 );
   /* Something can catch fleas if it's alive, and */
   set_infection_check( (: living( $1 ) &&
         /* is an NPC that is not unique or */
               ( ( !userp( $1 ) && !$1->query_property( "unique" ) ) ||
         /* is a mature player, and is not dead. */
               $1->query_mature() ) && !$1->query_property( "dead" ) :) );
} /* setup() */
int disease_start( object player, int arg, int sid ) {
   string race_ob;
   race_ob = (string)player->query_race_ob();
   /* Only trolls have rockmites. */
   if ( ( (string)race_ob->query_name() != "troll" ) ||
         player->query_property( "no fleas" ) ) {
      player->submit_ee( 0, 0, EE_REMOVE );
      return 0;
   }
   return arg;
} /* disease_start() */
void disease_action( object player, int arg, int sid ) {
   switch( random( 3 ) ) {
      case 0 :
         tell_object( player, "Something itches.  You scratch yourself.\n" );
         tell_room( environment( player ),
               capitalize( (string)player->short() ) +" scratches "+
               (string)player->query_objective() +"self.\n", player );
         break;
      case 1 :
         tell_object( player, "Ouch!  Something bit you!\n" );
         tell_room( environment( player ),
               capitalize( (string)player->short() ) +" starts as "+
               "if bitten.\n", player );
         player->adjust_hp( -10 - random( 10 ) );
         break;
      default :
         tell_object( player, "You notice a small, dusty hole in your "+
               "skin.\n" );
   }
} /* mite_effects() */
int test_remove( object player, mixed arg, int id, int bonus ) {
   log_file( "OLD_CURE", file_name( previous_object() ) +" "+
            file_name( this_object() ) +"\n" );
   if ( bonus < 30 )
      return 0;
   return 1;
} /* test_remove() */