/* externs.h */ /* Patched 12/1/90 by Michael Stanley (jstanley@uafhp.uark.edu) to */ /* add @search command. details in file game.c */ /* * Patched 1/3/91 by Stan Lim aka Jin (stanl@zimmer.csufresno.edu) to add * do_hide and do_unhide. */ #include "copyright.h" /* Prototypes for externs not defined elsewhere */ #include "db.h" #include "attrib.h" /* attrib.c */ extern ATTR *atr_str(char *s); extern struct boolatr *alloc_atr(char *name, char *s); extern void atr_clr(dbref thing, char *atr); extern ALIST *AL_MAKE(char *type, ALIST *next, char *string, dbref owner, dbref flags); extern void atr_new_add(dbref thing, char *atr, char *s, dbref player, dbref flags); extern int atr_add(dbref thing, char *atr, char *s, dbref player, dbref flags); extern ATTR *atr_get(dbref thing, char *atr); extern void free_attrib(ATTR *thisattr); extern void atr_free(dbref thing); extern void atr_collect(dbref thing); extern void atr_cpy(dbref dest, dbref source); extern char *convert_atr(dbref oldatr); extern ATTR *atr_match(char *string); extern int atr_comm_match(dbref thing, dbref player, int type, int end, char *str); extern void do_atrlock(dbref player, const char *arg1, const char *arg2); extern void do_atrchown(dbref player, const char *arg1, const char *arg2); extern ATTR *atr_complete_match(dbref player, char *atr, dbref privs); /* boolexp.c */ extern int eval_boolexp(dbref player, struct boolexp *b, dbref privs, int nrecurs, int locktype); extern struct boolexp *parse_boolexp(dbref player, const char *buf); /* compress.c */ extern const char *compress(const char *s); extern const char *uncompress(const char *s); extern char *safe_uncompress(const char *s); /* cque.c */ extern void parse_que(dbref player, char *command, dbref cause); extern void do_second(void); extern int test_top(void); extern int do_top(void); extern void do_queue(dbref player, const char *what); extern void do_halt(dbref player, char *ncom); extern void do_halt1(dbref player, const char *arg1, const char *arg2); extern void do_allhalt(dbref player); extern void wait_que (dbref player, int wait, char *command, dbref cause); /* create.c */ extern void do_open(dbref player, const char *direction, char *links[]); extern void do_link(dbref player, const char *name, const char *room_name); extern void do_dig(dbref player, const char *name, char *argv[]); extern void do_create(dbref player, char *name, int cost); extern void do_clone(dbref player, char *name); /* game.c */ extern int unsafe; extern dbref speaker; extern void do_dump(dbref player); extern void report(void); extern void dest_info(dbref thing, dbref tt); extern void notify(dbref player, const char *msg); extern void do_shutdown(dbref player); extern void panic(const char *message); extern void dump_database(void); extern void fork_and_dump(void); extern int init_game(const char *infile, const char *outfile); extern void process_command(dbref player, char *command, dbref cause); extern int Hearer(dbref thing); extern int Commer(dbref thing); extern int Listener(dbref thing); /* help.c */ extern void spit_file(dbref player, const char *filename); extern void do_news(dbref player, char *arg1); extern void do_help(dbref player, char *arg1); /* look.c */ extern void look_room(dbref player, dbref loc, int remote); extern void do_look_around(dbref player); extern void do_look_at(dbref player, const char *name); extern void do_examine(dbref player, const char *name, int brief); extern void do_score(dbref player); extern void do_inventory(dbref player); extern void do_find(dbref player, const char *name); extern void do_sweep(dbref player, const char *arg1); extern void do_whereis(dbref player, const char *name); extern void do_entrances(dbref player, const char *where); extern void do_decompile(dbref player, const char *name); /* mail.c */ #ifdef USE_MAILER extern struct mail *mdb; extern mdbref mdb_top; extern void do_mail(dbref player, char *list, char *obj); extern void send_mail(dbref player, dbref to, char *msg); extern mdbref search_mail(dbref player, mdbref number); extern void check_mail(dbref player, int mode); extern void clear_mail(dbref player, char *list); extern void dump_mail(FILE *f); extern void load_mail(FILE *f); extern void mail_init(void); #endif /* move.c */ extern void moveto(dbref what, dbref where); extern void moveit(dbref what, dbref where); extern void enter_room(dbref player, dbref loc); extern void safe_tel(dbref player, dbref dest); extern int can_move(dbref player, const char *direction); extern void do_move(dbref player, const char *direction, int type); extern void do_get(dbref player, const char *what); extern void do_drop(dbref player, const char *name); extern void do_enter(dbref player, const char *what); extern void do_leave(dbref player); #ifdef DO_GLOBALS extern int global_exit(dbref player, const char *direction); #endif /* player.c */ extern dbref connect_player(const char *name, const char *password); extern dbref create_player(const char *name, const char *password); extern void do_password(dbref player, const char *old, const char *newobj); /* player_list.c */ extern void clear_players(void); extern void add_player(dbref player); extern dbref lookup_player(const char *name); extern void delete_player(dbref player); /* predicates.c */ extern char *tprintf(char *fmt, ...); extern int can_link_to(dbref who, dbref where); extern int could_doit(dbref player, dbref thing); extern void did_it(dbref player, dbref thing, char *what, char *def, char *owhat, char *odef, char *awhat, dbref loc); extern int can_see(dbref player, dbref thing, int can_see_loc); extern int controls(dbref who, dbref what); extern int can_link(dbref who, dbref what); extern int can_pay_fees(dbref who, int pennies); extern void giveto(dbref who, dbref pennies); extern int payfor(dbref who, int cost); extern int ok_name(const char *name); extern int ok_player_name(const char *name); extern int ok_password(const char *password); extern char *pronoun_substitute(dbref player, const char *str, dbref privs); extern void do_switch(dbref player, char *exp, char *argv[], dbref cause); extern dbref is_possess(dbref player, char *arg1); extern void page_return(dbref player, dbref target, char *type, char *message, char *def); extern int nearby(dbref obj1, dbref obj2); extern int find_flag(char *p, dbref thing); #ifdef QUOTA extern void add_quota (dbref who, int payment); extern int pay_quota (dbref who, int cost); #endif /* rob.c */ extern void do_rob(dbref player, const char *what); extern void do_kill(dbref player, const char *what, int cost, int slay); extern void do_give(dbref player, char *recipient, char *amnt); /* set.c */ extern void do_name(dbref player, const char *name, char *newname); extern void do_lock(dbref player, const char *name, const char *keyname, int locktype); extern void do_unlock(dbref player, const char *name, int locktype); extern void do_unlink(dbref player, const char *name); extern void do_chown(dbref player, const char *name, const char *newobj); extern void do_chzone(dbref player, const char *name, const char *newobj); extern void do_set(dbref player, const char *name, char *flag); extern int test_set(dbref player, char *command, char *arg1, char *arg2); extern void do_gedit(dbref player, char *it, char *argv[]); extern void do_edit(dbref player, char *it, char *argv[]); extern void do_trigger(dbref player, char *object, char *argv[]); extern void do_use(dbref player, const char *what); /* speech.c */ extern const char *reconstruct_message(const char *arg1, const char *arg2); extern void do_say(dbref player, const char *arg1, const char *arg2); extern void do_oemit(dbref player, const char *arg1, const char *arg2); extern void do_whisper(dbref player, const char *arg1, const char *arg2); extern void do_pemit(dbref player, const char *arg1, const char *arg2); extern void do_pose(dbref player, const char *arg1, const char *arg2, int space); extern void do_wall(dbref player, const char *arg1, const char *arg2, int key); extern void do_wizwall(dbref player, const char *arg1, const char *arg2, int privs, int key); extern void do_gripe(dbref player, const char *arg1, const char *arg2); extern void do_page(dbref player, const char *arg1, const char *arg2); extern void notify_except(dbref first, dbref exception, const char *msg); extern void notify_except2(dbref first, dbref exc1, dbref exc2, const char *msg); extern void do_emit(dbref player, const char *arg1, const char *arg2); extern void do_remit(dbref player, const char *arg1, const char *arg2); extern void do_lemit(dbref player, const char *arg1, const char *arg2); extern void do_zemit(dbref player, const char *arg1, const char *arg2); /* stringutil.c */ extern int string_compare(const char *s1, const char *s2); extern int string_prefix(const char *string, const char *prefix); extern const char *string_match(const char *src, const char *sub); extern char *strupper(const char *s); /* utils.c */ extern dbref find_entrance(dbref door); extern dbref remove_first(dbref first, dbref what); extern int member(dbref thing, dbref list); extern int recursive_member(dbref disallow, dbref from, int count); extern dbref reverse(dbref list); extern struct dblist *listcreate(dbref ref); extern void listadd(struct dblist *head, dbref ref); extern void listfree(struct dblist *head); extern int getrandom(int x); /* wiz.c */ extern void do_search(dbref player, const char *arg1, const char *arg3); extern void do_teleport(dbref player, const char *arg1, const char *arg2); extern void do_force(dbref player, const char *what, char *command); extern int try_force(dbref player, const char *command); extern void do_stats(dbref player, const char *name); extern void do_toad(dbref player, const char *name); extern void do_newpassword(dbref player, const char *name, const char *password); extern void do_boot(dbref player, const char *name); extern void do_chownall(dbref player, const char *name, const char *target); extern void do_chzoneall(dbref player, const char *name, const char *target); extern void do_motd(dbref player, int key, const char *arg1, const char *arg2); extern void do_login(dbref player, const char *state); extern void fun_lsearch(char *buff, char *args[10], dbref privs, dbref dumm1); #ifdef WCREAT extern void do_pcreate (dbref creator, const char *player_name, const char *player_password); #endif #ifdef QUOTA extern void do_quota (dbref player, char *arg1, char *arg2); extern void do_allquota (dbref player, char *arg1); #endif /* wild.c */ extern char *wptr[10]; extern int wild(char *s, char *d, int p, int os); extern int wild_match(char *s, char *d); /* eval.c */ extern void exec(char **str, char *buff, dbref privs, dbref doer, int coma); extern char *parse_up(char **str, int delimit); /* unparse.c */ extern const char *unparse_flags(dbref thing); extern const char *unparse_object(dbref player, dbref loc); extern const char *unparse_boolexp(dbref player, struct boolexp *b, int flag); /* destroy.c */ extern void do_destroy(dbref player, char *name, int confirm); extern void free_object(dbref obj); extern dbref free_get(void); extern void fix_free_list(void); extern void do_dbck(dbref player); /* timer.c */ extern void init_timer(void); extern void dispatch(void);