diff --git a/doc/lfun/AddPursuer b/doc/lfun/AddPursuer
index f4839e6..5e8b2f8 100644
--- a/doc/lfun/AddPursuer
+++ b/doc/lfun/AddPursuer
@@ -20,8 +20,8 @@
 ========
 
    Durch den Aufruf von AddPursuer in einem Objekt, welches living() ist,
-   wird das Object, welches als Argument uebergeben wurde in die Liste
-   der Verfolger eingetragen. Alle Objekte, die in der Verfolgerliste stehen
+   wird das Object, welches als Argument uebergeben wurde, in die Liste
+   der Verfolger eingetragen. Alle Objekte, die in der Verfolgerliste stehen,
    werden bei Bewegungen des Verfolgten in dasselbe Environment bewegt.
 
 
@@ -49,4 +49,6 @@
 SIEHE AUCH
 ==========
 
-   "RemovePursuer", "PreventFollow"
+   * Lfuns:       RemovePursuer(), PreventFollow()
+
+   * Properties:  P_PURSUERS
diff --git a/doc/lfun/GetDetail b/doc/lfun/GetDetail
index 7e5a092..4a2bd71 100644
--- a/doc/lfun/GetDetail
+++ b/doc/lfun/GetDetail
@@ -49,19 +49,29 @@
    gibt.
 
 
+HINWEIS
+=======
+
+   Fuer SENSE_VIEW und SENSE_READ wird die Funktion gar nicht erst
+   aufgerufen, wenn der Spieler nichts sehen kann. Das gleiche gilt fuer
+   SENSE_SOUND, wenn der Spieler taub ist.
+
+
 BEISPIEL
 ========
 
    Im folgenden wird ein kleines Testdetail generiert:
      AddDetail("test","Das ist ein Test!\n");
+
    Im folgenden wird das Detail entfernt, wenn es existiert. Dies ist
    eigentlich nicht noetig, da RemoveDetail() damit zurechtkommt, aber
    eventuell sind ja noch weitere Aktionen noetig.
