Update auto-erzeugter Manpages.

Change-Id: Iff30c40e141bb8f9b1f82e4763272504881375fc
diff --git a/doc/lfun/AddInfo b/doc/lfun/AddInfo
index 193e407..c684fe0 100644
--- a/doc/lfun/AddInfo
+++ b/doc/lfun/AddInfo
@@ -23,8 +23,8 @@
       Schluesseltext(e) auf die Informationen gegeben werden sollen.
 
    string/closure meldung
-      Information, die gegeben werden soll/Closure Bekommt nichts
-      uebergeben.
+      Information, die gegeben werden soll; wenn 'meldung' eine
+      Closure ist, wird der gerufenen Funktion nichts uebergeben.
 
    string indent
       Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
@@ -62,7 +62,9 @@
    Silent:
       Bei 'silent'==1 erfolgt keine Textausgabe der Antwortmeldung im
       Raum, ist 'silent' ein String, so wird jener an alle anderen
-      Spieler ausser dem Fragesteller im Raum ausgegeben.
+      Spieler ausser dem Fragesteller im Raum ausgegeben. Dem
+      ausgegebenen Text wird der Name des NPCs als Indent
+      vorangestellt.
 
    Casebased:
       Die als Closure angegebene Methode entscheidet, ob oder wie der
@@ -106,9 +108,9 @@
        "Ich habe zwar kein Geld, aber [...] blablabla [...]",
        "sagt: ");
    AddInfo("muenzen",
-       "fluestert: Du willst Geld?",
+       "fluestert: Du willst Geld?\n",
        0,
-       "fluestert @WEM1 etwas zu.");
+       "fluestert @WEM1 etwas zu.\n");
 
    // "frage monster nach geld": alle im Raum hoeren
    //  Das Monster sagt: Ich habe zwar kein Geld, aber [...]
@@ -148,7 +150,7 @@
 
    AddInfo(({"keks","kekse"}),
        #'query_kekse,"        // ein Verweis auf die Funktion
-       sagt: ",
+       "sagt: ",
        0,                     // nicht silent :)
        #'case_fighting);      // noch ein Funktionsverweis
 
@@ -185,50 +187,58 @@
    protected string question_gold() {
      // wieviel Kohle hat der Spieler
      int money = this_player()->QueryMoney();
-     string* y = map(deep_inventory(this_player()),
-                   function string(object o) {
-                     if(o->QueryMaterial(MAT_GOLD)>0 &&
-                        strstr(object_name(o),"/items/money")<0 &&
-                        o->QueryProp(P_NAME))
-                       return o->name(WER,1);
-                   })-({0});
+     string* valuables = ({});
+
+     // Wertgegenstaende suchen, d.h. Material kein Gold,
+     // Objekt kein Geld, und auch nicht unsichtbar
+     foreach(object o : deep_inventory(this_player()))
+     {
+       if ( o->QueryMaterial(MAT_GOLD)>0 &&
+            load_name(o) != "/items/money" &&
+            o->QueryProp(P_SHORT) &&
+            !o->QueryProp(P_INVIS) )
+       {
+         valuables += ({o->Name(WER,1)});
+       }
+     }
 
      // das geht an alle anderen im Raum, silent bietet sich hier
      // nicht an, weil es mehrere Moeglichkeiten gibt
      send_room(environment(),
-       (Name(WER,1)+" murmelt "+
-        this_player()->name(WEM,1)+
-        " etwas zu"+
-        ((money || sizeof(y))?
-          " und glotzt "+this_player()->QueryPronoun(WEN)+" gierig an.":
-          ".")),
+       sprintf("%s murmelt %s etwas zu%s.",
+               Name(WER,1),
+               this_player()->name(WEM,1),
+               (money || sizeof(valuables))?
+                 " und glotzt "+this_player()->QueryPronoun(WEN)+
+                 " gierig an" : ""),
        MT_LOOK|MT_LISTEN,
        MA_EMOTE, 0, ({this_player()}));
 
-     // und hier die Antwort an den Spieler selbst, mit vielen
-     // Verzweigungen fuer dessen Besitztum
-     return("Ich hab kein Gold bei mir."+
-       ((money || sizeof(y))?
-         " Aber du "+
-         (money?
-           "hast ja jede Menge Kohle bei dir, so etwa "+money+
-           " Muenzen."+
-           (sizeof(y)?
-             " Ausserdem "+
-             ((sizeof(y)==1)?"ist":"sind")+
-             " auch noch "+CountUp(y)+" aus Gold.":
-             ""):
-           (sizeof(y)?"hast ja ein paar Wertsachen dabei: "+
-           CountUp(y)+
-           (sizeof(y)==1?" ist":" sind")+
-           " aus Gold.":"")):
-         ""));
+     // Und hier die Antwort an den Spieler selbst, mit diversen
+     // Verzweigungen fuer dessen Besitztum.
+     string reply = "Ich hab kein Gold bei mir.";
+     string verb = sizeof(valuables) ? "ist" : "sind";
+     if ( money )
+     {
+       reply += " Aber Du hast ja jede Menge Kohle bei dir, so etwa "+
+                money+" Muenzen.";
+       if ( sizeof(valuables) )
+         reply += sprintf(" Ausserdem %s auch noch %s aus Gold.",
+                    verb, CountUp(valuables));
+     }
+     else if ( sizeof(valuables) )
+     {
+         reply += sprintf(
+           " Aber Du hast ja ein paar Wertsachen dabei: %s %s aus Gold.",
+           CountUp(valuables), verb);
+     }
+     return reply;
    }
 
    // "frage monster nach gold"
    // - der Fragesteller hoert zB:
-   //   Das Monster murmelt: Ich hab kein Gold bei mir. Aber du hast ja
-   //   Das Monster murmelt: jede Menge Kohle bei dir, so etwas <number>
+   //   Das Monster murmelt: Ich hab kein Gold bei mir. Aber Du hast ja
+   //   Das Monster murmelt: jede Menge Kohle bei Dir, so etwa <number>
    //   Das Monster murmelt: Muenzen. Ausserdem ist/sind noch <object1>
    //   Das Monster murmelt: und <object2> aus Gold."
    // - die Umstehenden hoeren: