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/AddToMenu b/doc/lfun/AddToMenu
index 7ceacbb..01d46b6 100644
--- a/doc/lfun/AddToMenu
+++ b/doc/lfun/AddToMenu
@@ -1,240 +1,271 @@
+
 AddToMenu()
+***********
 
-FUNKTION:
-        varargs string AddToMenu(string  menuetext,
-                                 mixed   ids,
-                                 mapping minfo,
-                                 mixed   rate,
-                                 mixed   msg,
-                                 mixed   refresh,
-                                 mixed   delay,
-                                 mixed   d_msg);
 
-DEFINIERT IN:
-        /std/pub.c
+FUNKTION
+========
 
-ARGUMENTE:
-        Die Erlaeuterung der Parameter beschraenkt sich im Folgenden
-        zunaechst auf die Grundfunktionalitaet bei Verwendung fester
-        Werte. Die Moeglichkeiten zur Realisierung dynamischen Verhaltens
-        sind in den Fussnoten zu den einzelnen Parametern beschrieben.
+   varargs string AddToMenu(string  menuetext,
+                            mixed   ids,
+                            mapping minfo,
+                            mixed   rate,
+                            mixed   msg,
+                            mixed   refresh,
+                            mixed   delay,
+                            mixed   d_msg);
 
-        menuetext
-          Der Text steht als kurze Beschreibung im Menue.
-        ids
-          String oder Array von Strings, mit denen sich die Speise bzw. das
-          Getraenk beim Bestellen ansprechen laesst.
-        minfo
-          Mapping mit Eintraegen fuer:
-          P_HP      LP-Heilung in Punkten [*]
-          P_SP      KP-Heilung in Punkten [*]
-          P_FOOD    Saettigungswirkung der Speise [*]
-          P_DRINK   Saettigungswirkung des Getraenks [*]
-          P_ALCOHOL Alkoholgehalt des Getraenks [*]
-          P_VALUE   Preis der Speise bzw. des Getraenks [*]
-        rate [*]
-          Heilrate in Punkten pro HeartBeat.
-        msg [**]
-          Meldung beim Essen:
-          Array mit 2 Strings: (1) fuer Empfaenger, (2) fuer Andere.
-          Verfuegbare Platzhalter sind weiter unten im Abschnitt "Beispiel"
-          dokumentiert.
-        refresh
-          Mapping mit Eintraegen fuer:
-            PR_USER (Kontingent fuer einzelnen Spieler) [*]
-            PR_ALL  (Zusatzkontingent fuer alle) [*]
-          Alternativ: 0 fuer unbegrenzte Verfuegbarkeit
-          Einem Key muessen dabei zwei Werte zugeordnet werden:
-          Der Erste gibt die Hoehe des Kontingents an, der Zweite legt
-          fest, alle wieviel reset()s das Kontingent wieder aufgefuellt
-          wird.
-          Verwendung des Mappings erfordert Inkludieren von pub.h.
-        delay [*]
-          Zahl der Sekunden, um die verzoegert die Heilung eintritt,
-          z.B. weil das Essen erst zubereitet werden muss.
-        d_msg [**]
-          Meldung beim Bestellen, falls die Heilung verzoegert wird
-          Array mit 2 Strings: (1) fuer Empfaenger, (2) fuer Andere.
 
-          
-        [*] Dieser Parameter kann statt eines festen Zahlenwerts mit 
-            folgenden Werten gefuellt werden:
+DEFINIERT IN
+============
 
-            1) Mapping <racemodifier> der Form:
-                   ([ 0 : <standardwert> ,
-                    <rasse_1> : <wert_1>, 
-                    ... , 
-                    <rasse_n> : <wert_n> ]).
-               Die Eintraege in diesem Mapping werden gegen die Rasse des
-               bestellenden Spielers geprueft und entsprechend die 
-               zugehoerigen Werte verwendet.
-            2) string <func>: Aufruf erfolgt mittels 
-                 call_other(this_object(), func, empfaenger);
-               gerufen (aber: siehe Hinweise).
-            3) closure <func>: Aufruf erfolgt mittels
-                 funcall(func, empfaenger);
-            4) Array der Form  ({string <obj>, string <func>}) oder
-                               ({object <obj>, string <func>})
-               Aufruf erfolgt mittels
-                 call_other(obj, func, empfaenger);
-               (aber: siehe Hinweise). <obj> ist folglich als Objektpointer 
-               oder dessen object_name() anzugeben. <func> wird mittels 
-               function_exists() auf Existenz ueberprueft.
+   /std/pub.c
 