-     if(GetDetail("test"))
-     { RemoveDetail("test");
+     if(GetDetail("test")) {
+       RemoveDetail("test");
        ...
      }
-   Ein Geruch kann man folgendermassen erzeugen:
+
+   Einen Geruch kann man folgendermassen erzeugen:
      AddSmells("gold",
        ([0      :"Gold kann man nicht riechen!\n",
          "zwerg":"Deine trainierte Nase riecht es muehelos!\n"]));
diff --git a/doc/lfun/QueryMoney b/doc/lfun/QueryMoney
index 775a65c..b0b4aa8 100644
--- a/doc/lfun/QueryMoney
+++ b/doc/lfun/QueryMoney
@@ -13,37 +13,55 @@
 ============
 
    /std/player/moneyhandler.c
+   /std/container/moneyhandler.c
 
 
 BESCHREIBUNG
 ============
 
-   Testet, ob ein Spieler, Objekt, Raum oder Npc ueber eine definierte
-   Geldmenge verfuegt, oder nicht.
+   Gibt den Geldbetrag zurueck, den ein Spieler, Gegenstand, Raum oder NPC
+   besitzt.
 
 
 RUECKGABEWERT
 =============
 
-   Geldmenge im Besitz des abgefragten Spielers
+   Geldmenge im Besitz des abgefragten Spielers (Integer).
+
+
+HINWEIS
+=======
+
+   Bei Spielern (bzw. allgemein Objekten, die /std/player/moneyhandler
+   erben) beruecksichtigt die Funktion auch das Guthaben auf der
+   Seherkarte.
+
+   Nicht-Spieler-Objekte sollten /std/container/moneyhandler erben.
+
+   Zur Ermittlung des Geldobjekts, des Geldboersenobjekts oder des
+   Seherkartenobjekts z.B. mittels present() oder present_clone() stehen in
+   <money.h> einige Defines zur Verfuegung, die hierfuer bevorzugt zu
+   benutzen sind.
 
 
 BEISPIELE
 =========
 
-   int i;
-   i=50+random(10);
-   if(!this_player()->QueryMoney())
+   int i = 50+random(10);
+   int money = this_player()->QueryMoney();
+   if(!money)
      write("Du besitzt keine Muenzen!\n");
-   if(this_player()->QueryMoney() < i)
+   else if(money < i)
      write("Du besitzt nicht die erforderlichen "+i+" Muenzen.\n");
 
 
 SIEHE AUCH
 ==========
 
-   Geldhandling:      AddMoney(L)
-   Zentralbank:       PayIn(L), WithDraw(L), _query_current_money(L)
-   Sonstiges:         /items/money.c
+   Geldhandling: AddMoney()
 
-Last modified: Die,  1. Aug 2000, 16:39:06 by Tilly
+   Zentralbank:  PayIn(), WithDraw(), _query_current_money()
+
+   Sonstiges:    /items/money.c
+
+Last modified: 2021-02-28, Arathorn
diff --git a/doc/lfun/RemovePursuer b/doc/lfun/RemovePursuer
index cf8f0dc..e371096 100644
--- a/doc/lfun/RemovePursuer
+++ b/doc/lfun/RemovePursuer
@@ -3,10 +3,6 @@
 ***************
 
 
-RemoveRursuer()
-===============
-
-
 FUNKTION
 ========
 
@@ -24,7 +20,7 @@
 ========
 
    Durch den Aufruf von RemovePursuer in einem Objekt, welches living() ist,
-   wird das Object, welches als Argument uebergeben wurde aus der Liste
+   wird das Object, welches als Argument uebergeben wurde, aus der Liste
    der Verfolger ausgetragen.
 
 
@@ -50,4 +46,6 @@
 SIEHE AUCH
 ==========
 
-   "AddPursuer", "PreventFollow"
+   * Lfuns:  AddPursuer(), PreventFollow()
+
+   * Properties: P_PURSUERS
diff --git a/doc/lfun/create_default_npc b/doc/lfun/create_default_npc
index 1fae71a..f2294ed 100644
--- a/doc/lfun/create_default_npc
+++ b/doc/lfun/create_default_npc
@@ -9,10 +9,11 @@
    varargs void create_default_npc( int level, int maxhp );
 
 
-BENUTZUNG
-=========
+DEFINIERT IN
+============
 
-   inherit "std/npc";
+   /std/npc.c
+   /sys/npc.h
 
 
 FUNKTION
diff --git a/doc/lfun/show_notify b/doc/lfun/show_notify
index 9d42c15..e69e5ac 100644
--- a/doc/lfun/show_notify
+++ b/doc/lfun/show_notify
@@ -14,7 +14,7 @@
 DEFINIERT IN
 ============
 
-   /std/living/put_and_get.c
+   beliebigen Objekten
 
 
 ARGUMENTE
@@ -34,6 +34,9 @@
 
    Diese Funktion wird automatisch immer dann aufgerufen, wenn einem
    Lebewesen (welches kein Spielercharakter ist) ein Objekt gezeigt wird.
+   Will das Lebewesen auf so etwas reagieren, ist das Implementieren dieser
+   Funktion der einfachste Weg.
+
    Dies funktioniert nur dann, wenn der Standardbefehl der Spielershell
    verwendet wird ("zeige <name> <gegenstand>"). Selbstgebautes "zeige"
    funktioniert nicht.
@@ -70,4 +73,4 @@
 
    give_notify(), /std/npc/put_and_get.c, /std/living/put_and_get.c
 
-22. Oktober 2013 Arathorn
+04.02.2020 Zesstra
diff --git a/doc/props/P_NEVERDROP b/doc/props/P_NEVERDROP
index d0cdf41..468bcc6 100644
--- a/doc/props/P_NEVERDROP
+++ b/doc/props/P_NEVERDROP
@@ -22,6 +22,8 @@
    Lebewesens nicht automatisch in die Leiche oder in den umgebenden
    Raum (z.B. bei bei gesetztem P_NOCORPSE) transportiert.
 
+   Die Property darf nur die Werte 0 oder 1 enthalten.
+
 
 BEMERKUNGEN
 ===========
diff --git a/doc/props/P_PURSUERS b/doc/props/P_PURSUERS
index feaf575..1b0a72a 100644
--- a/doc/props/P_PURSUERS
+++ b/doc/props/P_PURSUERS
@@ -1,13 +1,12 @@
 
-P_PURSUERS
-**********
+_PURSUERS
+*********
 
 
 NAME
 ====
 
-   P_PURSUERS:
-      "pursuers"
+   P_PURSUERS:         "pursuers"
 
 
 DEFINIERT IN
@@ -19,8 +18,12 @@
 BESCHREIBUNG
 ============
 
-   Enthaelt ein zweielementiges Array mit folgendem Aufbau: 0: Objekt
-   welches verfolg wird oder 0. 1: Array der Objekte welche verfolgen.
+   Enthaelt ein zweielementiges Array mit folgendem Aufbau:
+
+   0: Objekt, welches verfolgt wird, oder 0.
+   1: Array der Objekte, welche verfolgen.
+
+   Die Property ist im Verfolger ebenso wie im Verfolgten gesetzt.
 
 
 BEMERKUNG
@@ -31,8 +34,17 @@
    NICHT von Hand, sondern nur mit den dafuer gedachten Funktionen
    modifizieren.
 
+   Bei der typischen Konstellation, dass ein einzelner NPC einen
+   Spieler verfolgt, sehen die Properties so aus:
+
+   - Im Spieler  ({ 0, ({npc_objekt}) })
+   - Im NPC      ({ spieler_objekt , ({}) })
+
+   Nur bei einer Kette von Verfolgern, d.h. wenn ein Verfolger selbst
+   ebenfalls verfolgt wird, sind beide Elemente des Arrays befuellt.
+
 
 SIEHE AUCH
 ==========
 
-   * AddPursuer(), RemovePursuer()
+   Lfuns:  AddPursuer(), RemovePursuer(), PreventFollow()
diff --git a/doc/sphinx/lfun/AddPursuer.rst b/doc/sphinx/lfun/AddPursuer.rst
index e54f1a9..91e86d1 100644
--- a/doc/sphinx/lfun/AddPursuer.rst
+++ b/doc/sphinx/lfun/AddPursuer.rst
@@ -19,8 +19,8 @@
 ::
 
   Durch den Aufruf von AddPursuer in einem Objekt, welches living() ist,
-  wird das Object, welches als Argument uebergeben wurde in die Liste
-  der Verfolger eingetragen. Alle Objekte, die in der Verfolgerliste stehen
+  wird das Object, welches als Argument uebergeben wurde, in die Liste
+  der Verfolger eingetragen. Alle Objekte, die in der Verfolgerliste stehen,
   werden bei Bewegungen des Verfolgten in dasselbe Environment bewegt.
 
 RUECKGABEWERT
@@ -46,7 +46,7 @@
 
 SIEHE AUCH
 ----------
-::
 
-  "RemovePursuer", "PreventFollow"
+  - Lfuns:       :doc:`RemovePursuer`, :doc:`PreventFollow`
+  - Properties:  P_PURSUERS
 
diff --git a/doc/sphinx/lfun/GetDetail.rst b/doc/sphinx/lfun/GetDetail.rst
index 2f75779..6d4e5ed 100644
--- a/doc/sphinx/lfun/GetDetail.rst
+++ b/doc/sphinx/lfun/GetDetail.rst
@@ -47,20 +47,30 @@
     Die Beschreibung des Details oder 0, wenn es dieses Detail nicht
     gibt.
 
+HINWEIS
+-------
+::
+
+    Fuer SENSE_VIEW und SENSE_READ wird die Funktion gar nicht erst 
+    aufgerufen, wenn der Spieler nichts sehen kann. Das gleiche gilt fuer
+    SENSE_SOUND, wenn der Spieler taub ist.
+
 BEISPIEL
 --------
 ::
 
     Im folgenden wird ein kleines Testdetail generiert:
       AddDetail("test","Das ist ein Test!\n");
+
     Im folgenden wird das Detail entfernt, wenn es existiert. Dies ist
     eigentlich nicht noetig, da RemoveDetail() damit zurechtkommt, aber
     eventuell sind ja noch weitere Aktionen noetig.
-      if(GetDetail("test"))
-      { RemoveDetail("test");
+      if(GetDetail("test")) { 
+        RemoveDetail("test");
         ...
       }
-    Ein Geruch kann man folgendermassen erzeugen:
+
+    Einen Geruch kann man folgendermassen erzeugen:
       AddSmells("gold",
         ([0      :"Gold kann man nicht riechen!\n",
           "zwerg":"Deine trainierte Nase riecht es muehelos!\n"]));
diff --git a/doc/sphinx/lfun/QueryMoney.rst b/doc/sphinx/lfun/QueryMoney.rst
index d38eed5..97dd399 100644
--- a/doc/sphinx/lfun/QueryMoney.rst
+++ b/doc/sphinx/lfun/QueryMoney.rst
@@ -12,38 +12,54 @@
 ::
 
      /std/player/moneyhandler.c
+     /std/container/moneyhandler.c
 
 BESCHREIBUNG
 ------------
 ::
 
-     Testet, ob ein Spieler, Objekt, Raum oder Npc ueber eine definierte 
-     Geldmenge verfuegt, oder nicht.
+     Gibt den Geldbetrag zurueck, den ein Spieler, Gegenstand, Raum oder NPC
+     besitzt.
 
 RUECKGABEWERT
 -------------
 ::
 
-     Geldmenge im Besitz des abgefragten Spielers
+     Geldmenge im Besitz des abgefragten Spielers (Integer).
+
+HINWEIS
+-------
+:: 
+
+     Bei Spielern (bzw. allgemein Objekten, die /std/player/moneyhandler
+     erben) beruecksichtigt die Funktion auch das Guthaben auf der
+     Seherkarte.
+
+     Nicht-Spieler-Objekte sollten /std/container/moneyhandler erben.
+
+     Zur Ermittlung des Geldobjekts, des Geldboersenobjekts oder des 
+     Seherkartenobjekts z.B. mittels present() oder present_clone() stehen in
+     <money.h> einige Defines zur Verfuegung, die hierfuer bevorzugt zu
+     benutzen sind.
 
 BEISPIELE
 ---------
 ::
 
-     int i;
-     i=50+random(10);
-     if(!this_player()->QueryMoney())
+     int i = 50+random(10);
+     int money = this_player()->QueryMoney();
+     if(!money)
        write("Du besitzt keine Muenzen!\n");
-     if(this_player()->QueryMoney() < i)
+     else if(money < i)
        write("Du besitzt nicht die erforderlichen "+i+" Muenzen.\n");
 
 SIEHE AUCH
 ----------
-::
 
-     Geldhandling:	AddMoney(L)
-     Zentralbank:	PayIn(L), WithDraw(L), _query_current_money(L)
-     Sonstiges:		/items/money.c
+   Geldhandling: :doc:`AddMoney`
 
-Last modified: Die,  1. Aug 2000, 16:39:06 by Tilly
+   Zentralbank:  :doc:`PayIn`, :doc:`WithDraw`, :doc:`_query_current_money`
 
+   Sonstiges:    /items/money.c
+
+Last modified: 2021-02-28, Arathorn
diff --git a/doc/sphinx/lfun/RemovePursuer.rst b/doc/sphinx/lfun/RemovePursuer.rst
index 0eca43a..1b66a25 100644
--- a/doc/sphinx/lfun/RemovePursuer.rst
+++ b/doc/sphinx/lfun/RemovePursuer.rst
@@ -1,10 +1,6 @@
 RemovePursuer()
 ===============
 
-RemoveRursuer()
----------------
-::
-
 FUNKTION
 --------
 ::
@@ -23,7 +19,7 @@
 ::
 
   Durch den Aufruf von RemovePursuer in einem Objekt, welches living() ist,
-  wird das Object, welches als Argument uebergeben wurde aus der Liste
+  wird das Object, welches als Argument uebergeben wurde, aus der Liste
   der Verfolger ausgetragen.
 
 RUECKGABEWERT
@@ -47,7 +43,7 @@
 
 SIEHE AUCH
 ----------
-::
 
-  "AddPursuer", "PreventFollow"
+  - Lfuns:  :doc:`AddPursuer`, :doc:`PreventFollow`
+  - Properties: P_PURSUERS
 
diff --git a/doc/sphinx/props/P_NEVERDROP.rst b/doc/sphinx/props/P_NEVERDROP.rst
index 3c4b161..157334d 100644
--- a/doc/sphinx/props/P_NEVERDROP.rst
+++ b/doc/sphinx/props/P_NEVERDROP.rst
@@ -17,9 +17,11 @@
 ------------
 ::
 
-	Objekte, welche diese Property gesetzt haben, werden beim Tod eines
-	Lebewesens nicht automatisch in die Leiche oder in den umgebenden
-	Raum (z.B. bei bei gesetztem P_NOCORPSE) transportiert.
+  Objekte, welche diese Property gesetzt haben, werden beim Tod eines
+  Lebewesens nicht automatisch in die Leiche oder in den umgebenden
+  Raum (z.B. bei bei gesetztem P_NOCORPSE) transportiert.
+  
+  Die Property darf nur die Werte 0 oder 1 enthalten.
 
 BEMERKUNGEN
 -----------
diff --git a/doc/sphinx/props/P_PURSUERS.rst b/doc/sphinx/props/P_PURSUERS.rst
index fb9d5e5..64b5f4e 100644
--- a/doc/sphinx/props/P_PURSUERS.rst
+++ b/doc/sphinx/props/P_PURSUERS.rst
@@ -1,11 +1,10 @@
-P_PURSUERS
+_PURSUERS
 ==========
 
 NAME
 ----
 
-  P_PURSUERS:
-    "pursuers"                    
+  P_PURSUERS:         "pursuers"                    
 
 DEFINIERT IN
 ------------
@@ -15,20 +14,36 @@
 
 BESCHREIBUNG
 ------------
+:: 
+  
+   Enthaelt ein zweielementiges Array mit folgendem Aufbau:
 
-  Enthaelt ein zweielementiges Array mit folgendem Aufbau:
-  0: Objekt welches verfolg wird oder 0.
-  1: Array der Objekte welche verfolgen.
+   0: Objekt, welches verfolgt wird, oder 0.
+   1: Array der Objekte, welche verfolgen.
+
+   Die Property ist im Verfolger ebenso wie im Verfolgten gesetzt.
+
 
 BEMERKUNG
 ---------
+:: 
 
-  Kann auch 0 sein, also auf pointerp() pruefen.
-  
-  NICHT von Hand, sondern nur mit den dafuer gedachten Funktionen 
-  modifizieren.
+   Kann auch 0 sein, also auf pointerp() pruefen.
+   
+   NICHT von Hand, sondern nur mit den dafuer gedachten Funktionen 
+   modifizieren.
+
+   Bei der typischen Konstellation, dass ein einzelner NPC einen
+   Spieler verfolgt, sehen die Properties so aus:
+
+   - Im Spieler  ({ 0, ({npc_objekt}) }) 
+   - Im NPC      ({ spieler_objekt , ({}) })
+
+   Nur bei einer Kette von Verfolgern, d.h. wenn ein Verfolger selbst
+   ebenfalls verfolgt wird, sind beide Elemente des Arrays befuellt.
+
 
 SIEHE AUCH
 ----------
 
-  - :doc:`../lfun/AddPursuer`, :doc:`../lfun/RemovePursuer`
+  Lfuns:  :doc:`../lfun/AddPursuer`, :doc:`../lfun/RemovePursuer`, :doc:`../lfun/PreventFollow`
