/*************************************************************************** * file: handler.h , Handler module. Part of DIKUMUD * * Usage: Various routines for moving about objects/players * * Copyright (C) 1990, 1991 - see 'license.doc' for complete information. * * * * Copyright (C) 1992, 1993 Michael Chastain, Michael Quan, Mitchell Tse * * Performance optimization and bug fixes by MERC Industries. * * You can use our stuff in any way you like whatsoever so long as this * * copyright notice remains intact. If you like it please drop a line * * to mec@garnet.berkeley.edu. * * * * This is free software and you are benefitting. We hope that you * * share your changes too. What goes around, comes around. * ***************************************************************************/ /* 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, bool pull); /* 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