tfe-1.0/area/
tfe-1.0/files/
tfe-1.0/logs/
tfe-1.0/logs/immortal/
tfe-1.0/logs/mob/
tfe-1.0/logs/object/
tfe-1.0/logs/player/
tfe-1.0/logs/room/
tfe-1.0/notes/clans/
tfe-1.0/player/
tfe-1.0/prev/
tfe-1.0/prev/area/
tfe-1.0/prev/player/
tfe-1.0/prev/rooms/
tfe-1.0/rooms/
tfe-1.0/src-gc/
tfe-1.0/src-msvc/
tfe-1.0/src-unix/
tfe-1.0/www/
tfe-1.0/www/html/
#include <sys/types.h>
#include <stdio.h>
#include <stdlib.h>
#include "define.h"
#include "struct.h"


bool spell_amnesia( char_data *ch, char_data*, void*, int, int )
{
  cast_data*  cast;
  int            i;

  send( ch, "You feel very confused!\n\r" );
  send( ch, "Your memory seems to have gone blank!\n\r" );

  if( ch->species != NULL )
    return TRUE;

  ch->pcdata->practice = 9*total_pracs( ch )/10;

  for( i = 0; i < MAX_SKILL; i++ )
    ch->shdata->skill[i] = 0;

  ch->pcdata->speaking = LANG_HUMANIC+ch->shdata->race;
  ch->shdata->skill[ LANG_HUMANIC+ch->shdata->race ] = 10;
  ch->shdata->skill[ LANG_PRIMAL ] = 10; 

  for( ; ; ) {
    if( ( cast = ch->prepare ) == NULL )
      break;
    ch->prepare = cast->next;
    delete cast;
    }

  return TRUE;
}


bool spell_magic_mapping( char_data* ch, char_data*, void*, int, int )
{
  show_map( ch, 60, 20 );

  return TRUE;
}


bool spell_youth( char_data* ch, char_data* victim, void* vo, int,
  int duration )
{
  player_data*  pc;
  obj_data*        obj  = (obj_data*) vo;

  if( duration == -4 )
    return TRUE;

  if( duration == -3 ) {
    if( obj->age > 0 ) {
      send( *ch->array, "%s appears less deteriorated by age.\n\r", obj );
      obj->age = max( 0, obj->age-10 );
      }
    return TRUE;
    }

  if( ( pc = player( victim ) ) == NULL )
    return TRUE;

  if( pc->Age( ) > plyr_race_table[
    victim->shdata->race ].start_age ) {
    pc->base_age--;
    send( victim, "You feel younger!\n\r" );
    }

  return TRUE;
}