/* ************************************************************************ * File: handler.h Part of CircleMUD * * Usage: header file: prototypes of handling and utility functions * * * * All rights reserved. See license.doc for complete information. * * * * Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University * * CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991. * ************************************************************************ */ #ifndef _handler_h_ #define _handler_h_ /* handling the affected-structures */ void affect_total_veh(struct veh_data *veh); void affect_total(struct char_data *ch); void affect_modify(struct char_data *ch, byte loc, sbyte mod, const Bitfield &bitv, bool add ); bool affected_by_spell(struct char_data *ch, int type); bool affected_by_power(struct char_data *ch, int type); void affect_veh(struct veh_data *veh, byte loc, sbyte mod); void spell_modify(struct char_data *ch, struct sustain_data *sust, bool add); /* utility */ int isname(char *str, char *namelist); char *fname(char *namelist); int get_number(char **name); int from_ip_zone(int vnum); struct remem *found_mem(struct remem *mem, struct char_data *ch); int recog(struct char_data *ch, struct char_data *i, char *name); void phone_check(); int find_skill_num(char *name); /* ******** 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, bool focus); 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_veh(struct obj_data *object, struct veh_data *veh); void obj_to_room(struct obj_data *object, long 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 obj_from_cyberware(struct obj_data *cyber); void obj_from_bioware(struct obj_data *bio); void obj_to_cyberware(struct obj_data *object, struct char_data *ch); void obj_to_bioware(struct obj_data *object, struct char_data *ch); void extract_obj(struct obj_data *obj); void extract_veh(struct veh_data *veh); void extract_icon(struct matrix_icon *icon); /* ******* characters ********* */ struct char_data *get_char_room(char *name, long room); struct char_data *get_char_in_list_vis(struct char_data *ch, char *name, struct char_data *list); 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, long room); void extract_char(struct char_data *ch); void char_to_veh(struct veh_data *veh, struct char_data *ch); void veh_from_room(struct veh_data *veh); void veh_to_room(struct veh_data *veh, long room); void veh_to_veh(struct veh_data *veh, struct veh_data *dest); int veh_skill(struct char_data *ch, struct veh_data *veh); void icon_from_host(struct matrix_icon *icon); void icon_to_host(struct matrix_icon *icon, vnum_t to_host); /* find if character can see */ struct char_data *get_char_room_vis(struct char_data *ch, char *name); struct char_data *get_player_vis(struct char_data *ch, char *name, int inroom); struct char_data *get_char_vis(struct char_data *ch, char *name); struct char_data *get_char_veh(struct char_data *ch, char *name, struct veh_data *veh); 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); struct obj_data *get_object_in_equip_vis(struct char_data *ch, char *arg, struct obj_data *equipment[], int *j); struct veh_data *get_veh_list(char *name, struct veh_data *list, struct char_data *ch); /* find all dots */ int find_all_dots(char *arg); #define FIND_INDIV 0 #define FIND_ALL 1 #define FIND_ALLDOT 2 /* 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 /* prototypes from fight.c */ void set_fighting(struct char_data *ch, struct char_data *victim, ...); void set_fighting(struct char_data *ch, struct veh_data *victim); void stop_fighting(struct char_data *ch); void stop_follower(struct char_data *ch); void hit(struct char_data *ch, struct char_data *victim, struct obj_data *weapon, struct obj_data *vweapon); void forget(struct char_data *ch, struct char_data *victim); void remember(struct char_data *ch, struct char_data *victim); bool damage(struct char_data *ch, struct char_data *victim, int dam, int attacktype, bool is_physical); bool skill_message(int dam, struct char_data *ch, struct char_data *vict, int attacktype); void vcombat(struct char_data *ch, struct veh_data *veh); void vram(struct veh_data *veh, struct char_data *ch, struct veh_data *tveh); void process_vcombat(struct veh_data *veh); void chkdmg(struct veh_data * veh); void disp_mod(struct veh_data *veh, struct char_data *ch, int i); void stop_chase(struct veh_data *veh); bool has_kit(struct char_data *ch, int type); struct obj_data *find_workshop(struct char_data *ch, int type); #endif