[an error occurred while processing this directive]
[<a href="index.shtml">Package Index</a></code> | <a href="index_std.shtml">Mudlib Index</a></code> | <a href="index_eff.shtml">Effect Index</a></code>]<br><h2>File /obj/handlers/room_handler.c</h2>
This file contains all the bits needed to handle rooms, plus the code to
handle following when moving.<p><b>See also:</b><br>/std/room/basic_room.c
<br /><p>Written by Pinkfish<h2>Includes</h2>
This class includes the following files /include/room.h, /include/tasks.h, /include/living.h, /include/position.h, /include/weather.h, /include/dirs.h, /include/climate.h, /include/move_failures.h, /include/playtesters.h and /include/player.h<h2>Method index</h2>
<ul>
<li><a href="#add_chatter">add_chatter</a>(object, int)<li><a href="#add_door">add_door</a>(object)<li><a href="#add_exit_type">add_exit_type</a>(string, mixed, mixed, int, mixed)<br/>
This method adds an exit type to the current list of available exit types.
<li><a href="#check_chatters">check_chatters</a>()<li><a href="#check_door">check_door</a>(mixed)<br/>
This method checks to see if the door exists or not.
<li><a href="#check_doors">check_doors</a>()<li><a href="#do_follow">do_follow</a>(object, object, mixed, string, mixed *, mixed, mixed, object, int, int, object)<br/>
This is called by exit_move() to do the checks and so forth for each
follower.
<li><a href="#exit_move">exit_move</a>(string, string, mixed, object, object)<br/>
This is the main code for moving someone.
<li><a href="#housekeeping">housekeeping</a>()<li><a href="#move_thing">move_thing</a>(object, string, string, mixed, mixed, string)<br/>
THis is the code that actually moves the thing around the place.
<li><a href="#query_chatters">query_chatters</a>()<br/>
This method returns the current list of rooms that are enabled for
chatting.
<li><a href="#query_door_type">query_door_type</a>(string, string, string)<br/>
This method returns information about the door type, the door has
extra information associated with it than the standard exit type.
<li><a href="#query_doors">query_doors</a>()<br/>
This method returns the current list of doors handled by the room
handler.
<li><a href="#query_exit_type">query_exit_type</a>(string, string)<br/>
This method returns the information associated with the exit type.
<li><a href="#query_opposite_direction">query_opposite_direction</a>(string)<br/>
This method returns the opposite direction to this exit.
<li><a href="#remove_exit_type">remove_exit_type</a>(string)<br/>
This method remove the named exit from the type list.
</ul>
<h2>Public Functions</h2>
These are functions that everyone can access.<p>
<dl>
<dt class="autodocfuncname"><a name="add_chatter">
add_chatter</a><pre class="autodocfuncdef">
void add_chatter(object thing,
                 int number)
</pre>
<dt class="autodocfuncname"><a name="add_door">
add_door</a><pre class="autodocfuncdef">
void add_door(object thing)
</pre>
<dt class="autodocfuncname"><a name="add_exit_type">
add_exit_type</a><pre class="autodocfuncdef">
int add_exit_type(string type,
                  mixed message,
                  mixed obvious,
                  int size,
                  mixed func)
</pre><dd><br />
This method adds an exit type to the current list of available exit types.
This is used when the room handler is setup to add all the used exit
types.<br />
<br /><dl>
<dd><b>Parameters:</b><br />
type - the name of the exit type<br />
message - the message to display when going through the exit<br />
obvious - if the exit is obvious or not<br />
size - the size of the exit (used for heigh restrictions)<br />
func - the function to call when using the exit<br />
<br />
<dd><b>Returns:</b>
<br />1 if successfuly added, 0 if not<br /><br />
<dd><b>See also:</b>
<br /><a href="#remove_exit_type">remove_exit_type()
</a><br /><br /><br /></dl>

<dt class="autodocfuncname"><a name="check_chatters">
check_chatters</a><pre class="autodocfuncdef">
void check_chatters()
</pre>
<dt class="autodocfuncname"><a name="check_door">
check_door</a><pre class="autodocfuncdef">
void check_door(mixed args)
</pre><dd><br />
This method checks to see if the door exists or not.
It is passed in the room we are going from and the direction the
exit faces in the array.<br>
<pre>({ room_from, direction })</pre><br>
This is the function which generates those door xx not found messages.<br />
<br /><dl>
<dd><b>Parameters:</b><br />
args - the arguements passed into the function<br />
<br />
<dd><b>See also:</b>
<br /><a href="#query_door_type">query_door_type()
</a><br /><br /><br /></dl>