-               HINWEISE: im Falle von Lieferverzoegerung ("delay") und
-               Preis (P_VALUE) wird bei allen Funktionsaufrufen NICHT der 
-               Empfaenger, sondern der Zahler uebergeben.
-               Im Falle der Kontingent-Liste ("refresh") kann nur die
-               verfuegbare Menge modifiziert werden, nicht die Zeit
-               bis zum Wieder-Auffuellen.
 
-        [**] Zur Erzeugung variabler Meldungen koennen folgende Werte
-             eingetragen werden:
+ARGUMENTE
+=========
 
-             1) closure <func>: Aufruf erfolgt mittels 
-                  funcall(func, zahler, empfaenger, ident, minfo);
-             2) string <func>: Aufruf erfolgt mittels
-                  call_other(this_object(), func, zahler, empfaenger, 
-                             ident, minfo);
-             <func> bekommt Zahler und Empfaenger als Objektpointer,
-             ident als String und minfo als Mapping mit den 
-             jeweiligen Heilwerten uebergeben. minfo entspricht hierbei
-             den Daten, die als dritter Parameter an AddToMenu()
-             uebergeben wurden.
-             HINWEIS: wenn in das minfo-Mapping keine int-Festwerte 
-             eingetragen wurden, werden diese gemaess den Regeln unter [*]
-             geprueft; Funktionen/Closures werden ggf. ausgewertet und 
-             deren Rueckgabewerte an die Funktion <func> uebergeben.
-             WICHTIG: Die Rueckgabewerte der Funktion werden nicht 
-             ausgewertet. Jeder, der anstatt einer Meldung einen 
-             Funktionsaufruf programmiert, muss fuer die Ausgabe der
-             Meldungen selbst sorgen.
-                   
-BESCHREIBUNG:
-        Mit dieser Funktion werden Speisen oder Getraenke in die Karte
-        von Kneipen und Restaurants eingefuegt.
+   Die Erlaeuterung der Parameter beschraenkt sich im Folgenden
+   zunaechst auf die Grundfunktionalitaet bei Verwendung fester
+   Werte. Die Moeglichkeiten zur Realisierung dynamischen Verhaltens
+   sind in den Fussnoten zu den einzelnen Parametern beschrieben.
 
-RUECKGABEWERT:
-        Rueckgabewert ist ein String "menuentry%d", wobei %d eine Nummer
-        ist, die darueber Auskunft gibt, den wievielten Eintrag in die
-        interne Karte der Kneipe diese Speise bzw. dieses Getraenk
-        darstellt. Im Prinzip handelt es sich bei dem String um einen Key
-        fuer ein Mapping, in dem die Speisen bzw. Getraenke gespeichert
-        sind.
+   menuetext
+     Der Text steht als kurze Beschreibung im Menue.
+   ids
+     String oder Array von Strings, mit denen sich die Speise bzw. das
+     Getraenk beim Bestellen ansprechen laesst.
+   minfo
+     Mapping mit Eintraegen fuer:
+     P_HP      LP-Heilung in Punkten [*]
+     P_SP      KP-Heilung in Punkten [*]
+     P_FOOD    Saettigungswirkung der Speise [*]
+     P_DRINK   Saettigungswirkung des Getraenks [*]
+     P_ALCOHOL Alkoholgehalt des Getraenks [*]
+     P_VALUE   Preis der Speise bzw. des Getraenks [*]
+   rate [*]
+     Heilrate in Punkten pro HeartBeat.
+   msg [**]
+     Meldung beim Essen:
+     Array mit 2 Strings: (1) fuer Empfaenger, (2) fuer Andere.
+     Verfuegbare Platzhalter sind weiter unten im Abschnitt "Beispiel"
+     dokumentiert.
+   refresh
+     Mapping mit Eintraegen fuer:
+       PR_USER (Kontingent fuer einzelnen Spieler) [*]
+       PR_ALL  (Zusatzkontingent fuer alle) [*]
+     Alternativ: 0 fuer unbegrenzte Verfuegbarkeit
+     Einem Key muessen dabei zwei Werte zugeordnet werden:
+     Der Erste gibt die Hoehe des Kontingents an, der Zweite legt
+     fest, alle wieviel reset()s das Kontingent wieder aufgefuellt
+     wird.
+     Verwendung des Mappings erfordert Inkludieren von pub.h.
+   delay [*]
+     Zahl der Sekunden, um die verzoegert die Heilung eintritt,
+     z.B. weil das Essen erst zubereitet werden muss.
+   d_msg [**]
+     Meldung beim Bestellen, falls die Heilung verzoegert wird
+     Array mit 2 Strings: (1) fuer Empfaenger, (2) fuer Andere.
 
