
QueryPrayRoom()
***************


FUNKTION
========

   public string QueryPrayRoom()


DEFINIERT IN
============

   /std/player/base.c


ARGUMENTE
=========

   keine


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

   Dies ist der Raum, in den der Spieler nach dem Ende der Todessequenz
   bewegt wird, d.h. ein Raum, wo er beten kann, um einen neuen Koerper zu
   erhalten.
   Der Raum wird als String angegeben (kein Objekt).

   Jede Rasse hat einen Default fuer diese Funktion, welcher mit
   SetDefaultPrayRoom() gesetzt wird. Dieser Default kann mit der Property
   P_PRAY_ROOM ueberlagert werden. Wird die Property auf 0 dgesetzt, wird
   dieser Default aktiv.


RUeCKGABEWERT
=============

   Der Objektname des Betraums (string)


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

   P_PRAY_ROOM
   SetDefaultPrayRoom

21.05.2013, Zesstra
