Usage of present.

Format of the present instruction:

[<obj_var>]=present(<expr>,<obj_expr>);

Present calls the function id(str) (with str equal to the name of the object
if <expr> is an object, or the <expr> itself if it is a string) in all objects
that are inside <obj_expr>. When one of the id's returns something else than 
zero, <obj_var> becomes that object. This way one can check if an object is 
present in a player. Objects in bags ect. are NOT checked by present. Due to 
the fact that present uses id(str), there should NEVER be a present 
instruction in the id.

The most common usage of present is checking if the object is in possession
of the player when a command gets executed. For example:

taste_it() {
  if(!present(this_object(),this_player())) return;
  ...

It can also be used to change the long(str) function depending on something
present in the player, for example:

long(str) {
  write("This is a beautiful long bow.\n");
  if(!present("arrow",this_player())) {
    write("Maybe you should find an arrow for this bow!\n");
  }
}

Or, when using an inheritance:

long(str) {
  ::long(str); /* Call the long in the inheritance */
  if(!present("arrow",this_player())) {
    write("Maybe you should find an arrow for this bow!\n");
  }
}


