/ circle3.1 / src / handler.h
handler.h
  1  /* ************************************************************************
  2  *   File: handler.h                                     Part of CircleMUD *
  3  *  Usage: header file: prototypes of handling and utility functions       *
  4  *                                                                         *
  5  *  All rights reserved.  See license.doc for complete information.        *
  6  *                                                                         *
  7  *  Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University *
  8  *  CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991.               *
  9  ************************************************************************ */
 10  
 11  /* handling the affected-structures */
 12  void	affect_total(struct char_data *ch);
 13  void	affect_modify(struct char_data *ch, byte loc, sbyte mod, bitvector_t bitv, bool add);
 14  void	affect_to_char(struct char_data *ch, struct affected_type *af);
 15  void	affect_remove(struct char_data *ch, struct affected_type *af);
 16  void	affect_from_char(struct char_data *ch, int type);
 17  bool	affected_by_spell(struct char_data *ch, int type);
 18  void	affect_join(struct char_data *ch, struct affected_type *af,
 19  bool add_dur, bool avg_dur, bool add_mod, bool avg_mod);
 20  
 21  
 22  /* utility */
 23  const char *money_desc(int amount);
 24  struct obj_data *create_money(int amount);
 25  int	isname(const char *str, const char *namelist);
 26  char	*fname(const char *namelist);
 27  int	get_number(char **name);
 28  
 29  /* ******** objects *********** */
 30  
 31  void	obj_to_char(struct obj_data *object, struct char_data *ch);
 32  void	obj_from_char(struct obj_data *object);
 33  
 34  void	equip_char(struct char_data *ch, struct obj_data *obj, int pos);
 35  struct obj_data *unequip_char(struct char_data *ch, int pos);
 36  int	invalid_align(struct char_data *ch, struct obj_data *obj);
 37  
 38  void	obj_to_room(struct obj_data *object, room_rnum room);
 39  void	obj_from_room(struct obj_data *object);
 40  void	obj_to_obj(struct obj_data *obj, struct obj_data *obj_to);
 41  void	obj_from_obj(struct obj_data *obj);
 42  void	object_list_new_owner(struct obj_data *list, struct char_data *ch);
 43  
 44  void	extract_obj(struct obj_data *obj);
 45  
 46  /* ******* characters ********* */
 47  
 48  struct char_data *get_char_room(char *name, int *num, room_rnum room);
 49  struct char_data *get_char_num(mob_rnum nr);
 50  
 51  void	char_from_room(struct char_data *ch);
 52  void	char_to_room(struct char_data *ch, room_rnum room);
 53  void	extract_char(struct char_data *ch);
 54  void	extract_char_final(struct char_data *ch);
 55  void	extract_pending_chars(void);
 56  
 57  /* find if character can see */
 58  struct char_data *get_player_vis(struct char_data *ch, char *name, int *number, int inroom);
 59  struct char_data *get_char_vis(struct char_data *ch, char *name, int *number, int where);
 60  struct char_data *get_char_room_vis(struct char_data *ch, char *name, int *number);
 61  struct char_data *get_char_world_vis(struct char_data *ch, char *name, int *number);
 62  
 63  struct obj_data *get_obj_in_list_num(int num, struct obj_data *list);
 64  struct obj_data *get_obj_num(obj_rnum nr);
 65  struct obj_data *get_obj_in_list_vis(struct char_data *ch, char *name, int *number, struct obj_data *list);
 66  struct obj_data *get_obj_vis(struct char_data *ch, char *name, int *num);
 67  struct obj_data *get_obj_in_equip_vis(struct char_data *ch, char *arg, int *number, struct obj_data *equipment[]);
 68  int              get_obj_pos_in_equip_vis(struct char_data *ch, char *arg, int *num, struct obj_data *equipment[]);
 69  
 70  
 71  /* find all dots */
 72  
 73  int	find_all_dots(char *arg);
 74  
 75  #define FIND_INDIV	0
 76  #define FIND_ALL	1
 77  #define FIND_ALLDOT	2
 78  
 79  
 80  /* Generic Find */
 81  
 82  int	generic_find(char *arg, bitvector_t bitvector, struct char_data *ch,
 83  		struct char_data **tar_ch, struct obj_data **tar_obj);
 84  
 85  #define FIND_CHAR_ROOM     (1 << 0)
 86  #define FIND_CHAR_WORLD    (1 << 1)
 87  #define FIND_OBJ_INV       (1 << 2)
 88  #define FIND_OBJ_ROOM      (1 << 3)
 89  #define FIND_OBJ_WORLD     (1 << 4)
 90  #define FIND_OBJ_EQUIP     (1 << 5)
 91  
 92  
 93  /* prototypes from crash save system */
 94  
 95  int	Crash_delete_file(char *name);
 96  int	Crash_delete_crashfile(struct char_data *ch);
 97  int	Crash_clean_file(char *name);
 98  void	Crash_listrent(struct char_data *ch, char *name);
 99  int	Crash_load(struct char_data *ch);
100  void	Crash_crashsave(struct char_data *ch);
101  void	Crash_idlesave(struct char_data *ch);
102  void	Crash_save_all(void);
103  
104  /* prototypes from fight.c */
105  void	set_fighting(struct char_data *ch, struct char_data *victim);
106  void	stop_fighting(struct char_data *ch);
107  void	hit(struct char_data *ch, struct char_data *victim, int type);
108  void	forget(struct char_data *ch, struct char_data *victim);
109  void	remember(struct char_data *ch, struct char_data *victim);
110  int	damage(struct char_data *ch, struct char_data *victim, int dam, int attacktype);
111  int	skill_message(int dam, struct char_data *ch, struct char_data *vict,
112  		      int attacktype);