diff --git a/doc/sphinx/lfun/AddCmd.rst b/doc/sphinx/lfun/AddCmd.rst
index ba298eb..001778f 100644
--- a/doc/sphinx/lfun/AddCmd.rst
+++ b/doc/sphinx/lfun/AddCmd.rst
@@ -1,25 +1,19 @@
 AddCmd()
 ========
 
-AddCmd(L)
----------
-::
-
 FUNKTION
 --------
-::
 
     varargs void AddCmd(mixed cmd, mixed func, [mixed flag, [mixed id]]);
 
 DEFINIERT IN
 ------------
-::
+
 
     /std/thing/commands.c
 
 ARGUMENTE
 ---------
-::
 
     cmd
        Verben, auf die reagiert werden soll
@@ -41,14 +35,14 @@
 
 BESCHREIBUNG
 ------------
-::
 
     Wenn ein Spieler im Einflussbereich des Objektes das Verb benutzt,
     wird die entsprechende Funktion im Objekt aufgerufen:
-    - die Verben sollten Imperative sein
-    - die Funktion muss 1 fuer ERFOLG (und FPs!) und 0 sonst zurueckgeben
+
+    * die Verben sollten Imperative sein
+    * die Funktion muss 1 fuer ERFOLG (und FPs!) und 0 sonst zurueckgeben
       (sonst werden evtl. weitere Funktionen mit diesem Kommandoverb gerufen)
-    - innerhalb der Funktionen koennen Fehlermeldungen fuer den totalen
+    * innerhalb der Funktionen koennen Fehlermeldungen fuer den totalen
       Misserfolg des Kommandos mit notify_fail gesetzt werden
       (anstatt "Wie bitte?")
 
@@ -57,140 +51,153 @@
     Kommandos hinzugefuegt werden.
 
     AddCmd kann das Leben einfacher machen mit:
+
     ### REGELN: ###
-      Bei komplexen Syntaxen kann ein String angegeben werden, der die
-      _notwendigen_ (nicht die erlaubten!) Schluesselworte und deren
-      zulaessige Synonyme beschreibt. Damit kann man sich einen grossen
-      Teil eigener Auswertung ersparen.
+    
+    Bei komplexen Syntaxen kann ein String angegeben werden, der die
+    _notwendigen_ (nicht die erlaubten!) Schluesselworte und deren
+    zulaessige Synonyme beschreibt. Damit kann man sich einen grossen
+    Teil eigener Auswertung ersparen.
 
-      Nur wenn in richtiger Reihenfolge aus JEDER der durch & getrennten
-      Synonymgruppen ein Wort im Spielerkommando enthalten ist, wird
-      die zugehoerige Funktion ausgefuehrt.
+    Nur wenn in richtiger Reihenfolge aus JEDER der durch & getrennten
+    Synonymgruppen ein Wort im Spielerkommando enthalten ist, wird
+    die zugehoerige Funktion ausgefuehrt.
 
-      Trenner sind: | fuer Alternativen
-                    & fuer Konjunktionen
+    Trenner sind: | fuer Alternativen
+                  & fuer Konjunktionen
 
-      Beispiel:
-        "ritz|ritze|schnitz|schnitze&mit&messer|schnitzmesser&"
-        "herz|herzchen&rinde|baumrinde"
-      wuerde z.B. durch
-        "ritz mit dem Messer ein Herz in die Rinde des Baumes"
-        "schnitz mit Messer Herzchen Baumrinde"
-        "schnitz mit meinem Messer Herzchen in die harte Baumrinde"
-      erfuellt werden.
+.. code-block:: pike
 
