Added public files

Roughly added all public files. Probably missed some, though.
diff --git a/doc/lfun/PreventMove b/doc/lfun/PreventMove
new file mode 100644
index 0000000..798ee0b
--- /dev/null
+++ b/doc/lfun/PreventMove
@@ -0,0 +1,81 @@
+PreventInsert()
+
+FUNKTION:
+     protected int PreventMove(object dest, object oldenv, int method);
+
+DEFINIERT IN:
+     /std/thing/moving.c
+     /std/living/moving.c
+     /std/player/moving.c
+
+ARGUMENTE:
+     dest
+          Das Ziel des Moves
+     oldenv
+          Das (Noch-)Environment des Objekts
+     method
+          Die Move-Methode(n), mit der/denen bewegt werden soll
+
+BESCHREIBUNG:
+     Mit dieser Funktion prueft ein Objekt, ob es von 'oldenv' nach 'dest'
+     bewegt werden mag. Dabei wird 'method' beruecksichtigt (z.B. schaltet
+     M_NOCHECK die meisten Pruefungen ab).
+     Bei Gegenstaenden wird z.B. P_NODROP, P_NOGET, das Gewicht, ob das Ziel
+     das Objekt aufnehmen will (MayAddWeight(), PreventInsert) oder auch
+     PreventLeave() geprueft.
+     Bei Lebewesen wird z.B. P_NO_TPORT in 'dest' und 'oldenv' und
+     PreventLeaveLiving/PreventInsertLiving() ausgewertet.
+     Bei Spielern wird auch noch getestet, ob method M_GO oder M_TPORT
+     enthaelt und ob das Ziel nur von Testspielern betreten werden kann.
+
+RUeCKGABEWERT:
+     0, wenn das Objekt bewegt werden darf.
+     Wenn es nicht bewegt werden darf, sind als Rueckgabewerte die in
+     /sys/moving.h definierten Move-Fehlerwerte zulaessig (s. move()). Sollte
+     hier ein ungueltiger Fehlerwert zurueckgegeben werden, wird das move()
+     ebenfalls abgebrochen und ME_DONT_WANT_TO_BE_MOVED zurueckgeben.
+
+BEMERKUNGEN:
+     Diese Funktion kann ueberschrieben, um feinere Kontrolle ueber die
+     Bewegungen des Objekt zu haben. Dabei aber bitte einige Dinge beachten:
+     1. Denkt daran, ggf. M_NOCHECK zu beruecksichtigen und und eure
+     Pruefungen nur zu machen, wenn es nicht in method vorkommt.
+     2. GANZ WICHTIG: Wenn ihr mit euren Pruefungen fertig sein und das Objekt
+     bewegt werden duerfte, die geerbten Pruefungen noch testen, also _IMMER_
+     das geerbte PreventMove() noch aufrufen und dessen Wert
+     zurueckgeben/beruecksichtigen, da sonst Pruefungen des Gewichts etc. 
+     nicht funktionieren oder bei Lebewesen die Prevent*() im Environment 
+     nicht gerufen werden!
+     3. Die Funktion ist nur objektintern zu verwenden, Call-Other von aussen
+     sind nicht moeglich, beim Ueberschreiben 'protected' nicht vergessen.
+     4. Nochmal: Geerbtes PreventMove() _NICHT VERGESSEN_!
+
+BEISPIELE:
+     Ein Objekt, was nur im Sternenlicht aufgenommen werden kann (warum
+     auch immer):
+
+     protected int PreventMove(object dest, object oldenv, int method) {
+       if ( (method & M_NOCHECK) ) {
+           // wenn mit M_NOCHECK bewegt, ist das Sternenlicht egal, nur
+           // geerbtes PreventMove() beruecksichten:
+           return ::PreventMove(dest, oldenv, method);
+       }
+       else if ( method & M_GET) {
+           // wenn es aufgenommen werden soll: nach Sternenlicht im Raum
+           // gucken:
+           if (objectp(dest) && 
+               (dest->QueryProp(P_LIGHT_TYPE) != LT_STARS))
+               return ME_CANT_BE_TAKEN;
+       }
+       // Fall-through:
+       return ::PreventMove(dest, oldenv, method);
+     }
+
+
+SIEHE AUCH:
+     PreventLeave(), NotifyInsert(), NotifyLeave(), MayAddObject(),
+     PreventInsertLiving(), PreventLeaveLiving(), NotifyMove(),
+     PreventMove(), MayAddWeight(), move(), /std/container/restrictions.c
+
+----------------------------------------------------------------------------
+Last modified: 04.08.2007, Zesstra