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/
class Event_Data
{
 public:
  event_func*    func;
  event_data*    loop;
  thing_data*   owner;
  int            time;
  void*       pointer; 

  Event_Data( event_func*, thing_data* );
  Event_Data( );

  ~Event_Data( );
};


/* 
 *   ROUTINES
 */


#define QUEUE_LENGTH  50000


extern event_data*   event_queue  [ QUEUE_LENGTH ];
extern int            event_pntr;


void  extract        ( event_data* );
void  unlink         ( event_data* );
void  stop_events    ( thing_data*, event_func* = NULL );

void         add_queue      ( event_data*, int );
void         set_delay      ( char_data*, int );
const char*  name           ( event_data* );
int          time_till      ( event_data* );
void         event_update   ( );

void delay_wander    ( event_data* );
void execute_wander  ( event_data* );
void next_action     ( event_data* );
void execute_leap    ( event_data* );
void execute_drown   ( event_data* );
void execute_path    ( event_data* );
void update_affect   ( event_data* );
void execute_decay   ( event_data* );