#include "bitfield.h" #define ACCESS 0 #define CONTROL 1 #define INDEX 2 #define FILES 3 #define SLAVE 4 struct host_data { vnum_t vnum; rnum_t rnum; vnum_t parent; char *name; char *keywords; char *desc; char *shutdown_start; char *shutdown_stop; sh_int colour; sh_int security; sh_int intrusion; long stats[5][4]; int type; int reset; int found; int alert; int pass; int shutdown; int shutdown_success; int shutdown_mpcp; bool payreset; struct trigger_step *trigger; struct matrix_icon *icons; struct matrix_icon *fighting; struct exit_data *exit; struct obj_data *file; host_data(): name(NULL), keywords(NULL), desc(NULL), shutdown_start(NULL), shutdown_stop(NULL), type(0), reset(0), found(0), alert(0), pass(0), shutdown(0), shutdown_success(0), shutdown_mpcp(0), payreset(TRUE), trigger(NULL), icons(NULL), fighting(NULL), exit(NULL), file(NULL) {} }; struct exit_data { vnum_t host; char *number; struct exit_data *next; exit_data(): host(0), number(NULL), next(NULL) {} }; struct trigger_step { int step; int alert; vnum_t ic; struct trigger_step *next; trigger_step(): step(0), alert(0), ic(0), next(NULL) {} }; struct seen_data { int idnum; struct seen_data *next; seen_data(): next(NULL) {} }; struct ic_info { int rating; int type; int subtype; long target; bool supressed; Bitfield options; long trap; int expert; int cascade; int targ_evasion; ic_info(): rating(0), type(0), subtype(0), target(0), supressed(FALSE), trap(0), expert(0), cascade(0), targ_evasion(0) {} }; struct deck_info { int mpcp; int bod; int sensor; int evasion; int masking; int hardening; int active; int storage; int response; int io; int res_det; int res_test; bool asist[2]; bool ras; bool reality; bool iccm; int tally; int last_trigger; int scout; bool located; int redirect; long *redirectedon; long mxp; struct char_data *hitcher; struct obj_data *software; struct obj_data *deck; struct seen_data *seen; struct char_data *ch; struct phone_data *phone; deck_info(): mpcp(0), bod(0), sensor(0), evasion(0), masking(0), hardening(0), active(0), storage(0), response(0), res_det(0), res_test(0), tally(0), last_trigger(0), scout(0), located(FALSE), redirect(0), redirectedon(NULL), hitcher(NULL), software(NULL), deck(NULL), seen(NULL), ch(NULL), phone(NULL) {} }; struct matrix_icon { char *name; char *long_desc; char *look_desc; int idnum; vnum_t number; int condition; int initiative; int parry; int evasion; int position; struct ic_info ic; struct deck_info *decker; rnum_t in_host; struct matrix_icon *fighting; struct matrix_icon *next; struct matrix_icon *next_in_host; struct matrix_icon *next_fighting; matrix_icon(): name(NULL), long_desc(NULL), look_desc(NULL), idnum(0), number(0), condition(10), initiative(0), parry(0), evasion(0), position(0), decker(NULL), fighting(NULL), next(NULL), next_in_host(NULL), next_fighting(NULL) {} }; extern bool has_spotted(struct matrix_icon *icons, struct matrix_icon *targ);