diff --git a/doc/sphinx/lfun/obsolete/AddInsertHook.rst b/doc/sphinx/lfun/obsolete/AddInsertHook.rst
index 143efc9..90f75f6 100644
--- a/doc/sphinx/lfun/obsolete/AddInsertHook.rst
+++ b/doc/sphinx/lfun/obsolete/AddInsertHook.rst
@@ -1,40 +1,28 @@
 AddInsertHook()
 ===============
 
-********************* OBSOLETE LFUN ***********************************
-* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
-* Hooks (s. /doc/std/hooks).                                          *
-***********************************************************************
-AddInsertHook()
+OBSOLETE LFUN
+-------------
+
+    Diese Efun existiert nicht mehr. Bitte stattdessen den Hook
+    H_HOOK_INSERT benutzen. (s. /doc/std/hooks)
 
 FUNKTION
 --------
-::
 
      void AddInsertHook(object ob);
 
-DEFINIERT IN
-------------
-::
-
-     /std/player/restrictions.c
-
 ARGUMENTE
 ---------
-::
 
-     ob - Das Objekt, das informiert werden soll, wenn ein Objekt dem
+     ob
+          Das Objekt, das informiert werden soll, wenn ein Objekt dem
           Spielerinventar hinzugefuegt wurde.
 
 BESCHREIBUNG
 ------------
-::
 
-     (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
-      H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
-      vorhanden.)
-
-     Diese Funktion wird im Spielerobjekt aufgerufen, um das Objekt ob als
+     Diese Funktion wurde im Spielerobjekt aufgerufen, um das Objekt ob als
      Hook-Listener anzumelden. Auf diese Weise eingetragene Listener
      werden informiert, wenn ein Objekt ins Spielerinventar bewegt wurde.
      Technisch wird die Bewegung ueber NotifyInsert() im Spielerobjekt
@@ -44,45 +32,20 @@
 
 RUeCKGABEWERT
 -------------
-::
 
      keiner
 
 BEMERKUNGEN
 -----------
-::
 
      Das Listener-Objekt muss sich ebenfalls im Spielerinventar befinden,
      ansonsten wird der eingetragene Hook wieder geloescht.
 
-BEISPIEL
---------
-::
-
-     
-
-     a) Objekt "ob" wird im Spieler als Listener angemeldet:
-        this_player()->AddInsertHook(ob);
-
-     b) Objekt "new" wird ins Spielerinventar bewegt, das Spielerobjekt
-        informiert "ob" darueber:
-        ob->InsertNotify(new);
-
-     c) Das Listener-Objekt "ob" reagiert darauf, z.B. indem es die Fackel
-        loescht, sofern sie vorher brannte:
-        void InsertNotify(object new) {
-          if ( objectp(new) && new->id("\nfackel") && 
-               new->QueryProp(P_LIGHTED) )
-            new->unlight();
-          return;
-        }
 
 SIEHE AUCH
 ----------
-::
 
-    NotifyInsert(), RemoveInsertHook(), QueryInsertHooks()
+    NotifyInsert(), AddInsertHook(), QueryInsertHooks()
 
 
-Last modified: 14.04.2010, Arathorn
-
+Last modified: 18.10.2019 Zesstra
diff --git a/doc/sphinx/lfun/obsolete/QueryInsertHooks.rst b/doc/sphinx/lfun/obsolete/QueryInsertHooks.rst
index b488589..7e6ddba 100644
--- a/doc/sphinx/lfun/obsolete/QueryInsertHooks.rst
+++ b/doc/sphinx/lfun/obsolete/QueryInsertHooks.rst
@@ -1,53 +1,39 @@
 QueryInsertHooks()
 ==================
 
-********************* OBSOLETE LFUN ***********************************
-* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
-* Hooks (s. /doc/std/hooks).                                          *
-***********************************************************************
-QueryInsertHooks()
+OBSOLETE LFUN
+-------------
+
+    Diese Efun existiert nicht mehr. Bitte stattdessen den Hook
+    H_HOOK_INSERT benutzen. (s. /doc/std/hooks)
+
 
 FUNKTION
 --------
-::
 
      object *QueryInsertHooks();
 
-DEFINIERT IN
-------------
-::
-
-     /std/player/restrictions.c
-
 ARGUMENTE
 ---------
-::
 
      keine
 
 BESCHREIBUNG
 ------------
-::
-
-     (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
-      H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
-      vorhanden.)
 
      Diese Funktion gibt die aktuell beim Spielerobjekt angemeldeten
      Listener-Objekte zurueck.
 
 RUeCKGABEWERT
 -------------
-::
 
      Array aus Objektpointern oder leeres Array
 
 SIEHE AUCH
 ----------
-::
 
     NotifyInsert(), AddInsertHook(), RemoveInsertHook()
 
 
-Last modified: 14.04.2010, Arathorn
+Last modified: 18.10.2019 Zesstra
 
diff --git a/doc/sphinx/lfun/obsolete/RemoveInsertHook.rst b/doc/sphinx/lfun/obsolete/RemoveInsertHook.rst
index 682e5c5..b1d66a6 100644
--- a/doc/sphinx/lfun/obsolete/RemoveInsertHook.rst
+++ b/doc/sphinx/lfun/obsolete/RemoveInsertHook.rst
@@ -1,53 +1,39 @@
 RemoveInsertHook()
 ==================
 
-********************* OBSOLETE LFUN ***********************************
-* Diese Efun bitte nicht mehr benutzen, sondern stattdessen die       *
-* Hooks (s. /doc/std/hooks).                                          *
-***********************************************************************
-RemoveInsertHook()
+OBSOLETE LFUN
+-------------
+
+    Diese Efun existiert nicht mehr. Bitte stattdessen den Hook
+    H_HOOK_INSERT benutzen. (s. /doc/std/hooks)
+
 
 FUNKTION
 --------
-::
 
      void RemoveInsertHook(object ob);
 
-DEFINIERT IN
-------------
-::
-
-     /std/player/restrictions.c
-
 ARGUMENTE
 ---------
-::
 
-     ob - Das Objekt, das als Listener aus der Liste ausgetragen werden soll
+     ob
+       Das Objekt, das als Listener aus der Liste ausgetragen werden soll
 
 BESCHREIBUNG
 ------------
-::
-
-     (Diese Funktionalitaet wurde ersetzt durch den allgemeinen Hook
-      H_HOOK_INSERT und ist nur noch aus Gruenden der Kompatibilitaet
-      vorhanden.)
 
      Diese Funktion wird im Spielerobjekt aufgerufen, um ein als Listener
      eingetragenes Hook-Objekt ob wieder auszutragen.
 
 RUeCKGABEWERT
 -------------
-::
 
      keiner
 
 SIEHE AUCH
 ----------
-::
 
     NotifyInsert(), AddInsertHook(), QueryInsertHooks()
 
 
-Last modified: 14.04.2010, Arathorn
-
+Last modified: 18.10.2019 Zesstra
