/* match.h */ #include "copyright.h" #include "db.h" /* match constants */ #ifdef DO_GLOBALS #define NORMAL_MATCH 0 #define GLOBAL_MATCH 1 #define REMOTE_MATCH 2 #endif /* match functions */ /* Usage: init_match(player, name, type); match_this(); match_that(); ... */ /* Then get value from match_result() */ /* initialize matcher */ extern void init_match(dbref player, const char *name, int type); extern void init_match_check_keys(dbref player, const char *name, int type); /* match (LOOKUP_TOKEN)player */ extern void match_player(void); /* match (NUMBER_TOKEN)number */ extern void match_absolute(void); /* match "me" */ extern void match_me(void); /* match "here" */ extern void match_here(void); /* match the name of the player's container */ extern void match_container(void); /* match something player is carrying */ extern void match_possession(void); /* match something in the same room as player */ extern void match_neighbor(void); /* match an exit from player's room */ extern void match_exit(void); /* all of the above, except only Wizards do match_absolute and match_player */ #ifdef DO_GLOBALS /* master room match */ extern void init_match_global(dbref player, const char *name, int type); /* master room match, check keys */ extern void init_match_global_check_keys(dbref player, const char *name, int type); /* remote matching */ extern void init_match_remote(dbref location, const char *name, int type); extern void match_remote(void); extern void match_remote_contents(void); #endif extern void match_everything(void); /* wrapper for match_everything with control check */ extern dbref match_controlled(dbref player, const char *name); /* return match results */ extern dbref match_result(void); /* returns AMBIGUOUS for multiple inexacts */ extern dbref last_match_result(void); /* returns last result */ extern dbref noisy_match_result(void); /* wrapper for match_result */ extern dbref pref_match(dbref player, dbref list, const char *string);