-      Spezialregelteile sind:
-      - @PRESENT: entspricht einem Objekt in Inv oder Env des Spielers
-      - @ID:      entspricht der ID des kommandobesitzenden Objektes
-                  (wo die Kommandomethode definiert ist, ist noch unwichtig)
-      - @PUT_GET_DROP, @PUT_GET_TAKE, @PUT_GET_NONE:
-                  entsprechend den Filteroptionen fuer find_obs()
-      ACHTUNG: Zusaetzliche Ziffern in Verbindung mit den @-Spezialregeln
-               sind schlecht. @-Regeln versuchen gierig, Objekte exakt im
-               Inventory zu matchen ("objekt 3" anstatt "objekt") und miss-
-               interpretieren daher zB die 4 in "stopf objekt 3 in loch 4" als
-               Teil des Objekt-ID-Strings.
-               Interna: 3 Substrings fuer @PRESENT/@ID ("gruener kristall 2")
-                        5 fuer @PUT... ("kristall 2 in beutel 3")
+    Beispiel:
+      "ritz|ritze|schnitz|schnitze&mit&messer|schnitzmesser&"
+      "herz|herzchen&rinde|baumrinde"
+    wuerde z.B. durch
+      "ritz mit dem Messer ein Herz in die Rinde des Baumes"
+      "schnitz mit Messer Herzchen Baumrinde"
+      "schnitz mit meinem Messer Herzchen in die harte Baumrinde"
+    erfuellt werden.
+
+ 
+    Spezialregelteile sind:
+    
+    * @PRESENT: entspricht einem Objekt in Inv oder Env des Spielers
+    * @ID:      entspricht der ID des kommandobesitzenden Objektes
+                (wo die Kommandomethode definiert ist, ist noch unwichtig)
+    * @PUT_GET_DROP, @PUT_GET_TAKE, @PUT_GET_NONE:
+                entsprechend den Filteroptionen fuer find_obs()
+    ACHTUNG: Zusaetzliche Ziffern in Verbindung mit den @-Spezialregeln
+             sind schlecht. @-Regeln versuchen gierig, Objekte exakt im
+             Inventory zu matchen ("objekt 3" anstatt "objekt") und miss-
+             interpretieren daher zB die 4 in "stopf objekt 3 in loch 4" als
+             Teil des Objekt-ID-Strings.
+             Interna: 3 Substrings fuer @PRESENT/@ID ("gruener kristall 2")
+                      5 fuer @PUT... ("kristall 2 in beutel 3")
 
     ### FEHLERMELDUNGEN (bei Anwendung von Regeln): ###
-      Als dritter Parameter koennen auch Fehlermeldungen fuer jeweils
-      fehlende Synonymgruppen (ausser der ersten - den Kommandoverben)
-      angegeben werden. Sie werden in derselben Reihenfolge (!) wie die
-      Synonymgruppen angegeben.
+    
+    Als dritter Parameter koennen auch Fehlermeldungen fuer jeweils
+    fehlende Synonymgruppen (ausser der ersten - den Kommandoverben)
+    angegeben werden. Sie werden in derselben Reihenfolge (!) wie die
+    Synonymgruppen angegeben.
 
-      Mit nicht von Spielern erfuellbaren Regeln und ^-Fehlermeldungen
-      kann man auch ohne Ausfuehrung einer Funktion Texte an Spieler
-      und Umgebung ausgeben. Siehe dazu AddCmd_bsp.
+    Mit nicht von Spielern erfuellbaren Regeln und ^-Fehlermeldungen
+    kann man auch ohne Ausfuehrung einer Funktion Texte an Spieler
+    und Umgebung ausgeben. Siehe dazu AddCmd_bsp.
 
-      Trenner sind: | zum Trennen der einzelnen Fehlermeldungen
-                    ^ um
-                       - die Auswertung (ab dieser Fehlermeldung!) mit
-                         "return 1;" zu beenden und
-                       - eine write^say-Meldung zu trennen und
-                       - (fuer funktionslose AddCmd auch FPs zu vergeben!)
+    Trenner sind: | zum Trennen der einzelnen Fehlermeldungen
+                  ^ um
+                     - die Auswertung (ab dieser Fehlermeldung!) mit
+                       "return 1;" zu beenden und
+                     - eine write^say-Meldung zu trennen und
+                     - (fuer funktionslose AddCmd auch FPs zu vergeben!)
 
-      Beispielfehlermeldungen fuer obige Regel:
-        "Womit willst Du schnitzen?|Was willst Du schnitzen?|"
-        "Wohinein willst Du das schnitzen?"
+    Beispielfehlermeldungen fuer obige Regel:
+      "Womit willst Du schnitzen?|Was willst Du schnitzen?|"
+      "Wohinein willst Du das schnitzen?"
 
