/* ************************************************************************ * Copyright (C) 1990, 1991 - see 'license.doc' for complete information. * ************************************************************************* */ Description of module 'handler.c'. *** Note: All the routines that takes something away from something assumes that something is actually in/carried by something! void char_from_room(struct char_data *ch) Removes ch from whatever room he's in. void char_to_room(struct char_data *ch, int room) Places ch in room. void object_to_char(struct obj_data *object, struct char_data *ch) Gives object to ch. void object_from_char(struct obj_data *object) Takes object away from The character who is carrying it. struct obj_data *find_object_in_list(char *name, struct obj_data *list) This procedure assumes that list points to the head of a content-list of objects. It then tries to locate the object with a given name within that list. If succesful, the function returns a pointer to that object; if not, it returns a null pointer. struct obj_data *find_obj(char *name) This function searches the 'global' list of objects (pointed to by 'object_list') for an object with a given name. It then returns either a null pointer or a pointer to that object (note that in this version, it will always return the first occurence of an object with a given name). struct char_data *get_char_room(char *name, int room) Searches room for character with 'name'. Returns null or pointer to that character. struct char_data *get_char(char *name) Searches the entire world for a character. Assumes that all characters are in a list pointed to by character_list (This might need changing). void object_to_room(struct obj_data *object, int room) Puts an object in a room. void object_from_room(struct obj_data *object) void object_to_object(struct obj_data *obj, *obj_to) void object_from_object(struct obj_data *obj, *obj_from) void extract_char(struct char_data *ch) Extracts a character completely from the world, and leaves his stuff in the room (might be useful.. might not..). **** Higher level versions of the 'find' routines. These routines work like the above versions, with the exception that they are supplied with a pointer to a character as well as a keyword to look for. they then return nil if they fail to locate the object/character OR if the character 'using' the routine can't see the searched-for object/character. 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 *find_object_in_list_vis(struct char_data *ch, char *name, struct obj_data *list) /*search the entire world for an object, and return a pointer */ struct obj_data *find_obj_vis(struct char_data *ch, char *name)