
SetDoorStatus()
***************


FUNKTION
========

   void SetDoorStatus(string dest, int status);


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

   /obj/doormaster.c


ARGUMENTE
=========

   <dest>   = Zielraum der Tuer.
   <status> = Der neue Zustand der Tuer.


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

   Der Zustand der Tuer, die von diesem Raum nach <dest> fuehrt, wird auf
   <status> geaendert. Hierbei muss <status> einer der drei folgenden Werte
   aus <doorroom.h> sein:

     D_STATUS_LOCKED - Tuer abgeschlossen
     D_STATUS_CLOSED - Tuer geschlossen
     D_STATUS_OPEN   - Tuer geoeffnet


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

   keiner


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

   NewDoor(), QueryDoorKey(), QueryDoorStatus(), P_DOOR_INFOS,
   /std/room/doors.c, /obj/doormaster.c, GetPhiolenInfos(), QueryAllDoors()

Letzte Aenderung: Don, 08.05.2014, Gabylon
