How the player is moved.
========================

The room defines movement commands. When the player enters such a command,
the room will call the function player_ob->move_player(dest), where
'dest' is the name of the file defining the room where the player is
to be moved. It will check if the player is visible or not, and
present a message describing the room he enters.

In the case of using the standard object /complex/room.c and inherit from it,
there are some ways it has to be used. It is initialized by two functions.
set_exits(string *exit_list, string *command_list).
The 'command_list' is an array of strings, defining the commands that will
move the player.
The 'exit_list' is a corresponding array of strings, defining the rooms
where to move the player if a command is given.

There is (in room.c) a function set_move_hooks(string *hooks),
that can be used to define special tests before moving the player.
This array of strings corresponds to the array of commands. If command
number 2 is given and set_move_hooks() has been done, then
a call of function defined by string number 2 is done, to verify that
the player may move. If non-zero is returned, the player may not move,
and will silently remain.

There is in move_player() a second optional argument, which is the message
to display to other players when a player moves.
