Manpages als reStructuredText erstellt
Unsere Manpages wurden mit einem LPC-Tool in
reStructuredText konvertiert und liegen jetzt
in diesem Verzeichnis als Quelldaten.
Aus diesen reStructuredText sollen dann per
Script die ASCII-Manpages und per Sphinx HTML u.a.
erzeugt werden.
Change-Id: I75d659a7b3f9863aecb11dbeb0037e6cae227c36
diff --git a/doc/sphinx/lfun/AddSpecialExit.rst b/doc/sphinx/lfun/AddSpecialExit.rst
new file mode 100644
index 0000000..4a367f9
--- /dev/null
+++ b/doc/sphinx/lfun/AddSpecialExit.rst
@@ -0,0 +1,82 @@
+AddSpecialExit()
+================
+
+FUNKTION
+--------
+::
+
+ void AddSpecialExit(string|string* cmd, string|closure func);
+
+DEFINIERT IN
+------------
+::
+
+ /std/room/exits
+
+ARGUMENTE
+---------
+::
+
+ string/string* cmd
+ die Richtung(en), in die der Ausgang fuehrt
+ string/closure func
+ der Name der aufzurufenden Funktion/Closure
+
+BESCHREIBUNG
+------------
+::
+
+ Es wird ein Ausgang in die Richtung(en) cmd eingefuegt. Wird der
+ Ausgang benutzt, so wird die Closure bzw. Funktion func ausgefuehrt.
+
+ AddSpecialExit(cmd, "func") entspricht:
+ - AddExit(keys, #'func)
+
+BEMERKUNGEN
+-----------
+::
+
+ In func muss man den Spieler selbst in den Zielraum bewegen. Im
+ Erfolgsfall sollte man einen Wert >0 zurueckgeben, im Fehlerfall einen
+ Wert <=0.
+
+ func bekommt als Parameter einen String mit der gewaehlten
+ Bewegungsrichtung uebergeben.
+
+BEISPIELE
+---------
+::
+
+ // ein Ausgang soll nur von Froeschen benutzbar sein:
+
+ AddSpecialExit("loch", "lochfkt");
+ // der gleiche Aufruf, nur anders:
+ // static int lochfkt(string dir); // Prototyp
+ // ...
+ // AddSpecialExit("loch", #'lochfkt);
+ // auch identisch zu:
+ // AddExit("loch", #'lochfkt);
+
+ static int lochfkt(string dir) {
+ if (!(this_player()->QueryProp(P_FROG))) {
+ // Kein Frosch => passt nicht!
+ notify_fail("Du bist zu gross!\n");
+ return 0;
+ }
+ // Meldungen werden im move() gleich mitgegeben
+ return this_player()->move("/room/loch", M_GO, 0,
+ "huepft ins Loch", "huepft herein");
+ }
+
+SIEHE AUCH
+----------
+::
+
+ AddExit(), GetExits(),
+ RemoveExit(), RemoveSpecialExit(),
+ GuardExit(),
+ H_HOOK_EXIT_USE, P_EXITS, P_HIDE_EXITS, /std/room/exits.c
+ ausgaenge
+
+Letzte Aenderung: 22.12.2016, Bugfix
+