Added public files
Roughly added all public files. Probably missed some, though.
diff --git a/doc/lfun/move b/doc/lfun/move
new file mode 100644
index 0000000..b323c34
--- /dev/null
+++ b/doc/lfun/move
@@ -0,0 +1,212 @@
+move()
+
+FUNKTION:
+ Fuer unbelebte Gegenstaende (/std/thing):
+ varargs int move(object|string dest, int method);
+
+ Fuer Lebewesen (/std/living, /std/npc, usw.):
+ varargs int move(object|string dest, int method, string dir,
+ string textout, string textin);
+
+DEFINIERT IN:
+ /std/thing/moving.c
+ /std/living/moving.c
+
+ARGUMENTE:
+ dest
+ Das Zielobjekt (entweder der Dateiname oder das Objekt selbst).
+
+ method
+ Die Art der Bewegung (eine der unten aufgefuehrten Arten; es
+ koennen auch mehrere zusammenge-ODER-t werden).
+
+ dir
+ Die Richtung, in die ein Lebewesen geht. Normalerweise ist das die
+ eingeschlagene Laufrichtung (zB. "nach Norden").
+
+ textout
+ Verlaesst ein Lebewesen einen Raum, so wird diese Meldung in den
+ Raum geschickt. Ist bei dir ein String angegeben, so wird dieser
+ noch an textout angehaengt. Der Name des Lebewesens wird der
+ Meldung in jedem Fall vorangestellt.
+
+ textin
+ Dieser Text wird im Zielraum ausgegeben, wenn ein Lebewesen ihn
+ betritt. Bei normaler Fortbewegung ist das "kommt an". Dem Text
+ wird noch der Name des Spielers vorangestellt.
+
+BESCHREIBUNG:
+ Es wird versucht, das Objekt in das Zielobjekt dest zu bewegen.
+ Abhaengig vom momentanen Aufenthaltsort und dem Zielobjekt ist die
+ Bewegungsmethode method zu waehlen.
+
+ In <moving.h> sind folgende Konstanten fuer die Art der Bewegung
+ definiert:
+ M_NOCHECK
+ Es werden keine Abfragen durchgefuehrt, ob das Objekt ueberhaupt
+ in das Zielobjekt hineinpasst (was zB. aus Gewichtsgruenden der
+ Fall sein koennte).
+
+ M_GO
+ Ein Lebewesen bewegt sich gehend von einem Raum in den naechsten.
+ Bei normalem Gehen wird diese Methode benutzt; man sollte sie auch
+ benutzen, wenn man Spieler ueber einen SpecialExit in einen
+ benachbarten Raum bewegt.
+
+ M_TPORT
+ Ein Lebewesen wird von einem Raum in einen anderen teleportiert.
+ Im Gegensatz zu M_GO kann ein Raum verhindern, dass man ihn
+ mittels M_TPORT verlaesst oder betritt.
+
+ M_NO_SHOW
+ Beim Bewegen von Lebewesen bekommen diese die Beschreibung des
+ Zielraumes nicht ausgegeben.
+
+ M_NO_ATTACK
+ Beim Bewegen von Lebewesen bekommen diese keinen
+ Begruessungsschlag, wenn ein Feind im Zielraum steht.
+
+ M_SILENT
+ Es werden beim Bewegen keine Meldungen ausgegeben. Dieser
+ Parameter wirkt sich nur auf das Bewegen von Lebenwesen aus.
+
+ M_GET
+ Das Objekt wird von einem unbelebten Objekt (zB. einem Raum, einer
+ Leiche, einem Beutel) in ein lebendes Objekt (Spieler oder NPC)
+ bewegt.
+
+ M_PUT
+ Das Objekt wird von einem lebenden Objekt in ein unbelebtes Objekt
+ bewegt.
+
+ M_GIVE
+ Das Objekt wird von einem Lebewesen an ein anderes Lebewesen
+ weitergereicht.
+
+ M_MOVE_ALL (Nur fuer Objekte, die /std/unit.c erben)
+ Es wird die gesamte Menge bewegt, nicht nur ein Teil.
+
+ Soll das Objekt auf jeden Fall und ohne jede Abfrage bewegt werden, so
+ reicht es, als method M_NOCHECK zu uebergeben.
+
+ Waffen und Ruestungen werden, soweit sie gezueckt bzw. angezogen sind,
+ beim Bewegen auf jeden Fall weggesteckt bzw. ausgezogen. Ist in method
+ M_SILENT enthalten, so geschieht dies ohne Meldungen.
+
+ Die erste Art des Funktionsaufrufs ist sowohl beim Bewegen von
+ Lebewesen als auch von unbelebten Objekten moeglich. Die zweite Art
+ laesst sich nur bei Lebewesen anwenden.
+
+ANMERKUNG:
+ Diese Funktion sollte nicht (mehr) ueberschrieben werden. Stattdessen
+ greift bitte auf PreventMove() und NotifyMove() zurueck. RMs sind
+ aufgerufen, Objekt mit ueberschriebenen move() nur noch dann
+ anzuschliessen, wenn der Zweck sonst nicht erreicht werden kann. Solltet
+ ihr move() ueberschreiben: Seid euch sehr genau im klaren, was move()
+ genau macht. ;-)
+
+ Wenn Livings bewegt werden, sorgt move() automatisch in Abhaengigkeit
+ von P_PARA dafuer, dass das Lebewesen in der korrekten (Parallel-)Welt
+ landet.
+
+ Bei Gegenstaenden wird ebenfalls versucht, die richtige Zielwelt
+ auszuwaehlen (damit z.B. in der Parallelwelt geworfene Bumerangs auch nur
+ innerhalb der Parallelwelt fliegen). Um Rechenzeit zu sparen, wird das
+ allerdings nur versucht, wenn 'dest' ein Filename ist und kein Objekt.
+
+ Grund: bei Zielobjekten handelt es sich meist um Bewegungen in das Inv
+ oder Env eines Spielers - und die sind uninteressant. Raumwechsel dagegen
+ erfolgen fast immer unter Angabe eines Filenamens anstatt eines Objektes.
+
+RUeCKGABEWERT:
+ Alle Rueckgabewerte sind als symbolische Konstanten in <moving.h>
+ definiert. (MOVE_OK ist 1, alle anderen sind <0 und symbolisieren Fehler.
+ Traditionell erfolgt die Pruefung auf erfolgreiches Move mit == 1, in
+ Zukunft wird == MOVE_OK empfohlen.)
+
+ MOVE_OK
+ Die Bewegung wurde erfolgreich abgeschlossen.
+
+ ME_PLAYER
+ Lebewesen lassen sich nicht ohne weiteres bewegen. Es muss
+ mindestens eine der Methoden M_NOCHECK, M_GO oder M_TPORT
+ angegeben werden.
+
+ ME_TOO_HEAVY
+ Das Zielobjekt kann dieses Objekt aus Gewichtsgruenden nicht mehr
+ aufnehmen.
+
+ ME_CANT_TPORT_IN
+ Das Zielobjekt verbietet das Teleportieren in sich hinein (nur bei
+ M_TPORT ohne M_NOCHECK).
+
+ ME_CANT_TPORT_OUT
+ Der Raum, in dem sich das Lebewesen befindet, verbietet das
+ Teleportieren aus sich hinaus (nur bei M_TPORT ohne M_NOCHECK).
+
+ ME_CANT_BE_DROPPED
+ Das Objekt kann nicht fallen gelassen werden (zB. weil P_NODROP
+ gesetzt ist).
+
+ ME_CANT_BE_TAKEN
+ Das Objekt kann nicht genommen werden (zB. weil P_NOGET gesetzt
+ ist).
+
+ ME_CANT_BE_INSERTED
+ Das Zielobjekt verhindert das Einfuegen aus bestimmten Gruenden.
+
+ ME_CANT_LEAVE_ENV
+ Der Container verhindert ein verlassen des Objektes
+
+ ME_TOO_HEAVY_FOR_ENV
+ Ein Objekt kann einen Behaelter nicht verlassen, da es dem
+ Lebewesen sonst zu schwer wuerde.
+
+ TOO_MANY_OBJECTS
+ Das Zielobjekt kann soviele Objekte nicht mehr aufnehmen.
+
+ ME_NOT_ALLOWED
+ Raeume mit gesetzter Property P_NO_PLAYERS koennen nur von
+ Testspielern und Magiern betreten werden. Bei Spielern oder
+ Gildentesties gibt es diese Fehlermeldung.
+ ME_WAS_DESTRUCTED
+ Das Objekt hat sich entweder im Verlaufe der Bewegung selbst
+ zerstoert oder wurde zerstoert, sodass move() nicht erfolgreich
+ beendet werden konnte. (Bsp: sensitive Objekte)
+
+ ME_DONT_WANT_TO_BE_MOVED
+ Das Objekt moechte nicht bewegt werden.
+
+BEISPIELE:
+ o Ein Objekt "gibt sich" dem Spieler:
+
+ move(this_player(), M_GET);
+
+ o Ein Lebewesen wird in die Abenteurergilde teleportiert:
+
+ lv->move("/gilden/abenteurer", M_TPORT);
+
+ o Ein Spieler "wird in die Gilde gegangen":
+
+ this_player()->move("/gilden/abenteurer", M_GO, "in die Gilde");
+
+ Spieler, die mit ihm im gleichen Raum stehen, sehen folgende
+ Meldung:
+ "<name> geht in die Gilde."
+
+ o Ein Spieler schwimmt durchs Meer:
+
+ this_player()->move("meer_xy", M_GO, "nach Norden", "schwimmt",
+ "schwimmt herein");
+
+ Spieler in seinem Startraum sehen "<name> schwimmt nach Norden.",
+ Spieler in seinem Zielraum sehen "<name> schwimmt herein."
+
+SIEHE AUCH:
+ move_object(), remove(), setmin, setmmin, setmout, setmmout, review,
+ PreventInsert(), PreventLeave(), PreventInsertLiving(),
+ PreventLeaveLiving(), PreventMove(), NotifyInsert(), NotifyLeave(),
+ NotifyMove(), NotifyRemove(), init(), exit(),
+ P_NO_PLAYERS, P_PARA, /std/thing/moving.c, /std/living/moving.c
+ -----------------------------------------------------------------------
+2015-Jan-19, Arathorn