// #1: geclonter Raum mit Ausweich-Aufwachraum: Klerus-Gilde
#include <properties.h>
inherit "/std/room";
void create() {
  ::create();
  SetProp(P_NETDEAD_INFO, "/gilden/klerus");
  SetProp(P_LIGHT, 1);
}
// #2: komplexerer Beispielraum fuer P_NETDEAD_INFO-Funktionalitaet
// Siehe auch: /doc/beispiele/testobjekte/netdead_info_testraum.c
#include <properties.h>
inherit "/std/room";
void create() {
  ::create();
  if (clonep(this_object()))
    // setze Informationen, die im Netztoten gespeichert werden sollen
    Set(P_NETDEAD_INFO, random(5));
  else
    // Blueprint: hier kann man zu einem Cloneraum gehen
    AddExit("cloneraum", #'create_room);
  // Set-Method, um die Informationen aus P_NETDEAD_INFO beim Aufwachen
  // in der Blueprint auswerten zu koennen
  Set(P_NETDEAD_INFO, #'create_destiny, F_SET_METHOD);
  SetProp(P_LIGHT, 1);
}
// Raum entfernen, normalerweise so KEINE GUTE IDEE!
void BecomesNetDead(object pl) {
  call_out(#'remove, 30);
}
// erzeuge einen Cloneraum und bewege den Spieler dahin
int create_room(string dir) {
  object dest = clone_object(object_name(this_object()));
  this_player()->move(dest, M_NOCHECK);
  return 1;
}
// Set-Method fuer P_NETDEAD_INFO: gibt Pfad zurueck
// benutze die Informationen aus dem jetzt aufwachenden Netztoten, um
// einen alternativen Aufwachraum zu ermitteln, da der Einschlafraum
// zerstoert ist
string create_destiny(mixed val) {
  if (intp(val)) {
    switch (val) {
      case 0:
        return "/d/ebene/room/PortVain/po_haf1";
      case 1:
        return "/gilden/klerus";
      case 2:
        return "/gilden/karate";
      default:
    }
    return "/d/ebene/room/waldweg4";
  }
}