diff --git a/d/seher/haeuser/doc/beschreibe b/d/seher/haeuser/doc/beschreibe
new file mode 100644
index 0000000..72029a3
--- /dev/null
+++ b/d/seher/haeuser/doc/beschreibe
@@ -0,0 +1,185 @@
+
+beschreibe
+----------
+
+ SEHERHAUSKOMMANDO:
+    beschreibe <haus> lang
+    beschreibe <haus> kurz
+    beschreibe detail <det>
+    beschreibe lesbares detail <det>
+    beschreibe befehl <bef> - Siehe befehl!
+    beschreibe haustuer
+    beschreibe tuerzustand
+    beschreibe <truhe>
+
+ ARGUMENTE:
+
+     <haus>
+        eine gueltige Bezeichnung des Hauses. Gueltige Bezeichnungen sind
+        innerhalb des Hauses "haus" und "raum", ausserhalb des Hauses die
+        Begriffe, mit denen sich das Haus ansprechen laesst.
+     <det>
+        Liste der zu beschreibenden (lesbaren) Details. Bei mehreren Details
+        muessen diese durch Kommata voneinander getrennt sein!
+     <truhe>
+        ein gueltiger Begriff, mit dem sich die Truhe ansprechen laesst.
+
+ BESCHREIBUNG:
+    Dieses Kommando dient zur allgemeinen Beschreibung des Hauses. Von den
+    moeglichen Anwendungen ist beschreibe haustuer nur draussen erlaubt.
+    beschreibe <haus> lang ist sowohl innen als auch aussen benutzbar; alle
+    anderen Anwendungen gelten nur innerhalb des Hauses.
+
+    Nach Eingabe des Kommandos befindet man sich bei den meisten Arten in dem
+    selben Editor, wie man ihn auch von der Post oder der Zeitung gewohnt ist.
+    Man hat also auch hier die Moeglichkeit, sich mit "~h" eine Hilfeseite des
+    Editors mit allen moeglichen Kommandos anzeigen zu lassen.
+
+    Falls es vorkommen sollte, dass waehrend der Beschreibung die Verbindung
+    zum MUD zusammenbricht, sperrt der Editor! In diesem Fall kann man mit
+    "~r" die unterbrochene Beschreibung wieder aufnehmen. (Das ~r muss als
+    Befehl im Haus angegeben werden!)
+
+    Hier nun die Moeglichkeiten zur Beschreibung:
+
+     beschreibe <haus> lang
+        Hiermit wird die Langbeschreibung des Hauses begonnen. Es gibt zwei
+        Faelle: Befindet man sich innerhalb des Hauses, so gibt man jetzt den
+        Text ein, den man beim Betreten des Hauses (bei eingeschaltetem
+        Lang-Modus) und bei einem schau im Haus bekommt. Befindet man sich
+        ausserhalb des Hauses, so gibt man jetzt den Text ein, den man beim
+        Untersuchen des Hauses bekommt. An den Text fuer die
+        Aussenbeschreibung wird immer eine Zeile mit dem aktuellen Zustand der
+        Haustuer angehaengt.
+
+     beschreibe <haus> kurz
+        Beginnt die Eingabe der Kurzbeschreibung des Hauses. Dies ist der
+        Text, den man mit eingeschaltetem Kurz-Modus beim Betreten des Hauses
+        bekommt.
+
+        Die Kurzbeschreibung kann nur im Inneren des Hauses geaendert werden.
+        Sie darf nicht laenger sein als eine Zeile!
+
+        Wenn Dein Haus auch von aussen anders aussehen soll, wende Dich bitte
+        an Wargon.
+
+     beschreibe detail <det>
+        Beginnt die Beschreibung des Details <det>. Als Details sollten
+        moeglichst alle Substantive beschrieben werden, die in der
+        Langbeschreibung des Hausinneren und in den anderen Details vorkommen
+        (natuerlich nur, soweit das sinnvoll ist). Den Text der Details
+        bekommt man bei dem Kommando "untersuche <det>" ausgegeben.
+
+     beschreibe lesbares detail <det>
+        Beginnt die Beschreibung eines lesbaren Details. Der Text wird bei dem
+        Kommando "lies <det>" ausgegeben.
+
+     beschreibe befehl <bef>
+        Da dies mittlerweile recht komplex geworden ist, gibt es eine
+        Extrahilfeseite. Du erreichst sie mit "hilfe befehl".
+
+     beschreibe haustuer
+        Erlaubt die Beschreibung der Haustuer. Hier ist nur eine Zeile
+        erlaubt. Diese Zeile wird an die Langbeschreibung des Hauses von
+        aussen angehaengt. Wenn dort keine Haustuer erscheinen soll (was zB.
+        bei einem See oder einer Hoehle wenig Sinn macht), kann man hier mit
+        einem Leerstring (direkt <RETURN> druecken) die Tuer unsichtbar
+        machen.
+
+        Mit dem Platzhalter %s wird der aktuelle Zustand der Haustuer in die
+        Beschreibung eingebaut (in der Form "geoeffnet", "geschlossen" oder
+        "abgeschlossen").
+
+     beschreibe tuerzustand
+        Auch den Zustand der Haustuer (geoeffnet, geschlossen, abgeschlossen)
+        kann man in eigene Worte fassen.
+
+        Die Zustaende muessen in der oben angegebenen Reihenfolge eingegeben
+        werden, und zwar in EINER Zeile, durch Kommata getrennt!
+        Es muessen immer ALLE drei Zustaende angegeben werden!
+        Man sollte nach Moeglichkeit nur ein Wort pro Zustand verwenden!
+
+     beschreibe <truhe>
+        Beginnt die Beschreibung der Truhe. Im Gegensatz zu den anderen
+        Beschreibungen erfolgt die Beschreibung der Truhe in mehreren
+        Schritten. Will man die jeweiligen Vorgaben nicht aendern, so genuegt
+        es, <RETURN> zu druecken.
+
+        Zuerst wird man nach dem Geschlecht der Truhe gefragt. Hier muss man
+        den passenden Buchstaben angeben (m fuer maennlich, w fuer weiblich
+        oder s fuer saechlich).
+
+        Nun wirst Du nach dem Namen gefragt, der zum Beispiel beim Oeffnen
+        oder Schliessen der Truhe ausgegeben wird. Falls der Name
+        unregelmaessig dekliniert wird, muessen alle vier Faelle in der
+        Reihenfolge Nominativ, Genitiv, Dativ, Akkusativ, durch Kommata
+        getrennt, eingegeben werden.
+
+        Schliesslich kannst Du noch Adjektive angeben, die zusammen mit dem
+        Namen ausgegeben werden.
+
+        Aus den bisher eingegebenen Daten wird nun die Kurzbeschreibung der
+        Truhe erstellt. Entspricht sie nicht Deinen Vorstellungen, gelangst Du
+        wieder in die Geschlechtsabfrage.
+
+        Ansonsten wird nun nach den IDs gefragt, mit denen sich die Truhe
+        ansprechen lassen soll. Mehrere IDs muessen mit Kommata voneinander
+        getrennt werden. Es koennen auch IDs verwendet werden, die aus
+        mehreren Wortern bestehen. Die Vorgaben koennen wieder mit <RETURN>
+        uebernommen werden.
+
+        Zum guten Schluss erfolgt die Langbeschreibung der Truhe. Bei dieser
+        steht wieder der Editor zur Verfuegung. Bei Abbruch oder einem
+        Leerstring wird die alte Langbeschreibung nicht geaendert.
+
+        Die Beschreibung der Truhe kann natuerlich nur geaendert werden, wenn
+        man im gleichen Raum steht wie die Truhe. ;-)
+
+ BEISPIELE:
+    Ein lesbares Detail wird beschrieben:
+
+      beschreibe lesbares detail zettel, notiz
+      => Bitte Beschreibung fuer 'zettel, notiz' eingeben.
+      ]Bin gerade metzeln. Blutsaugerschwerter bitte an der Pforte
+      ]abgeben.
+      ].
+
+    Die Truhe soll in eine kleine Kiste umgewandelt werden:
+
+      beschreibe truhe
+      => Beschreibung der Truhe
+      => Wenn die Vorgaben nicht geaendert werden sollen, einfach weiter
+      => mit <RETURN>.
+
+      =>Geschlecht (m, w, s): [w]
+      ]w
+      => Das Geschlecht ist jetzt weiblich.
+      => Nun musst Du den Namen eingeben. ...
+      => Name: [Truhe]
+      ]Kiste, Kiste, Kiste, Kiste
+      => Der Name ist jetzt 'Kiste, Kiste, Kiste, Kiste'
+      => Du kannst jetzt noch Namensadjektive angeben. ...
+      => Namensadjektive: []
+      ]klein
+      => Namensadjektive lauten klein.
+      => Die Kurzbeschreibung lautet damit:
+      => Eine kleine Kiste (geschlossen).
+      => Falls das Ergebnis nicht Deinen ...
+      => Stimmt die Kurzbeschreibung so? (j/n)
+      ]j
+
+      =>IDs (durch Kommata getrennt):
+      =>[truhe,holztruhe]
+      ]kiste
+      => OK, IDs lauten 'kiste'
+
+      => Bitte Langbeschreibung angeben...
+      ]In dieser Kiste lagert Wargon wichtige Dinge.
+      ].
+
+ SIEHE AUCH:
+    editor,
+    aendere, befehl, loesche, kopiere, meldungen, uebersicht, notiz, licht
+
+ LETZTE AeNDERUNG:
+    Thu, 24.07.1997, 09:00:00 von Wargon
