Neues Beispiel.

Change-Id: Ib4a1055bbcd21c6bbb4ad6e2b108c22ffabe9c34
diff --git a/room/huette15.c b/room/huette15.c
new file mode 100644
index 0000000..25885bb
--- /dev/null
+++ b/room/huette15.c
@@ -0,0 +1,48 @@
+inherit "/std/room";
+
+#include __PATH__(1)"defs.h"
+
+private void greeting();
+private string* greeted = ({});
+
+
+protected void create() {
+  ::create();
+
+  SetProp(P_INT_SHORT, "Eine schummrige Huette");
+  SetProp(P_INT_LONG, BSLF(
+    "In diesem Raum hier ist nichts los. Du kannst also eigentlich einfach "
+    "weitergehen."));
+
+  SetProp(P_LIGHT, 1);
+  SetProp(P_INDOORS, 1);
+  SetProp(P_LIGHT_TYPE, LT_GLOWING);
+}
+
+void reset() {
+  ::reset();
+  /* Bei Raumreset "vergessen" wir, wer alles schon die verzoegerte Meldung
+     bekommen hat, damit man die auch mehrmals erhalten kann, ohne dass man
+     jedesmal von ihr bespammt wird. */
+  greeted = ({});
+}
+
+public varargs void init(object origin) {
+  ::init();
+
+  if (TP &&
+      interactive(TP) &&
+      member(greeted, getuuid(TP)) == -1 &&
+      find_call_out(#'greeting) == -1)
+    call_out(#'greeting, 3);
+}
+
+private void greeting() {
+  /* Wir pruefen hier, ob der Spieler, der den Callout ausgeloest hat,
+     ueberhaupt noch anwesend ist. Wenn der Spieler gestorben ist, ausgeloggt
+     hat oder den Raum verlassen hat, machen wir gar nichts. */
+  if (ENV(TP) == TO)
+    greeted += ({getuuid(TP)});
+    tell_object(TP, BSPS(
+      "Tatsaechlich. In diesem Raum hier ist ueberhaupt nichts los."));
+}