-      Es koennen in den Fehlermeldungen folgende Platzhalter benutzt
-      werden:
-      - @verb (ersetzt durch query_verb() ohne beendendes 'e')
-      - @VERB (ersetzt durch capitalize(query_verb()) ohne beendendes 'e')
-      - @WERx, @WESSENx, @WEMx, @WENx: siehe alles aus replace_personal()
-        - @WE..1 ist immer der aktive Spieler
-        - alle folgenden sind die matchenden Parameter der Spielereingabe
-          - (x-1)<=Fehlermeldung (da x=1 Spieler und
-                                  (x-1)>Fehlermeldungsobjekt nicht existent)
+    Es koennen in den Fehlermeldungen folgende Platzhalter benutzt
+    werden:
 
-      Ausfuehrungsbeispiel:
-        AddCmd("ritz|ritze|schnitz|schnitze&mit&messer|schnitzmesser&"
-               "herz|herzchen&rinde|baumrinde",#'fun,
-              "Willst Du mit etwas @verben?|Womit willst du @verben?|"
-              "Was willst du mit dem @WEM3 @verben?|"
-              "Wohinein willst Du das @WEN4 schnitzen?");
-        1. "ritze" == "Willst Du mit etwas ritzen?"
-        2. "schnitz mit" == "Womit willst du schnitzen?"
-        3. "ritz mit messer" == "Was willst du mit dem messer ritzen?"
-        4. "ritze mit dem messer ein herz" ==
-             "Wohinein willst Du das herz schnitzen?"
-        5. "ritze mit dem messer ein herzchen in die baumrinde"
-             == Erfolg!
+    * @verb (ersetzt durch query_verb() ohne beendendes 'e')
+    * @VERB (ersetzt durch capitalize(query_verb()) ohne beendendes 'e')
+    * @WERx, @WESSENx, @WEMx, @WENx: siehe alles aus replace_personal()
+      * @WE..1 ist immer der aktive Spieler
+      * alle folgenden sind die matchenden Parameter der Spielereingabe
+        * (x-1)<=Fehlermeldung (da x=1 Spieler und
+                                (x-1)>Fehlermeldungsobjekt nicht existent)
+
+    Ausfuehrungsbeispiel:
+      AddCmd("ritz|ritze|schnitz|schnitze&mit&messer|schnitzmesser&"
+             "herz|herzchen&rinde|baumrinde",#'fun,
+            "Willst Du mit etwas @verben?|Womit willst du @verben?|"
+            "Was willst du mit dem @WEM3 @verben?|"
+            "Wohinein willst Du das @WEN4 schnitzen?");
+      1. "ritze" == "Willst Du mit etwas ritzen?"
+      2. "schnitz mit" == "Womit willst du schnitzen?"
+      3. "ritz mit messer" == "Was willst du mit dem messer ritzen?"
+      4. "ritze mit dem messer ein herz" ==
+           "Wohinein willst Du das herz schnitzen?"
+      5. "ritze mit dem messer ein herzchen in die baumrinde"
+           == Erfolg!
 
     ### UNSCHARFER AUSFUEHRUNG: ###
-      Bei unscharfer Ausfuehrung wird die zugehoerige Methode auch dann
-      ausgefuehrt, wenn das verwendete Verb ein Superstring ist und
-      bisher noch nicht behandelt wurde.
-      Dieses Verhalten sollte nur beim generellen Abfangen von
-      Befehlsgruppen benutzt werden und ist ansonsten veraltet. Es
-      entsprich add_action("fun","kommando",1).
+
+    Bei unscharfer Ausfuehrung wird die zugehoerige Methode auch dann
+    ausgefuehrt, wenn das verwendete Verb ein Superstring ist und
+    bisher noch nicht behandelt wurde.
+    Dieses Verhalten sollte nur beim generellen Abfangen von
+    Befehlsgruppen benutzt werden und ist ansonsten veraltet. Es
+    entsprich add_action("fun","kommando",1).
 
 
-      Beispiel:
-        1. AddCmd("klett","fun",1);
-        2. AddCmd("kletter|klettere&hoch",#'fun2,"Wohin klettern?");
+    Beispiel:
+      1. AddCmd("klett","fun",1);
+      2. AddCmd("kletter|klettere&hoch",#'fun2,"Wohin klettern?");
 
-        a) "klett"
-        b) "kletter"
-        c) "klettere hoch"
+      a) "klett"
+      b) "kletter"
+      c) "klettere hoch"
 
