wmud/old-codebase/doc/OLD-DOCS/handler.doc

80 lines
2.8 KiB
Plaintext

/* ************************************************************************
* 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)