<dt class="autodocfuncname"><a name="check_doors">
check_doors</a><pre class="autodocfuncdef">
void check_doors()
</pre>
<dt class="autodocfuncname"><a name="do_follow">
do_follow</a><pre class="autodocfuncdef">
object do_follow(object follower,
                 object thing,
                 mixed special,
                 string verb,
                 mixed * dest_other,
                 mixed closed,
                 mixed func,
                 object place,
                 int skill_based,
                 int light_level,
                 object original_place)
</pre><dd><br />
This is called by exit_move() to do the checks and so forth for each
follower.
<br />

<dt class="autodocfuncname"><a name="exit_move">
exit_move</a><pre class="autodocfuncdef">
int exit_move(string verb,
              string extra,
              mixed special,
              object thing,
              object original_place)
</pre><dd><br />
This is the main code for moving someone.  The move_thing code above
should not be called directly.  This code handlers all the followers
and any other things that need to be handled.<br />
<br /><dl>
<dd><b>Parameters:</b><br />
verb - the movement verb<br />
extra - extra information<br />
special - special informaiton<br />
thing - the thing to move<br />
<br />
<dd><b>Returns:</b>
<br />1 on success, 0 on failure
<br /><br />
<br /></dl>

<dt class="autodocfuncname"><a name="housekeeping">
housekeeping</a><pre class="autodocfuncdef">
void housekeeping()
</pre>
<dt class="autodocfuncname"><a name="move_thing">
move_thing</a><pre class="autodocfuncdef">
int move_thing(object thing,
               string dir,
               string dest,
               mixed exit,
               mixed enter,
               string move)
</pre><dd><br />
THis is the code that actually moves the thing around the place.
It handles all the weirdness involved with dragging things and other
such stuff.<br />
<br /><dl>
<dd><b>Parameters:</b><br />
thing - what is being moved<br />
dir - the direction we are going<br />
dest - the destionation room<br />
exit - the exit name<br />
enter - the enter name<br />
move - the string to tell the object when it moves<br />
<br />
<dd><b>Returns:</b>
<br />1 on success, 0 on failure
<br /><br />
<br /></dl>

<dt class="autodocfuncname"><a name="query_chatters">
query_chatters</a><pre class="autodocfuncdef">
mixed * query_chatters()
</pre><dd><br />
This method returns the current list of rooms that are enabled for
chatting.<br />
<br /><dl>
<dd><b>Returns:</b>
<br />the current chatters
<br /><br />
<br /></dl>

<dt class="autodocfuncname"><a name="query_door_type">
query_door_type</a><pre class="autodocfuncdef">
mixed * query_door_type(string type,
                        string direc,
                        string dest)
</pre><dd><br />
This method returns information about the door type, the door has
extra information associated with it than the standard exit type.
This function does a double job of trying to find the corresponding
door on the other side of the room.<br />
<br /><dl>
<dd><b>Parameters:</b><br />
type - the type of the door<br />
direc - the direction the door points<br />
dest - the destination of the door<br />
<br />
<dd><b>Returns:</b>
<br />the door type array of information
<br /><br />
<br /></dl>

<dt class="autodocfuncname"><a name="query_doors">
query_doors</a><pre class="autodocfuncdef">
mixed * query_doors()
</pre><dd><br />
This method returns the current list of doors handled by the room
handler.<br />
<br /><dl>
<dd><b>Returns:</b>
<br />the current array of doors
<br /><br />
<br /></dl>

<dt class="autodocfuncname"><a name="query_exit_type">
query_exit_type</a><pre class="autodocfuncdef">
mixed * query_exit_type(string type,
                        string dir)
</pre><dd><br />
This method returns the information associated with the exit type.<br />
<br /><dl>
<dd><b>Parameters:</b><br />
type - the exit type to query<br />
dir - the direction the type information is for<br />
<br />
<dd><b>Returns:</b>
<br />a huge amount of info as specified above
<br /><br />
<br /></dl>

<dt class="autodocfuncname"><a name="query_opposite_direction">
query_opposite_direction</a><pre class="autodocfuncdef">
string query_opposite_direction(string dir)
</pre><dd><br />
This method returns the opposite direction to this exit.  This should
only be used for printing, since it is not a useful
real name.<br />
<br /><dl>
<dd><b>Parameters:</b><br />
dir - the direction to get the opposite of<br />
<br />
<dd><b>Returns:</b>
<br />the opposite direction
<br /><br />
<br /></dl>

<dt class="autodocfuncname"><a name="remove_exit_type">
remove_exit_type</a><pre class="autodocfuncdef">
int remove_exit_type(string type)
</pre><dd><br />
This method remove the named exit from the type list.<br />
<br /><dl>
<dd><b>Parameters:</b><br />
type - the name of the exit type to remove<br />
<br />
<dd><b>Returns:</b>
<br />always returns 1<br /><br />
<dd><b>See also:</b>
<br /><a href="#add_exit_type">add_exit_type()
</a><br /><br /><br /></dl>

</dl>
[an error occurred while processing this directive]

