inherit "/std/room";

#include __PATH__(1)"defs.h"


protected void create() {
  ::create();

  SetProp(P_INT_SHORT, "Eine schummrige Huette");
  Set(P_INT_LONG, function string() {
    return BSLF(sprintf(
      "Tja, %s, da stehst Du nun. In einem Raum, der eine dynamische "
      "Langbeschreibung hat.\n"
      "Das ist aber nicht nur schoen, weil Du nun siehst, wie man sowas "
      "macht, sondern auch, weil Du hier gleich gucken kannst, wie man "
      "eine Inline-Closure verwendet.\n"
      "Dabei handelt es sich sozusagen um eine unbenannte, anonyme Funktion, "
      "die in ihrem Gueltigkeits- bzw. Sichtbarkeitsbereich auf die Property "
      "beschraenkt ist, der sie zugewiesen wurde.\n"
      "So oder so empfiehlt es sich sicherlich, \"man Set\" durchzulesen "
      "(hier ist die Grossschreibung mal wichtig).", TPN));
  }, F_QUERY_METHOD);

  SetProp(P_LIGHT, 1);
  SetProp(P_INDOORS, 1);
  SetProp(P_LIGHT_TYPE, LT_GLOWING);
}