-BEMERKUNGEN:
-        Die aelteren Funktionen 'AddDrink' bzw. 'AddFood' werden zwar mithilfe
-        dieser maechtigeren Funktion aus Gruenden der Abwaertskompatibilitaet
-        simuliert, sollen aber nicht mehr eingesetzt werden.
-        
-        Die alten Platzhalter && etc. (s.u.) werden weiterhin unterstuetzt,
-        sollten aber fuer bessere Wartbarkeit nicht mehr verwendet werden.
-        
-        Fuer das Testen der Kneipe gibt es in jeder Kneipe den Befehl
-        'pubinit'. Hiermit lassen sich die Speisen und Getraenke durch-
-        checken. Steht in der Ausgabe bei einem Getraenk/Essen ein FAIL,
-        so wird die entsprechende Speise (oder Getraenk) NICHT an Spieler
-        verkauft. Ausnahmen fuer Speisen/Getraenke mit hoeheren maximalen
-        Werten sind durch Balance-EM zu genehmigen.
 
-BEISPIEL:
 
-        include <pub.h>
+   [*] Dieser Parameter kann statt eines festen Zahlenwerts mit
+       folgenden Werten gefuellt werden:
 
-        create()
-        {
-        AddToMenu("'Opa's Drachenkeule'",({"drachenkeule","keule"}),
-        ([P_HP:63,P_SP:63,P_FOOD:9,P_VALUE:528]), 5,
-        ({"Du isst die Keule mit einem schlechten Gewissen.",
-          "@WER1 isst die Keule mit einem schlechten Gewissen."}),
-        ([ PR_USER : 4; 1 , PR_ALL : 20; 3 ]), 9,
-        ({"Der unsichtbare Kneipier schneidet einem Rentner ein grosses "
-          "Stueck aus dessen Keule und bereitet sie Dir zu. Komisch, muss "
-          "wohl ein Tippfehler auf der Karte gewesen sein.",
-          "Der unsichtbare Kneipier schneidet einem hilflosen Opa ein "
-          "Stueck aus dessen Keule und braet diese fuer @WEN1."}) );
-        }
+       1) Mapping <racemodifier> der Form:
+              ([ 0 : <standardwert> ,
+               <rasse_1> : <wert_1>,
+               ... ,
+               <rasse_n> : <wert_n> ]).
+          Die Eintraege in diesem Mapping werden gegen die Rasse des
+          bestellenden Spielers geprueft und entsprechend die
+          zugehoerigen Werte verwendet.
+       2) string <func>: Aufruf erfolgt mittels
+            call_other(this_object(), func, empfaenger);
+          gerufen (aber: siehe Hinweise).
+       3) closure <func>: Aufruf erfolgt mittels
+            funcall(func, empfaenger);
+       4) Array der Form  ({string <obj>, string <func>}) oder
+                          ({object <obj>, string <func>})
+          Aufruf erfolgt mittels
+            call_other(obj, func, empfaenger);
+          (aber: siehe Hinweise). <obj> ist folglich als Objektpointer
+          oder dessen object_name() anzugeben. <func> wird mittels
+          function_exists() auf Existenz ueberprueft.
 
