/* ************************************************************************ * file: handler.h , Handler module. Part of DIKUMUD * * Usage: Various routines for moving about objects/players * ************************************************************************* */ /* handling the affected-structures */ void affect_total (struct char_data *ch); void affect_modify (struct char_data *ch, byte loc, byte mod, long bitv, bool add); void affect_to_char (struct char_data *ch, struct affected_type *af); void affect_remove (struct char_data *ch, struct affected_type *af); void affect_from_char (struct char_data *ch, byte skill); bool affected_by_spell (struct char_data *ch, byte skill); void affect_join (struct char_data *ch, struct affected_type *af, bool avg_dur, bool avg_mod); /* utility */ struct obj_data *create_money (int amount); int isname (char *str, char *namelist); char *fname (char *namelist); /* ******** objects *********** */ void obj_to_char (struct obj_data *object, struct char_data *ch); void obj_from_char (struct obj_data *object); void equip_char (struct char_data *ch, struct obj_data *obj, int pos); struct obj_data *unequip_char (struct char_data *ch, int pos); struct obj_data *get_obj_in_list (char *name, struct obj_data *list); struct obj_data *get_obj_in_list_num (int num, struct obj_data *list); struct obj_data *get_obj (char *name); struct obj_data *get_obj_num (int nr); void obj_to_room (struct obj_data *object, int room); void obj_from_room (struct obj_data *object); void obj_to_obj (struct obj_data *obj, struct obj_data *obj_to); void obj_from_obj (struct obj_data *obj); void object_list_new_owner (struct obj_data *list, struct char_data *ch); void extract_obj (struct obj_data *obj); /* ******* characters ********* */ struct char_data *get_char_room (char *name, int room); struct char_data *get_char_num (int nr); struct char_data *get_char (char *name); void char_from_room (struct char_data *ch); void char_to_room (struct char_data *ch, int room); /* find if character can see */ struct char_data *get_char_room_vis (struct char_data *ch, char *name); struct char_data *get_char_vis (struct char_data *ch, char *name); struct obj_data *get_obj_in_list_vis (struct char_data *ch, char *name, struct obj_data *list); struct obj_data *get_obj_vis (struct char_data *ch, char *name); void extract_char (struct char_data *ch); /* Generic Find */ int generic_find (char *arg, int bitvector, struct char_data *ch, struct char_data **tar_ch, struct obj_data **tar_obj); #define FIND_CHAR_ROOM 1 #define FIND_CHAR_WORLD 2 #define FIND_OBJ_INV 4 #define FIND_OBJ_ROOM 8 #define FIND_OBJ_WORLD 16 #define FIND_OBJ_EQUIP 32