Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/doc/efun/set_this_object b/doc/efun/set_this_object
new file mode 100644
index 0000000..2afda56
--- /dev/null
+++ b/doc/efun/set_this_object
@@ -0,0 +1,60 @@
+GESCHUETZT
+SYNOPSIS
+ void set_this_object(object objekt-an-stelle-von-originalobjekt);
+
+BESCHREIBUNG
+ Dies ist eine geschuetzte Funktion, die nur vom Master-Objekt und im
+ Simul-Efun-Objekt genutzt werden darf. Bei sonstiger Benutzung
+ erzeugt diese Funktion einen Fehler.
+
+ Die Funktion aendert das Resultat von this_object() in der laufenden
+ Funktion, ebenso das Resultat von previous_object() in Funktionen in
+ anderen Objekten, die einen call_other() Aufruf machen.
+
+ Der Effekt von set_this_object() bleibt bestehen, bis ein externer
+ Funktionsaufruf abgeschlossen ist oder bis zu einem erneuten
+ set_this_object(). Waehrend der Ausfuehrung von Code im Master-Objekt
+ oder im Simul-Efun-Objekt ist set_this_object() garantiert, auch wenn
+ this_object() durch set_this_object() veraendert wird. Die gilt
+ nicht fuer Funktionen, die aus anderen Programmen inheritet werden.
+
+ Diese Funktion darf nur mit hoechster Sorgfalt verwendet werden, um
+ Inkonsistenzen zu vermeiden. Nach einem Aufruf von set_this_object()
+ koennen sich gewisse LPC-Konstrukte merkwuerdig verhalten oder gar
+ das System zum Absturz bringen. Insbesondere die Verwendung von
+ globalen Variablen oder der Aufruf von lokalen Funktionen (ausser
+ durch call_other()) ist unzulaessig und wird aktiv verhindert.
+
+ Erlaubt sind call_other(), map(), der Zugriff auf lokale Variablen
+ (die auch Pointer auf globale Arrays enthalten duerfen), einfache
+ Arithmetik und der Zuweisungs-Operator.
+
+BUGS
+ Es ist momentan nicht moeglich, das originale gueltige Objekt wieder
+ herzustellen. Anstelle von:
+
+ object ich = this_object();
+ set_this_object(dings);
+ <irgendwelcher Code>
+ set_this_object(ich);
+ <mehr Code>
+
+ muss das ueber einen Umweg geloest werden:
+
+ private void tuwas(object dings)
+ {
+ set_this_object(dings);
+ <irgendwelcher code>
+ }
+
+ funcall(#'tuwas, dings);
+ <mehr Code>
+
+ Manche Leute bezeichnen das als Feature.
+
+AENDERUNGEN
+ LDMud 3.2.10 verhindert aktiv die Referenz auf globale Variablen und
+ Funktionsaufrufe nach Adresse, waehren set_this_object() gilt.
+
+SIEHE AUCH
+ this_object(E), set_this_player(E)