-        1) Name der Speise (des Getraenks) auf der Karte (bei menue).
+          HINWEISE: im Falle von Lieferverzoegerung ("delay") und
+          Preis (P_VALUE) wird bei allen Funktionsaufrufen NICHT der
+          Empfaenger, sondern der Zahler uebergeben.
+          Im Falle der Kontingent-Liste ("refresh") kann nur die
+          verfuegbare Menge modifiziert werden, nicht die Zeit
+          bis zum Wieder-Auffuellen.
 
-           AddToMenu("'Opa's Drachenkeule'",     
+   [**] Zur Erzeugung variabler Meldungen koennen folgende Werte
+        eingetragen werden:
 
-        2) ids mit denen sich bestellen laesst (z.B. "kaufe keule").
+        1) closure <func>: Aufruf erfolgt mittels
+             funcall(func, zahler, empfaenger, ident, minfo);
+        2) string <func>: Aufruf erfolgt mittels
+             call_other(this_object(), func, zahler, empfaenger,
+                        ident, minfo);
+        <func> bekommt Zahler und Empfaenger als Objektpointer,
+        ident als String und minfo als Mapping mit den
+        jeweiligen Heilwerten uebergeben. minfo entspricht hierbei
+        den Daten, die als dritter Parameter an AddToMenu()
+        uebergeben wurden.
+        HINWEIS: wenn in das minfo-Mapping keine int-Festwerte
+        eingetragen wurden, werden diese gemaess den Regeln unter [*]
+        geprueft; Funktionen/Closures werden ggf. ausgewertet und
+        deren Rueckgabewerte an die Funktion <func> uebergeben.
+        WICHTIG: Die Rueckgabewerte der Funktion werden nicht
+        ausgewertet. Jeder, der anstatt einer Meldung einen
+        Funktionsaufruf programmiert, muss fuer die Ausgabe der
+        Meldungen selbst sorgen.
 
-           ({"drachen","drachenkeule","keule"}),
 
-        3) Heilung fuer LP und KP, Saettigung (P_FOOD oder P_DRINK,
-           P_ALCOHOL nach Belieben setzen), Preis (P_VALUE). 
-           HP und SP muessen nicht gleich sein. Speisen und Getraenke,
-           die nur eines von beiden heilen, sind auch moeglich.
+BESCHREIBUNG
+============
 
-           ([P_HP:63,P_SP:63,P_FOOD:9,P_VALUE:528]),
+   Mit dieser Funktion werden Speisen oder Getraenke in die Karte
+   von Kneipen und Restaurants eingefuegt.
 
-        4) Heilung pro Heartbeat (in diesem Beispiel je 5 KP/LP).
-    
-           5,
 
-        5) Meldungen fuer Spieler und Umstehende die bei Genuss ausgege-
-           ben werden (also NICHT der Bestell-Text).
+RUECKGABEWERT
+=============
 
-           ({"Du isst die Keule mit einem schlechten Gewissen.",
-             "@WER1 isst die Keule mit einem schlechten Gewissen."}),
+   Rueckgabewert ist ein String "menuentry%d", wobei %d eine Nummer
+   ist, die darueber Auskunft gibt, den wievielten Eintrag in die
+   interne Karte der Kneipe diese Speise bzw. dieses Getraenk
+   darstellt. Im Prinzip handelt es sich bei dem String um einen Key
+   fuer ein Mapping, in dem die Speisen bzw. Getraenke gespeichert
+   sind.
 
-           Die Ausgabe-Strings werden vor der Ausgabe mit dem Empfaenger
-           als Objekt an replace_personal() uebergeben. Fuer die
-           moeglichen Platzhalter siehe dort.
-          
-        6) Die Speise ist in ihrer Anzahl begrenzt. Fuer jeden Spieler
-           sind 4 Keulen pro reset() da. Ausserdem gibt es noch einen
-           "Notvorrat" von 20 Keulen, der alle 3 reset()s aufgefuellt
-           wird. Aus diesem (so noch vorhanden) werden die Spieler
-           versorgt, wenn ihr "persoenlicher Vorrat" aufgebraucht ist.
 
-           ([ PR_USER : 4; 1 , PR_ALL : 20; 3 ]),
-           
-           HINWEIS: bei Benutzung des Mappings muss <pub.h> inkludiert 
-           werden!
-           
-           Wenn man keine reset-abhaengigen Speisen haben moechte, traegt
-           man hier eine 0 ein.
+BEMERKUNGEN
+===========
 
