 
   Virtual Room Functions:
 
   NOTE:  Private type of functions are not presented here. Functions with
	  type specifier static can only be called inside this object, not
	  from outside (ob->fun() does not work).
 
   nomask status query_virtual_room()
 
	- Returns 1. This function is used to detect virtual room.
 
   nomask mixed query_coordinates()
 
	- Returns array of coordinates ({x, y}). Coordinates present
	  the placement of the room on the map.
 
   nomask static void reset_objects(int st)
 
	- st == 1 when objects will be parsed from the object list that
	  was by the virtual server. st == 0 when we want to use parsed 
	  array (result of st == 1) directly. Function loads objects and 
	  sends them to the room. This function is called by the room every
	  reset. Only destructed objects are cloned.
 
   nomask static void reset_random_objects()
 
	- Reset random objects for the room set with set_random_objects or
	  add_random_object. This function is only called in the creation
	  of this room. Objects are cloned and sent to the room.
 
   nomask static void create_room()
 
	- Start creation of this room. Get vital values from the virtual
	  server like coordinates, object list and home directories.
	  also call coder's create_virtual function and reset objects and
	  random objects.
 
   nomask static void reset_room()
 
	- Reset room. Load objects, call coder's reset_virtual function and
	  check if this room is empty. If empty then destruct this room 
	  because it's not needed.
 
   nomask status set_random_objects(string *objec)
 
	- Argument objec is array of strings where each string is type of:
 
	  <num>:<chance%>:<filename>:<function>:<arg>
 
	  Example: "5:10:/players/tron/obj"
 
	  This means that amount of 'num' objects are loaded from 'filename'
	  with 'chance%' and from each object 'function' is called with
	  'arg'. The last two arguments are optional.
 
	  Random objects are loaded only when room is created, not in
	  resets. 1 is returned if success, 0 for failure.
 
   nomask status add_random_object(string objec)
 
	- Adds one random object where argument objec is same type as in
	  set_random_objects index type. 1 for success, 0 for failure.
 
   nomask void set_virtual_exits(mapping dir)
 
	- Set virtual exits. Argument dir is a mapping of directions
	  and relative coordinate shifts. Dir is type of:
 
	  ([ direction:({x, y}), ... ])
 
	  Example: ([ "south":({0, 1}), "east":({1, 0}) ])
 
   nomask void add_virtual_exit(string dir, int x, int y)
 
	- Add one exit. Argument dir is direction, x and y are relative
	  coordinate shifts.
 
   nomask status set_random_desc(string *descs)
 
	- Set random description for the room. Argument descs is array of
	  string from which the function randomly gets one and places it
	  as a long description. Returns 1 for success, 0 for failure.
 
   nomask status set_hb(int i)
 
	- Enable/disable heart_beat for the terrain type. Argument i can
	  have values 0, 1 and 2. Argument 0 means that heart_beat is now
	  disabled, 1 means heart_beat is enabled when player is in the room
	  and 2 means that heart_beat is enabled if any living object is in
	  room. Once these conditions are not fulfilled anymore in
	  heart_beat, it will be stopped in that room but will be started
	  once conditions are fulfilled again. Returns 1 for success, 0
	  for failure.
 
   nomask varargs status set_effects(string *effects, int chance)
 
	- Set effects for the terrains type. Argument effects is an array
	  of strings and chance is chance per centage for effect to occur.
	  Effect messages are echoed in the room in random order. Effects
	  need heart_beat set on with set_hb function. Returns 1 for
	  success, 0 for failure. 
 
   nomask varargs status set_moving_command(string cmd, string out, string in)
 
	- Set movement command instead of north, south, east etc. Also set
	  moving messages. For example you could set
 
	  set_moving_command("run", "runs", "arrives running");
 
	  and now player can move with 'run north', 'run south' etc. Moving
	  messages are changed too: 'runs' instead of 'leaves', 'arrives
	  running' instead of 'arrives'. If argument out or in has value
	  zero then the old messages remain. Returns 1 for success, 0 for
	  failure.
 
	  NOTE: Monsters can still move with normal directions!!! But their
	        moving messages are changed.
 
   nomask static status set_beat_function(string fun)
 
	- Set function called from heart_beat. Argument fun is the function
	  name that will be called from heart_beat (every heart_beat).
	  set_hb must be called before beat function works. Returns 1 for
	  success, 0 for failure.
 
   status id(string s)
 
	- Function is used to enable distant look. You don't need to use it.
 
   nomask status set_distant_look(status i)
 
	- Functions enables/disables distant look. With argument 1 player
	  can look in different directions ('exa east' or 'look at east').
	  Argument 0 disbles this. Player is able to see the short desc
	  of the next room and with 50% chance if there's something living
	  or other objects in the room. Returns 1 for success, 0 for
	  failure.
 
   void long(mixed n)
 
	- Get long description (written on screen). You don't need to use
	  it.
 
   nomask status move(string a)
 
	- Simulate player's movement when moving command is set, also
	  advice player to use moving command for movement if player fails
	  to move. You don't need to call this.
 
   void init()
 
	- Called when living object enters room. Start heart_beat and
	  mask moving commands. (if possible). You don't need to call this.
 
   nomask void heart_beat()
 
	- Called every heart beat. Shut down heart beat if set conditions
	  are not fulfilled, show effect messages and call beat function
	  (if possible). You don't need to call this.
 
   string query_msgout()
 
	- Player's leaving message can be get from here.
 
   string query_msgin()
 
	- Player's arriving message can be get from here.
