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/
/*
 *   PRACTICES
 */


int  total_pracs  ( char_data* );


inline int expected_pracs( char_data* ch )
{
  return 10+2*ch->shdata->level*(10+ch->Wisdom( )
    +ch->Intelligence( ))/3;
}


/*
 *  TRAINER HEADER
 */


class Trainer_Data
{
 public:
  trainer_data*   next;
  room_data*      room;
  char_data*       mob;
  int          trainer;
  int            skill  [ MAX_TRAIN ];

  Trainer_Data( ) {
    record_new( sizeof( trainer_data ), MEM_TRAINER );
    vzero( skill, MAX_TRAIN );
    mob  = NULL;
    next = NULL;
    return;
    }  

  ~Trainer_Data( ) {
    record_delete( sizeof( trainer_data ), MEM_TRAINER );
    return;
    }
};


void   load_trainers    ( void );
void   save_trainers    ( void );
void   set_trainer      ( mob_data*, room_data* );