-        7) Die Zahl ist die Wartezeit in Sekunden, die der Wirt z.B. fuer
-           die Zubereitung und Auslieferung an den Spieler braucht.
+   Die aelteren Funktionen 'AddDrink' bzw. 'AddFood' werden zwar mithilfe
+   dieser maechtigeren Funktion aus Gruenden der Abwaertskompatibilitaet
+   simuliert, sollen aber nicht mehr eingesetzt werden.
 
-           9,
-         
-        8) Letztendlich die Meldungen an Spieler und Umstehende, die bei Be-
-           stellung (hier 'kaufe keule') ausgegeben werden.
 
-           ({"Der unsichtbare Kneipier schneidet einem Rentner ein grosses "
-           "Stueck aus dessen Keule und bereitet sie Dir zu. Komisch, muss "
-           "wohl ein Tippfehler auf der Karte gewesen sein.",
-           "Der unsichtbare Kneipier schneidet einem hilflosen Opa ein "
-           "Stueck aus dessen Keule und braet diese fuer @WEN1."}));
+
+   Die alten Platzhalter && etc. (s.u.) werden weiterhin unterstuetzt,
+   sollten aber fuer bessere Wartbarkeit nicht mehr verwendet werden.
+
+
+
+   Fuer das Testen der Kneipe gibt es in jeder Kneipe den Befehl
+   'pubinit'. Hiermit lassen sich die Speisen und Getraenke durch-
+   checken. Steht in der Ausgabe bei einem Getraenk/Essen ein FAIL,
+   so wird die entsprechende Speise (oder Getraenk) NICHT an Spieler
+   verkauft. Ausnahmen fuer Speisen/Getraenke mit hoeheren maximalen
+   Werten sind durch Balance-EM zu genehmigen.
+
+
+BEISPIEL
+========
+
+   include <pub.h>
+
+   create()
+   {
+   AddToMenu("'Opa's Drachenkeule'",({"drachenkeule","keule"}),
+   ([P_HP:63,P_SP:63,P_FOOD:9,P_VALUE:528]), 5,
+   ({"Du isst die Keule mit einem schlechten Gewissen.",
+     "@WER1 isst die Keule mit einem schlechten Gewissen."}),
+   ([ PR_USER : 4; 1 , PR_ALL : 20; 3 ]), 9,
+   ({"Der unsichtbare Kneipier schneidet einem Rentner ein grosses "
+     "Stueck aus dessen Keule und bereitet sie Dir zu. Komisch, muss "
+     "wohl ein Tippfehler auf der Karte gewesen sein.",
+     "Der unsichtbare Kneipier schneidet einem hilflosen Opa ein "
+     "Stueck aus dessen Keule und braet diese fuer @WEN1."}) );
+   }
+
+   1) Name der Speise (des Getraenks) auf der Karte (bei menue).
+
+      AddToMenu("'Opa's Drachenkeule'",
+
+   2) ids mit denen sich bestellen laesst (z.B. "kaufe keule").
+
+      ({"drachen","drachenkeule","keule"}),
+
+   3) Heilung fuer LP und KP, Saettigung (P_FOOD oder P_DRINK,
+      P_ALCOHOL nach Belieben setzen), Preis (P_VALUE).
+      HP und SP muessen nicht gleich sein. Speisen und Getraenke,
+      die nur eines von beiden heilen, sind auch moeglich.
+
+      ([P_HP:63,P_SP:63,P_FOOD:9,P_VALUE:528]),
+
+   4) Heilung pro Heartbeat (in diesem Beispiel je 5 KP/LP).
+
+
+
+      5,
+
+   5) Meldungen fuer Spieler und Umstehende die bei Genuss ausgege-
+      ben werden (also NICHT der Bestell-Text).
+
+      ({"Du isst die Keule mit einem schlechten Gewissen.",
+        "@WER1 isst die Keule mit einem schlechten Gewissen."}),
+
+      Die Ausgabe-Strings werden vor der Ausgabe mit dem Empfaenger
+      als Objekt an replace_personal() uebergeben. Fuer die
+      moeglichen Platzhalter siehe dort.
+
+
+
+   6) Die Speise ist in ihrer Anzahl begrenzt. Fuer jeden Spieler
+      sind 4 Keulen pro reset() da. Ausserdem gibt es noch einen
+      "Notvorrat" von 20 Keulen, der alle 3 reset()s aufgefuellt
+      wird. Aus diesem (so noch vorhanden) werden die Spieler
+      versorgt, wenn ihr "persoenlicher Vorrat" aufgebraucht ist.
+
+      ([ PR_USER : 4; 1 , PR_ALL : 20; 3 ]),
+
+
+
+      HINWEIS: bei Benutzung des Mappings muss <pub.h> inkludiert
+      werden!
+
+
+
+      Wenn man keine reset-abhaengigen Speisen haben moechte, traegt
+      man hier eine 0 ein.
+
+   7) Die Zahl ist die Wartezeit in Sekunden, die der Wirt z.B. fuer
+      die Zubereitung und Auslieferung an den Spieler braucht.
+
+      9,
+
+
+
+   8) Letztendlich die Meldungen an Spieler und Umstehende, die bei Be-
+      stellung (hier 'kaufe keule') ausgegeben werden.
+
+      ({"Der unsichtbare Kneipier schneidet einem Rentner ein grosses "
+      "Stueck aus dessen Keule und bereitet sie Dir zu. Komisch, muss "
+      "wohl ein Tippfehler auf der Karte gewesen sein.",
+      "Der unsichtbare Kneipier schneidet einem hilflosen Opa ein "
+      "Stueck aus dessen Keule und braet diese fuer @WEN1."}));
 
 LISTE DER ALTEN PLATZHALTER (DEPRECATED):
