Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/lfun/init b/doc/lfun/init
new file mode 100644
index 0000000..f9d0cad
--- /dev/null
+++ b/doc/lfun/init
@@ -0,0 +1,65 @@
+init()
+
+FUNKTION:
+	void init();
+
+DEFINIERT IN:
+	/std/room/description.c
+
+ARGUMENTE:
+	keine
+
+BESCHREIBUNG:
+	init() wird immer dann aufgerufen, wenn ein lebendes Objekt in die
+	Naehe anderer Objekte bewegt wird oder ein nicht lebendiges Objekt
+	in die Naehe von Lebewesen gelangt. init() wird dabei in allen
+	Objekten aufgerufen, bei denen es notwendig ist.
+
+	Der Hauptzweck dieser Funktion besteht darin, den Objekten
+	untereinander ihre jeweiligen Befehle zugaenglich zu machen.
+	Waehrend dies in anderen MudLibs durch eine Reihe von
+	add_action()-Aufrufen im Rumpf von init() geschah, geschieht dies in
+	der MG-MudLib bei Objekten, die /std/thing/commands.c erben
+	 (das sind zB. alle Standardobjekte) quasi automatisch
+	 (dort werden die Befehle dann per AddCmd() im create() angemeldet,
+	  man spart sich die Implementierung von init() und dem Mud somit
+	  Speicher). Der andere Weg ist aber natuerlich immer noch moeglich.
+
+RUeCKGABEWERT:
+	keiner
+
+BEMERKUNGEN:
+	Der Ablauf der init()-Kette ist wie folgt:
+	o Ist das Objekt X, welches ins Zielobjekt D bewegt wurde, ein
+	  Lebewesen, so wird in D init() aufgerufen, wobei this_player() auf
+	  X gesetzt ist.
+	o Dann wird fuer jedes Objekt C in D folgendes ausgefuehrt:
+	  + Ist C ein Lebewesen, dann wird init() in X aufgerufen, wobei
+	    this_player() auf C gesetzt ist.
+	  + Ist X ein Lebewesen, dann wird init() in C aufgerufen, wobei
+	  this_player() auf X gesetzt ist.
+	o Schliesslich wird in dem Fall, dass D lebendig ist, in X init()
+	  aufgerufen, wobei this_player() auf D gesetzt ist.
+
+BEISPIELE:
+	D sei ein Raum, in dem sich das Lebewesen L1 sowie die Gegenstaende
+	N1 und N2 befinden.
+	Betritt ein Spieler X diesen Raum, so werden folgende init()s
+	aufgerufen:
+
+	  D->init();  // this_player() == X
+	  X->init();  // this_player() == L1
+	  L1->init(); // this_player() == X
+	  N1->init(); // this_player() == X
+	  N2->init(); // this_player() == X
+
+	Gelangt dagegen ein nichtlebendiges Objekt nach D, so sieht das Ganze
+	wie folgt aus:
+
+	  X->init();    // this_player() == L1
+
+SIEHE AUCH:
+	exit(), AddCmd(), add_action(),
+  NotifyInsert()
+----------------------------------------------------------------------------
+Last modified: 04.08.2007, Zesstra