diff --git a/doc/lfun/AddFun b/doc/lfun/AddFun
index 5ba6cf1..4a56755 100644
--- a/doc/lfun/AddFun
+++ b/doc/lfun/AddFun
@@ -38,41 +38,43 @@
    keiner
 
 
+HINWEISE
+========
+
+   Die genannte Funktion <fun> wird per call_other() an this_object()
+   gerufen, d.h. ihre Sichtbarkeit muss static oder public sein.
+
+
 BEISPIELE
 =========
 
    Wenn ein zufaellig ausgewaehlter Passagier eines Schiffes unterwegs
    seekrank werden soll, koennte man das wie folgt realisieren:
 
-   create()
-   {
+   protected void create() {
      ...
-
      AddFun("seekrank", 5);
      ...
    }
 
-   seekrank()
-   {
-     object *passagiere, opfer;
-
+   seekrank() {
      // soll nicht immer passieren
      if (random(5))
        return;
 
      // Opfer auswaehlen
-     passagiere = QueryPassengers();
+     object* passagiere = QueryPassengers();
+     object opfer;
      if (sizeof(passagiere))
        opfer = passagiere[random(sizeof(passagiere))];
 
-     // Und viel Spass...
      tell_object(opfer,
-       "Du wirst seekrank! Schnell stuerzt Du zur Reling um  Dich zu\n"
-      +"uebergeben.\n");
+       "Du wirst seekrank! Schnell stuerzt Du zur Reling, um Dich zu\n"
+       "uebergeben.\n");
      tell_room(this_object(),
-       sprintf("%s ueberkommt die Seekrankheit!\n%s stuerzt an die Reling, "
-              +"um sich zu uebergeben.\n",
-               capitalize(opfer->name(WEN)),
+       sprintf("%s ueberkommt die Seekrankheit!\n"
+               "%s stuerzt an die Reling, um sich zu uebergeben.\n",
+               opfer->Name(WEN),
                capitalize(opfer->QueryPronoun(WER))), ({ opfer }) );
    }
 
@@ -82,4 +84,4 @@
 
    AddRoute(), AddMsg(), /std/transport.c
 
-Last modified: Wed May 8 10:16:46 1996 by Wargon
+Last modified: 15.01.2020, Arathorn
diff --git a/doc/lfun/Defend b/doc/lfun/Defend
index 189e6b5..83f493b 100644
--- a/doc/lfun/Defend
+++ b/doc/lfun/Defend
@@ -194,12 +194,12 @@
    enem->Defend(100, ({DT_BLUDGEON}), ([SP_PHYSICAL_ATTACK:1]), this_object());
 
    // ein magischer Angriff (ohne Treffermeldung):
-   enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}), ([SP_PHYSICAL_ATTACK:0]),
-                this_object());
+   enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}),
+         ([SP_PHYSICAL_ATTACK:0, SP_SHOW_DAMAGE:0 ]),this_object());
 
    // ein magischer Angriff mit Treffermeldung:
-   enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}), ([SP_SHOW_DAMAGE:1]),
-                this_object());
+   enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}),
+         ([SP_PHYSICAL_ATTACK:0, SP_SHOW_DAMAGE:1]), this_object());
 
 
 SIEHE AUCH
diff --git a/doc/lfun/Defend_bsp b/doc/lfun/Defend_bsp
index 9feb25f..5ef0350 100644
--- a/doc/lfun/Defend_bsp
+++ b/doc/lfun/Defend_bsp
@@ -40,7 +40,7 @@
       Treffermeldung und physischen Ruestungsschutz durchgeht.
       this_player()->Defend(random(500),
                             ({DT_PIERCE, DT_RIP}),
-                            ([SP_PHYSICAL_ATTACK: 0]),
+                            ([SP_PHYSICAL_ATTACK: 0, SP_SHOW_DAMAGE:0]),
                             this_object());
 
    4) Spell-Parameter
diff --git a/doc/lfun/reduce_hit_points b/doc/lfun/reduce_hit_points
index 7a1dcf0..f82674f 100644
--- a/doc/lfun/reduce_hit_points
+++ b/doc/lfun/reduce_hit_points
@@ -24,15 +24,15 @@
 BESCHREIBUNG
 ============
 
