DiscoverDoor()
**************


FUNKTION
========

   varargs int DiscoverDoor(string dname)


ARGUMENTE
=========

   dname: Name des Raumes, in dem der Seher das Sehertor kennenlernen soll.
          Default: Die Umgebung des Sehers.


BESCHREIBUNG
============

   Nachdem diese Funktion aufgerufen wurde, kann der Seher (this_player())
   das Tor in dem angegebenen Raum immer verwenden.


RUECKGABEWERT
=============

   1, falls der Seher ein NEUES Tor kennengelernt hat
   0, falls er das Tor schon kannte oder kein Seher war


BEMERKUNGEN
===========

   Von einem Sehertor wird diese Funktion automatisch beim Betreten des
   umgebenden Raumes aufgerufen, falls P_SEERDOOR_DISCOVER gesetzt ist. Wenn
   ein Tor auf diese Art nicht entdeckt werden soll, so darf
   P_SEERDOOR_DISCOVER nicht gesetzt sein und muss DiscoverDoor() separat,
   z.B. von einem Questobjekt, aufgerufen werden.
   Diese Funktion wird von /d/seher/portale/sehertormaster definiert.


BEISPIELE
=========

   write("Der Zauberer sagt: Im Nichts wirst Du ein weiteres Tor finden!\n");
   "/d/seher/portale/sehertormaster"->DiscoverDoor("/room/void");


SIEHE AUCH
==========

   DoorIsKnown, ShowDoors, Teleport, GetDoorsMapping