-           &&  - pl->name(WER,2)
-           &1& - pl->name(WER,2)
-           &2& - pl->name(WESSEN,2)
-           &3& - pl->name(WEM,2)
-           &4& - pl->name(WEN,2)
-           &1# - capitalize(pl->name(WER,2))
-           &2# - capitalize(pl->name(WESSEN,2))
-           &3# - capitalize(pl->name(WEM,2))
-           &4# - capitalize(pl->name(WEN,2))
-           &!  - pl->QueryPronoun(WER)
-           &5& - pl->QueryPronoun(WE);
-           &6& - pl->QueryPronoun(WESSEN)
-           &7& - pl->QueryPronoun(WEM)
-           &8& - pl->QueryPronoun(WEN)
-           &5# - capitalize(pl->QueryPronoun(WER))
-           &6# - capitalize(pl->QueryPronoun(WESSEN))
-           &7# - capitalize(pl->QueryPronoun(WEM))
-           &8# - capitalize(pl->QueryPronoun(WEN))
+   &&  - pl->name(WER,2) &1& - pl->name(WER,2) &2& -
+   pl->name(WESSEN,2) &3& - pl->name(WEM,2) &4& - pl->name(WEN,2) &1#
+   - capitalize(pl->name(WER,2)) &2# - capitalize(pl->name(WESSEN,2))
+   &3# - capitalize(pl->name(WEM,2)) &4# - capitalize(pl->name(WEN,2))
+   &!  - pl->QueryPronoun(WER) &5& - pl->QueryPronoun(WE); &6& -
+   pl->QueryPronoun(WESSEN) &7& - pl->QueryPronoun(WEM) &8& -
+   pl->QueryPronoun(WEN) &5# - capitalize(pl->QueryPronoun(WER)) &6# -
+   capitalize(pl->QueryPronoun(WESSEN)) &7# -
+   capitalize(pl->QueryPronoun(WEM)) &8# -
+   capitalize(pl->QueryPronoun(WEN))
 
 
-SIEHE AUCH:
-        AddFood(), AddDrink(), /sys/pub.h
-        RemoveFromMenu(), replace_personal()
-----------------------------------------------------------------------------
+SIEHE AUCH
+==========
+
+   AddFood(), AddDrink(), /sys/pub.h
+   RemoveFromMenu(), replace_personal()
+
 Last modified: Sam, 01. Okt 2011, 23:40 by Arathorn