#ifndef __OBJSYS_H__ #define __OBJSYS_H__ /*************************************************************************** ** Functions to check if object is of a special type ***************************************************************************/ Boolean ispit(register int o); Boolean ishere(int item); Boolean iscarrby(int item, int user); Boolean in_inventory(int obj, int player); Boolean is_shield(int obj); Boolean wears_shield(int pl); Boolean is_armor(int obj); Boolean wears_armor(int pl); Boolean is_mask(int obj); Boolean wears_mask(int pl); Boolean is_boat(int obj); Boolean is_raft(int obj); Boolean is_rope(int obj); Boolean carries_boat(int pl); Boolean carries_raft(int pl); Boolean has_anti_spell_obj(int plx); int has_magic_object(int plx); int carries_obj_type(int pl, int type); int wears_obj_type(int pl, int type); int has_container_obj(int pl); Boolean wearsobjfrom(int plr,const int *table); Boolean carrobjfrom(int plr,const int *table); /*************************************************************************** ** Game command functions ***************************************************************************/ A_COMMAND(givecom); A_COMMAND(stealcom); A_COMMAND(wearcom); A_COMMAND(removecom); A_COMMAND(valuecom); A_COMMAND(equipcom); A_COMMAND(putcom); A_COMMAND(eatcom); A_COMMAND(inventory); A_COMMAND(closecom); A_COMMAND(opencom); A_COMMAND(lockcom); A_COMMAND(unlockcom); A_COMMAND(wearall); A_COMMAND(dropcom); void eat(int ob); int getcom(void); /*************************************************************************** ** Functions used by game command functions ***************************************************************************/ int dogive(int ob, int pl); void mlobjsat(int x, int m); void aobjsat(int loc, int mode, int marg); void listobject(int loc, int mode); Boolean iscontin(int o1, int o2); int obj_loc(int obj); int dropobj(int obj); void dropinpit(int o); void print_inventory(int who); void drop_some_objects(int plx); /**************************************************************************** ** Find object by ... ****************************************************************************/ int fobn(char *word); int fobna(char *word); int fobnin(char *word, int ct); int fobnc(char *word); int fobncb(char *word, int by); int fobnh(char *word); int find_object_by_id(long int id); int fobn_can_take(char *word); void list_objects(int show,Boolean f); void dumpitems(void); void dumpstuff(int n, int loc); Boolean set_weapon(int plr, int wpn); /************************************************************************** ** Type declaration **************************************************************************/ typedef struct { char *class_name; /* OFLAGS class_mask; */ long int class_mask; short class_state; } CLASS_DATA; CLASS_DATA *findclass(char *n); int value_class(CLASS_DATA *cl, int plx, Boolean silent); void oplong(int x); int gotanything(int x); Boolean cancarry(int plyr); int iswornby( int ob, int plr); Boolean isavl(int ob); Boolean reset_object(int o); void setobjstate(int o, int v); void destroy(int ob); void create(int ob); void setoloc(int ob, int l, int c); Boolean ohany(int mask); Boolean p_ohany(int plr,int mask); int p_ohanyflag(int plr,int flag); Boolean ishere(int item); Boolean p_ishere(int plr,int item); int ovalue(int ob); char *xdesloc(char *b, int loc, int cf); void desloc(int loc, int cf); Boolean otstmask(int ob, int v); Boolean willhold(int x, int y); int ohereandget(void); void desrm(int loc, int cf); char *xdesrm(char *b, int loc, int cf); /**************************************************************************** ** Defines ****************************************************************************/ #define O_BVALUE_MAX 10000 #define O_SIZE_MAX 30000 #define O_VIS_MAX LVL_GOD #define O_DAM_MAX 100 #define O_ARMOR_MAX 100 #endif /* Add nothing past this line... */