/* ************************************************************************ * 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 effectData_total(charData_t *ch); void effectData_modify(charData_t *ch, byte loc, sbyte mod, bitvector_t bitv, bool add); void effectData_toChar(charData_t *ch, effectData_t *af); void effectData_remove(charData_t *ch, effectData_t *af); void effectData_fromChar(charData_t *ch, int type); bool affected_by_spell(charData_t *ch, int type); void effectData_join(charData_t *ch, effectData_t *af, bool add_dur, bool avg_dur, bool add_mod, bool avg_mod); /* utility */ const char *money_desc(int amount); itemData_t *create_money(int amount); bool isfullname(const char *str, const char *namelist); bool isname(const char *str, const char *namelist); char *fname(const char *namelist); int get_number(char **name); /* ******** objects *********** */ void itemData_toChar(itemData_t *object, charData_t *ch); void itemData_fromChar(itemData_t *object); bool invalid_align(charData_t *ch, itemData_t *obj); void itemData_toRoom(itemData_t *object, roomData_t *room); void itemData_fromRoom(itemData_t *object); void itemData_toItem(itemData_t *obj, itemData_t *obj_to); void itemData_fromItem(itemData_t *obj); void object_list_new_owner(itemData_t *list, charData_t *ch); void itemData_extract(itemData_t *obj); /* ******* characters ********* */ charData_t *get_char_room(char *name, int *num, roomData_t *room); charData_t *get_char_num(mobileVnum_t nr); /* find if character can see */ charData_t *get_player_vis(charData_t *ch, char *name, int *number, int inroom); charData_t *get_char_vis(charData_t *ch, char *name, int *number, int where); charData_t *get_char_room_vis(charData_t *ch, char *name, int *number); charData_t *get_char_world_vis(charData_t *ch, char *name, int *number); itemData_t *get_item_in_list_vis(charData_t *ch, char *name, int *number, itemData_t *list); itemData_t *get_item_vis(charData_t *ch, char *name, int *num); itemData_t *get_item_in_equip_vis(charData_t *ch, char *arg, int *number, itemData_t *equipment[]); int get_item_pos_in_equip_vis(charData_t *ch, char *arg, int *num, itemData_t *equipment[]); /* 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, bitvector_t bitvector, charData_t *ch, charData_t **tar_ch, itemData_t **tar_obj); #define FIND_CHAR_ROOM BIT_00 #define FIND_CHAR_WORLD BIT_01 #define FIND_ITEM_INV BIT_02 #define FIND_ITEM_ROOM BIT_03 #define FIND_ITEM_WORLD BIT_04 #define FIND_ITEM_EQUIP BIT_05 /* prototypes from crash save system */ int Crash_delete_file(char *name); int Crash_delete_crashfile(charData_t *ch); int Crash_clean_file(char *name); void Crash_listrent(charData_t *ch, char *name); int Crash_load(charData_t *ch); void Crash_crashsave(charData_t *ch); void Crash_idlesave(charData_t *ch); void Crash_save_all(void); /* prototypes from fight.c */ void charData_setFighting(charData_t *ch, charData_t *victim); void charData_stopFighting(charData_t *ch); void hit(charData_t *ch, charData_t *victim, int type); void forget(charData_t *ch, charData_t *victim); void remember(charData_t *ch, charData_t *victim); int damage(charData_t *ch, charData_t *victim, int dam, int attacktype); int skill_message(int dam, charData_t *ch, charData_t *vict, int attacktype); #endif /* __HANDLER_H__ */