Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/lfun/AddSounds b/doc/lfun/AddSounds
new file mode 100644
index 0000000..b38389a
--- /dev/null
+++ b/doc/lfun/AddSounds
@@ -0,0 +1,63 @@
+AddSounds()
+
+FUNKTION:
+    void AddSounds(string|string* keys, string|string*|mapping|closure desc);
+
+DEFINIERT IN:
+    /std/thing/description.c
+
+ARGUMENTE:
+    keys
+      String oder Array von Strings mit den Namen der Details.
+    desc
+      String, Mapping, String-Array oder Closure mit/zur Beschreibung.
+
+BESCHREIBUNG:
+    Diese Funktion entspricht dem AddDetail() fuer Standarddetails, nur
+    koennen hiermit Geraeusche realisiert werden:
+    Die Beschreibung der Details <keys> wird gesetzt. Wie die Details
+    bei der Untersuchung aussehen, haengt im wesentlichen vom Typ der
+    Beschreibung <desc> ab:
+      <desc> ist ein String.
+        Beim Untersuchen wird dieser String zurueckgegeben.
+      <desc> ist ein String-Array.
+        Beim Untersuchen wird zufaellig einer der Strings zurueckgegeben.
+      <desc> ist ein Mapping.
+        Das Mapping muss folgenden Aufbau haben:
+          ([0:        "Defaulttext",
+           "rasse1": "r1text", ...]).
+
+        Falls fuer die Rasse des das Detail untersuchenden Spielers ein
+        Eintrag im Mapping existiert, wird der entsprechende Text
+        zurueckgegeben, ansonsten der Defaulttext. Auf diese Weise sind
+        rassenabhaengige Details moeglich. Siehe auch die Beispiele.
+      <desc> ist eine Closure.
+        In diesem Fall wird die Closure ausgefuehrt und das Ergebnis
+        zurueckgegeben. Die Closure bekommt dabei den Namen des Details
+        als Parameter uebergeben.
+
+    Fuer Geraeuschdetails koennen Forscherpunkte eingetragen werden.
+
+    Gerauesche koennen allgemein einen Raum oder Objekt zugeordnet werden:
+    dafuer muss man als <key> SENSE_DEFAULT uebergeben.
+
+    Spielerkommandos: "lausche", "lausch", "hoer", "hoere"
+
+BEISPIELE:
+    Ein kleines Beispiel fuer rassenabhaengige Gerauesche
+      AddSounds(SENSE_DEFAULT, "Die Zwergenmusik uebertoent alles!\n");
+      AddSounds(({"zwergenmusik","musik"}),
+                ([0      : "Seltsamer Krach!\n",
+                  "zwerg": "Das klingt einfach fantastisch!\n"]));
+
+SIEHE AUCH:
+    Setzen:    AddDetail(), AddReadDetail(), AddSmells(),
+               AddTouchDetail()
+    Loeschen:  RemoveDetail(), RemoveReadDetail(), RemoveSmells(),
+               RemoveSounds(), RemoveTouchDetail()
+    Daten:     P_DETAILS, P_READ_DETAILS, P_SMELLS, P_SOUNDS, P_TOUCH_DETAILS
+    Veraltet:  AddSpecialDetail(), RemoveSpecialDetail(), P_READ_MSG
+    Sonstiges: GetDetail(), break_string()
+
+20.01.2015, Zesstra
+