-   Dem Lebewesen werden damage Lebenspunkte abgezogen, aber der
-   Wert wird hinterher nicht kleiner als 1 sein und das Lebewesen
-   wird dadurch nicht sterben.
+   Dem Lebewesen werden damage Lebenspunkte abgezogen, aber das Lebewesen
+   wird hinterher nicht weniger als 1 Lebenspunkt haben und es wird
+   dadurch nicht sterben.
 
 
 RUECKGABEWERT
 =============
 
-   Die verbleibenden Lebenspunkte.
+   Die Lebenspunkte nach der Aenderung.
 
 
 BEISPIELE
@@ -50,20 +50,25 @@
 
    damage kann auch ein negativer Wert sein, dann werden dem Lebewesen
    diese Lebenspunkte gutgeschrieben und auf die aktuellen Lebenspunkte
-   addiert. Da dies eine Form der Heilung ist, nur nach Ruecksprache mit
-   dem Regionsmagier verwenden.
+   addiert. Da dies eine Form der Heilung ist, ist die Verwendung mit dem
+   Regionsmagier abzustimmen und dem EM fuer Heilungsbalance zur
+   Genehmigung vorzulegen.
+
+   Heilstellen sollten in neuem Code mit der Funktion restore_hit_points()
+   realisiert werden.
 
    Bei Heilstellen sollte eine evtl. Heilung des Spielers mit der eigens
-   dafuer eingerichteten Funktion check_and_update_timed_key realisiert
+   dafuer eingerichteten Funktion check_and_update_timed_key() realisiert
    werden.
 
 
 SIEHE AUCH
 ==========
 
-   Gegenpart:  restore_hit_points()
-   Verwandt:   do_damage(), Defend(), reduce_spell_points()
-   Props:      P_HP
-   Konzept:    heilung
+   Gegenpart: restore_hit_points()
+   Verwandt:    do_damage(), Defend(), reduce_spell_points(),
+              restore_spell_points(), check_and_update_timed_key()
+   Props:         P_HP
+   Konzept:   heilung
 
-Last modified: Sat Dec 13 01:00:47 1999 by Tilly
+Last modified: 20. Jan. 2020, Arathorn
diff --git a/doc/sphinx/lfun/AddFun.rst b/doc/sphinx/lfun/AddFun.rst
index 4e3856a..aa84a11 100644
--- a/doc/sphinx/lfun/AddFun.rst
+++ b/doc/sphinx/lfun/AddFun.rst
@@ -36,6 +36,13 @@
 
      keiner
 
+HINWEISE
+--------
+::
+
+     Die genannte Funktion <fun> wird per call_other() an this_object()
+     gerufen, d.h. ihre Sichtbarkeit muss static oder public sein.
+
 BEISPIELE
 ---------
 ::
@@ -43,35 +50,30 @@
      Wenn ein zufaellig ausgewaehlter Passagier eines Schiffes unterwegs
      seekrank werden soll, koennte man das wie folgt realisieren:
 
-     create()
-     {
+     protected void create() {
        ...
-
        AddFun("seekrank", 5);
        ...
      }
 
-     seekrank()
-     {
-       object *passagiere, opfer;
-
+     seekrank() {
        // soll nicht immer passieren
        if (random(5))
          return;
 
        // Opfer auswaehlen
-       passagiere = QueryPassengers();
+       object* passagiere = QueryPassengers();
+       object opfer;
        if (sizeof(passagiere))
          opfer = passagiere[random(sizeof(passagiere))];
 
-       // Und viel Spass...
        tell_object(opfer,
-         "Du wirst seekrank! Schnell stuerzt Du zur Reling um  Dich zu\n"
-        +"uebergeben.\n");
+         "Du wirst seekrank! Schnell stuerzt Du zur Reling, um Dich zu\n"
+         "uebergeben.\n");
        tell_room(this_object(),
-         sprintf("%s ueberkommt die Seekrankheit!\n%s stuerzt an die Reling, "
-                +"um sich zu uebergeben.\n",
-                 capitalize(opfer->name(WEN)),
+         sprintf("%s ueberkommt die Seekrankheit!\n"
+                 "%s stuerzt an die Reling, um sich zu uebergeben.\n",
+                 opfer->Name(WEN),
                  capitalize(opfer->QueryPronoun(WER))), ({ opfer }) );
      }
 
@@ -82,5 +84,5 @@
      AddRoute(), AddMsg(), /std/transport.c
 
 
-Last modified: Wed May 8 10:16:46 1996 by Wargon
+Last modified: 15.01.2020, Arathorn 
 
diff --git a/doc/sphinx/lfun/Defend.rst b/doc/sphinx/lfun/Defend.rst
index 70dc9d2..6a3b5a0 100644
--- a/doc/sphinx/lfun/Defend.rst
+++ b/doc/sphinx/lfun/Defend.rst
@@ -158,12 +158,12 @@
   enem->Defend(100, ({DT_BLUDGEON}), ([SP_PHYSICAL_ATTACK:1]), this_object());
 
   // ein magischer Angriff (ohne Treffermeldung):
-  enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}), ([SP_PHYSICAL_ATTACK:0]), 
-               this_object());
+  enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}), 
+        ([SP_PHYSICAL_ATTACK:0, SP_SHOW_DAMAGE:0 ]),this_object());
 
   // ein magischer Angriff mit Treffermeldung:
