Automatisch erzeugte Manpages.
Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.
Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/lfun/move b/doc/lfun/move
index b323c34..bd9d924 100644
--- a/doc/lfun/move
+++ b/doc/lfun/move
@@ -1,212 +1,242 @@
+
+move()
+******
+
move()
-FUNKTION:
- Fuer unbelebte Gegenstaende (/std/thing):
- varargs int move(object|string dest, int method);
+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);
+ 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).
+DEFINIERT IN
+============
- method
- Die Art der Bewegung (eine der unten aufgefuehrten Arten; es
- koennen auch mehrere zusammenge-ODER-t werden).
+ /std/thing/moving.c
+ /std/living/moving.c
- 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.
+ARGUMENTE
+=========
- 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.
+ dest
+ Das Zielobjekt (entweder der Dateiname oder das Objekt selbst).
-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.
+ method
+ Die Art der Bewegung (eine der unten aufgefuehrten Arten; es
+ koennen auch mehrere zusammenge-ODER-t werden).
- 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).
+ dir
+ Die Richtung, in die ein Lebewesen geht. Normalerweise ist das die
+ eingeschlagene Laufrichtung (zB. "nach Norden").
- 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.
+ 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.
- 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.
+ 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.
- 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.
+BESCHREIBUNG
+============
- M_SILENT
- Es werden beim Bewegen keine Meldungen ausgegeben. Dieser
- Parameter wirkt sich nur auf das Bewegen von Lebenwesen aus.
+ Es wird versucht, das Objekt in das Zielobjekt dest zu bewegen.
+ Abhaengig vom momentanen Aufenthaltsort und dem Zielobjekt ist die
+ Bewegungsmethode method zu waehlen.
- M_GET
- Das Objekt wird von einem unbelebten Objekt (zB. einem Raum, einer
- Leiche, einem Beutel) in ein lebendes Objekt (Spieler oder NPC)
- bewegt.
+ 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_PUT
- Das Objekt wird von einem lebenden Objekt in ein unbelebtes Objekt
- bewegt.
+ 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_GIVE
- Das Objekt wird von einem Lebewesen an ein anderes Lebewesen
- weitergereicht.
+ 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_MOVE_ALL (Nur fuer Objekte, die /std/unit.c erben)
- Es wird die gesamte Menge bewegt, nicht nur ein Teil.
+ M_NO_SHOW
+ Beim Bewegen von Lebewesen bekommen diese die Beschreibung des
+ Zielraumes nicht ausgegeben.
- Soll das Objekt auf jeden Fall und ohne jede Abfrage bewegt werden, so
- reicht es, als method M_NOCHECK zu uebergeben.
+ M_NO_ATTACK
+ Beim Bewegen von Lebewesen bekommen diese keinen
+ Begruessungsschlag, wenn ein Feind im Zielraum steht.
- 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.
+ M_SILENT
+ Es werden beim Bewegen keine Meldungen ausgegeben. Dieser
+ Parameter wirkt sich nur auf das Bewegen von Lebenwesen aus.
- 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.
+ M_GET
+ Das Objekt wird von einem unbelebten Objekt (zB. einem Raum, einer
+ Leiche, einem Beutel) in ein lebendes Objekt (Spieler oder NPC)
+ bewegt.
-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.
+ M_PUT
+ Das Objekt wird von einem lebenden Objekt in ein unbelebtes Objekt
+ bewegt.
- 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.
+ M_GIVE
+ Das Objekt wird von einem Lebewesen an ein anderes Lebewesen
+ weitergereicht.
- 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.
+ M_MOVE_ALL (Nur fuer Objekte, die /std/unit.c erben)
+ Es wird die gesamte Menge bewegt, nicht nur ein Teil.
-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.
+ Soll das Objekt auf jeden Fall und ohne jede Abfrage bewegt werden, so
+ reicht es, als method M_NOCHECK zu uebergeben.
- ME_PLAYER
- Lebewesen lassen sich nicht ohne weiteres bewegen. Es muss
- mindestens eine der Methoden M_NOCHECK, M_GO oder M_TPORT
- angegeben werden.
+ 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.
- ME_TOO_HEAVY
- Das Zielobjekt kann dieses Objekt aus Gewichtsgruenden nicht mehr
- aufnehmen.
+ 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.
- 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).
+ANMERKUNG
+=========
- ME_CANT_BE_DROPPED
- Das Objekt kann nicht fallen gelassen werden (zB. weil P_NODROP
- gesetzt ist).
+ 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. ;-)
- 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
+ Wenn Livings bewegt werden, sorgt move() automatisch in Abhaengigkeit
+ von P_PARA dafuer, dass das Lebewesen in der korrekten (Parallel-)Welt
+ landet.
- ME_TOO_HEAVY_FOR_ENV
- Ein Objekt kann einen Behaelter nicht verlassen, da es dem
- Lebewesen sonst zu schwer wuerde.
+ 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.
- TOO_MANY_OBJECTS
- Das Zielobjekt kann soviele Objekte nicht mehr aufnehmen.
+ 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.
- 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.
+RUeCKGABEWERT
+=============
-BEISPIELE:
- o Ein Objekt "gibt sich" dem Spieler:
+ 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(this_player(), M_GET);
- o Ein Lebewesen wird in die Abenteurergilde teleportiert:
- lv->move("/gilden/abenteurer", M_TPORT);
+ MOVE_OK
+ Die Bewegung wurde erfolgreich abgeschlossen.
- o Ein Spieler "wird in die Gilde gegangen":
+ ME_PLAYER
+ Lebewesen lassen sich nicht ohne weiteres bewegen. Es muss
+ mindestens eine der Methoden M_NOCHECK, M_GO oder M_TPORT
+ angegeben werden.
- this_player()->move("/gilden/abenteurer", M_GO, "in die Gilde");
+ ME_TOO_HEAVY
+ Das Zielobjekt kann dieses Objekt aus Gewichtsgruenden nicht mehr
+ aufnehmen.
- Spieler, die mit ihm im gleichen Raum stehen, sehen folgende
- Meldung:
- "<name> geht in die Gilde."
+ ME_CANT_TPORT_IN
+ Das Zielobjekt verbietet das Teleportieren in sich hinein (nur bei
+ M_TPORT ohne M_NOCHECK).
- o Ein Spieler schwimmt durchs Meer:
+ 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).
- this_player()->move("meer_xy", M_GO, "nach Norden", "schwimmt",
- "schwimmt herein");
+ ME_CANT_BE_DROPPED
+ Das Objekt kann nicht fallen gelassen werden (zB. weil P_NODROP
+ gesetzt ist).
- Spieler in seinem Startraum sehen "<name> schwimmt nach Norden.",
- Spieler in seinem Zielraum sehen "<name> schwimmt herein."
+ ME_CANT_BE_TAKEN
+ Das Objekt kann nicht genommen werden (zB. weil P_NOGET gesetzt
+ ist).
-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
- -----------------------------------------------------------------------
+ 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