diff --git a/doc/lfun/UnwieldFunc b/doc/lfun/UnwieldFunc
index 9e4929c..0301182 100644
--- a/doc/lfun/UnwieldFunc
+++ b/doc/lfun/UnwieldFunc
@@ -1,52 +1,74 @@
+
 UnwieldFunc()
+*************
 
-FUNKTION:
-     int UnwieldFunc(object weapon, int info, object user);
 
-DEFINIERT IN:
-     eigenen Objekten, fuer /std/weapon/combat.c
+FUNKTION
+========
 
-ARGUMENTE:
-     weapon (object)
-          Die Waffe, die weggesteckt werden soll.
-     info (int)
-          Bei (info&M_SILENT) wird keine Meldung ueber das Wegstecken
-          ausgegeben.
-          Bei (info&M_NOCHECK) wird die Waffe auch weggesteckt, wenn
-          sie verflucht ist. Die tritt insbesondere dann auf, wenn der
-          Spieler, der die Waffe benutzt, stirbt und die Waffe in
-          die Leiche bewegt wird.
-     user (object)
-          Das Lebewesen, welches die Waffe gerade gezueckt hat und sie nun
-          ausziehen will.
+   int UnwieldFunc(object weapon, int info, object user);
 
-BESCHREIBUNG:
-     Hier koennen zusaetzliche Abfragen vorgenommen werden, ob sich die
-     Waffe <weapon> wegstecken laesst oder nicht.
 
-RUeCKGABEWERT:
-     0, wenn sich die Waffe nicht wegstecken laesst, ansonsten ungleich 0.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Verfluchte Waffen, die sich erst nach Entfernung des Fluches wegstecken
-     lassen, sollte man besser mit P_CURSED realisieren.
-     Selbst wenn man einen Wert ungleich Null zurueckgibt, ist das noch
-     keine Garantie, dass sich die Waffe auch wirklich zuecken laesst! Der
-     Spieler koennte zum Beispiel noch eine Waffe gezueckt haben, die sich
-     nicht wegstecken laesst, etc.
-     Wenn ihr sicher sein wollt, dass der Spieler ein Objekt gezueckt hat,
-     benutzt bitte InformWear().
-     Bitte nicht drauf verlassen, dass this_player() das Lebewesen ist,
-     welches die Waffe gezueckt und wegstecken will.
-     Die Reihenfolge der Argumente ist etwas unschoen, aber leider wurde <user>
-     erheblich spaeter hinzugefuegt und es war unmoeglich, einige hundert
-     Objekte zu aendern.
+   eigenen Objekten, fuer /std/weapon/combat.c
+
+
+ARGUMENTE
+=========
+
+   weapon (object)
+        Die Waffe, die weggesteckt werden soll.
+   info (int)
+        Bei (info&M_SILENT) wird keine Meldung ueber das Wegstecken
+        ausgegeben.
+        Bei (info&M_NOCHECK) wird die Waffe auch weggesteckt, wenn
+        sie verflucht ist. Die tritt insbesondere dann auf, wenn der
+        Spieler, der die Waffe benutzt, stirbt und die Waffe in
+        die Leiche bewegt wird.
+   user (object)
+        Das Lebewesen, welches die Waffe gerade gezueckt hat und sie nun
+        ausziehen will.
+
+
+BESCHREIBUNG
+============
+
+   Hier koennen zusaetzliche Abfragen vorgenommen werden, ob sich die
+   Waffe <weapon> wegstecken laesst oder nicht.
+
+
+RUeCKGABEWERT
+=============
+
+   0, wenn sich die Waffe nicht wegstecken laesst, ansonsten ungleich 0.
+
+
+BEMERKUNGEN
+===========
+
+   Verfluchte Waffen, die sich erst nach Entfernung des Fluches wegstecken
+   lassen, sollte man besser mit P_CURSED realisieren.
+   Selbst wenn man einen Wert ungleich Null zurueckgibt, ist das noch
+   keine Garantie, dass sich die Waffe auch wirklich zuecken laesst! Der
+   Spieler koennte zum Beispiel noch eine Waffe gezueckt haben, die sich
+   nicht wegstecken laesst, etc.
+   Wenn ihr sicher sein wollt, dass der Spieler ein Objekt gezueckt hat,
+   benutzt bitte InformWear().
+   Bitte nicht drauf verlassen, dass this_player() das Lebewesen ist,
+   welches die Waffe gezueckt und wegstecken will.
+   Die Reihenfolge der Argumente ist etwas unschoen, aber leider wurde <user>
+   erheblich spaeter hinzugefuegt und es war unmoeglich, einige hundert
+   Objekte zu aendern.
+
 
 SIEHE AUCH
-     P_WIELD_MSG, P_UNWIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
-     DoWield(), DoUnwield(), InformWield(), InformUnwield(), 
-     UnwieldFunc, WieldFunc() 
-     /std/weapon/combat.c
+==========
 
-----------------------------------------------------------------------------
+   P_WIELD_MSG, P_UNWIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
+   DoWield(), DoUnwield(), InformWield(), InformUnwield(),
+   UnwieldFunc, WieldFunc()
+   /std/weapon/combat.c
+
 02.02.2009, Zesstra