-  enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}), ([SP_SHOW_DAMAGE:1]),
-               this_object());
+  enem->Defend(100, ({DT_BLUDGEON, DT_FIRE}), 
+        ([SP_PHYSICAL_ATTACK:0, SP_SHOW_DAMAGE:1]), this_object());
 
 SIEHE AUCH
 ----------
diff --git a/doc/sphinx/lfun/Defend_bsp.rst b/doc/sphinx/lfun/Defend_bsp.rst
index 29e710a..5c8fe79 100644
--- a/doc/sphinx/lfun/Defend_bsp.rst
+++ b/doc/sphinx/lfun/Defend_bsp.rst
@@ -39,7 +39,7 @@
      Treffermeldung und physischen Ruestungsschutz durchgeht.
      this_player()->Defend(random(500),
                            ({DT_PIERCE, DT_RIP}),
-                           ([SP_PHYSICAL_ATTACK: 0]),
+                           ([SP_PHYSICAL_ATTACK: 0, SP_SHOW_DAMAGE:0]),
                            this_object());
 
   4) Spell-Parameter
diff --git a/doc/sphinx/lfun/reduce_hit_points.rst b/doc/sphinx/lfun/reduce_hit_points.rst
index 790b078..83d08d4 100644
--- a/doc/sphinx/lfun/reduce_hit_points.rst
+++ b/doc/sphinx/lfun/reduce_hit_points.rst
@@ -23,15 +23,15 @@
 ------------
 ::
 
-    Dem Lebewesen werden damage Lebenspunkte abgezogen, aber der
-    Wert wird hinterher nicht kleiner als 1 sein und das Lebewesen
-    wird dadurch nicht sterben.
+    Dem Lebewesen werden damage Lebenspunkte abgezogen, aber das Lebewesen
+    wird hinterher nicht weniger als 1 Lebenspunkt haben und es wird
+    dadurch nicht sterben.
 
 RUECKGABEWERT
 -------------
 ::
 
-    Die verbleibenden Lebenspunkte.
+    Die Lebenspunkte nach der Aenderung.
 
 BEISPIELE
 ---------
@@ -49,22 +49,27 @@
 
     damage kann auch ein negativer Wert sein, dann werden dem Lebewesen
     diese Lebenspunkte gutgeschrieben und auf die aktuellen Lebenspunkte
-    addiert. Da dies eine Form der Heilung ist, nur nach Ruecksprache mit
-    dem Regionsmagier verwenden.
+    addiert. Da dies eine Form der Heilung ist, ist die Verwendung mit dem
+    Regionsmagier abzustimmen und dem EM fuer Heilungsbalance zur
+    Genehmigung vorzulegen.
+
+    Heilstellen sollten in neuem Code mit der Funktion restore_hit_points()
+    realisiert werden.
 
     Bei Heilstellen sollte eine evtl. Heilung des Spielers mit der eigens
-    dafuer eingerichteten Funktion check_and_update_timed_key realisiert
+    dafuer eingerichteten Funktion check_and_update_timed_key() realisiert
     werden.
 
 SIEHE AUCH
 ----------
 ::
 
-    Gegenpart:	restore_hit_points()
-    Verwandt:	do_damage(), Defend(), reduce_spell_points()
-    Props:	P_HP
-    Konzept:	heilung
+    Gegenpart: restore_hit_points()
+    Verwandt:	 do_damage(), Defend(), reduce_spell_points(), 
+               restore_spell_points(), check_and_update_timed_key()
+    Props:	   P_HP
+    Konzept:   heilung
 
 
-Last modified: Sat Dec 13 01:00:47 1999 by Tilly
+Last modified: 20. Jan. 2020, Arathorn 
 