-        Ausgefuehrte Funktion bei: 1a, 1b, 1c; 2c
-       (1 wuerde also immer ausgefuehrt)
-        Fehlermeldung bei: 2b ("Wohin klettern?")
+      Ausgefuehrte Funktion bei: 1a, 1b, 1c; 2c
+      (1 wuerde also immer ausgefuehrt)
+      Fehlermeldung bei: 2b ("Wohin klettern?")
 
 BEMERKUNGEN
 -----------
-::
 
-    - Methoden der put_and_get (nimm/nehme) sollten so nicht versucht
+    * Methoden der put_and_get (nimm/nehme) sollten so nicht versucht
       werden zu ueberschreiben - dazu sind invis Container da
-    - benutzt man fuer <function> eine Closure, kann man die Fkt. auch
+    * benutzt man fuer <function> eine Closure, kann man die Fkt. auch
       protected oder private deklarieren _und_ sie kann in einem
       anderen Objekt sein
-    - bei Regeln wird an die ggf. gerufene Methode als zweiter Parameter
+    * bei Regeln wird an die ggf. gerufene Methode als zweiter Parameter
       ein Array der erfuellenden Eingabeteile uebergeben:
       "steck&@PRESENT&in&loch" bei Erfuellung -> ({<Objekt>,"in","loch})
-      - bei Nutzung von @PUT_GET_XXX koennen die Parameter wiederum
-        Arrays sein ("jede Hose" -> mehrere gueltige Objekte)
-    - juengere AddCmd ueberschreiben aeltere, bzw. werden vor diesen
+      
+      ** bei Nutzung von @PUT_GET_XXX koennen die Parameter wiederum
+         Arrays sein ("jede Hose" -> mehrere gueltige Objekte)
+    * juengere AddCmd ueberschreiben aeltere, bzw. werden vor diesen
       ausgewertet
-    - @PUT_GET_XXX kosten sehr viel Auswertungszeit
+    * @PUT_GET_XXX kosten sehr viel Auswertungszeit
 
 BEISPIELE (SIEHE AUCH ADDCMD_BSP):
+----------------------------------
+
+.. code-block:: pike
+
     // SIMPEL: ganz simpel, beinahe wie add_action
     AddCmd("befiehl","action_befehlen");
     ...
     int action_befehlen(string str) {
-     if(!str || !strlen(str))
-      // Fehlermeldung, falls gar keine Funktion 1 dafuer zurueckgibt
-      notify_fail("Was willst du befehlen?!\n");
-     else {
-      write("Du befiehlst \""+str+"\", und alle folgen!\n");
-      say(TP->Name(WER)+" befiehlt \""+str+"\", und du folgst!\n");
-      return 1;  // ERFOLG - Abbruch der Kommandoauswertung
-     }
-     return 0;  // MISSERFOLG - Fehlermeldung oben gesetzt
+      if(!str || !strlen(str))
+        // Fehlermeldung, falls gar keine Funktion 1 dafuer zurueckgibt
+        notify_fail("Was willst du befehlen?!\n");
+      else {
+        write("Du befiehlst \""+str+"\", und alle folgen!\n");
+        say(TP->Name(WER)+" befiehlt \""+str+"\", und du folgst!\n");
+        return 1;  // ERFOLG - Abbruch der Kommandoauswertung
+      }
+      return 0;  // MISSERFOLG - Fehlermeldung oben gesetzt
     }
 
     // SIMPEL .. weitere Beispiele
@@ -225,9 +232,9 @@
            "Du springst vom Baum und kommst hart auf.^"
            "@WER1 springt vom Baum und kommt hart auf.");
 
+
 SIEHE AUCH
 ----------
-::
 
     AddCmd_bsp, RemoveCmd(L), init(E)
     Fehlermeldungen: notify_fail(E), _notify_fail(E)
diff --git a/doc/sphinx/lfun/DefendOther.rst b/doc/sphinx/lfun/DefendOther.rst
index 855d2b8..e18c9c7 100644
--- a/doc/sphinx/lfun/DefendOther.rst
+++ b/doc/sphinx/lfun/DefendOther.rst
@@ -5,7 +5,8 @@
 --------
 ::
 
-	mixed DefendOther(int dam,mixed dam_type,mixed spell,object enemy);
+  public <int|string*|mapping>* DefendOther(int dam, string|string* dam_type,
+                                            int|mapping spell, object enemy)
 
 DEFINIERT IN
 ------------
diff --git a/doc/sphinx/props/P_NOGET.rst b/doc/sphinx/props/P_NOGET.rst
index 9e231fd..9031fbd 100644
--- a/doc/sphinx/props/P_NOGET.rst
+++ b/doc/sphinx/props/P_NOGET.rst
@@ -3,48 +3,62 @@
 
 NAME
 ----
-::
 
-	P_NOGET				"noget"
+  P_NOGET                           "noget"
+
 
 DEFINIERT IN
 ------------
-::
 
-	/sys/thing/moving.h
+  /sys/thing/moving.h
+
 
 BESCHREIBUNG
 ------------
-::
 
-	Ist diese Property in einem Objekt gesetzt, so kann ein Lebewesen
-	das Objekt nicht nehmen.
-	Als Standardmeldung kommt in diesem Fall beispielsweise:
-	  Du kannst <Objektname> nicht nehmen.
-	  Du kannst <Objektname> so nirgendwo reinstecken.
-	Man kann auch eine alternative Meldung angeben, wobei selbstaendig
-	auf einen korrekten Zeilenumbruch zu achten ist.
+  Ist diese Property in einem Objekt auf 1 oder einen String gesetzt,
+  so kann ein Lebewesen das Objekt nicht nehmen.
+
+  Ist die Property auf 1 gesetzt, wird eine Standardmeldung ausgegeben, 
+  beim Nehmen:
+
+    Du kannst <Objektname> nicht nehmen.
+
+  oder wenn man es in einen Behaelter zu stecken versucht:
+  
+    Du kannst <Objektname> so nirgendwo reinstecken.
+
+  Man kann auch eine eigene Meldung angeben, wobei vom Programmierer
+  selbst auf einen korrekten Zeilenumbruch zu achten ist.
+
 
 BEISPIELE
 ---------
-::
 
-	Ein Objekt, welches fest im Raum verankert ist, kann natuerlich
-	nicht entfernt werden, z.B. ein angebundenes Seil:
-	  SetProp(P_NOGET,"Das Seil ist fest am Baum verknotet!\n");
-	In einem Kommando zum Losknoten koennte man die Property dann
-	loeschen, um ein Wegnehmen zu ermoeglichen.
+  Ein Objekt, welches fest im Raum verankert ist, kann natuerlich nicht
+  entfernt werden, z.B. ein angebundenes Seil: ::
+  
+    SetProp(P_NOGET,"Das Seil ist fest am Baum verknotet!\n");
+
+  In einem Kommando zum Losknoten koennte man die Property dann loeschen,
+  um ein Wegnehmen zu ermoeglichen.
+
 
 SIEHE AUCH
 ----------
-::
 
-     Aehnliches: P_NODROP, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG,
-                 P_TOO_MANY_MSG, P_NOINSERT_MSG, P_NOLEAVE_MSG 
-     Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
-                 P_WEAR_MSG, P_WIELD_MSG
-     Sonstiges:  replace_personal(E), /std/living/put_and_get.c
+    Aehnliches: 
+       :doc:`../props/P_NODROP`, :doc:`../props/P_TOO_HEAVY_MSG`, 
+       :doc:`../props/P_ENV_TOO_HEAVY_MSG`, :doc:`../props/P_TOO_MANY_MSG`, 
+       :doc:`../props/P_NOINSERT_MSG`, :doc:`../props/P_NOLEAVE_MSG`
 
+    Erfolg:
+       :doc:`../props/P_PICK_MSG`, :doc:`../props/P_DROP_MSG`, 
+       :doc:`../props/P_GIVE_MSG`, :doc:`../props/P_PUT_MSG`,
+       :doc:`../props/P_WEAR_MSG`, :doc:`../props/P_WIELD_MSG`
+    
+    Sonstiges:
+       replace_personal(E), /std/living/put_and_get.c
 
-Last modified: Thu Jun 14 22:26:29 2001 by Patryn
+Last modified: 2019-May-06
 
