diff --git a/doc/lfun/DoDecay b/doc/lfun/DoDecay
index 85cf541..695856a 100644
--- a/doc/lfun/DoDecay
+++ b/doc/lfun/DoDecay
@@ -1,44 +1,69 @@
+
 DoDecay()
+*********
 
-FUNKTION:
-      public  int    DoDecay(int silent) 
 
-DEFINIERT IN:
-      /std/unit.c
+FUNKTION
+========
 
-ARGUMENTE:
-     silent (int)
-       Falls != 0, erfolgt beim Zerfall keine Meldung, d.h. doDecayMessaage()
-       wird nicht gerufen.
+   public  int    DoDecay(int silent)
 
-RUeCKGABEWERT:
-     Die Funktion gibt die nach dem Zerfall noch uebrig gebliebene Menge
-     zurueck (int).
 
-BESCHREIBUNG:
-     Diese Funktion wird in Clones von Unitobjekten aus der Blueprint gerufen,
-     wenn ein Zerfallsintervall abgelaufen ist (natuerlich nur, wenn in der BP
-     der Zerfall konfiguriert ist).
-     Die Funktion prueft normalerweise via P_UNIT_DECAY_FLAGS, ob der Zerfall
-     stattfinden soll, bestimmt aus P_UNIT_DECAY_QUOTA die zu zerfallende
-     Menge, ruft DoDecayMessage() und reduziert P_AMOUNT.
-     
-     Sie kann auch von Hand gerufen werden, um einen Zerfall auszuloesen, auch
-     wenn mir gerade nicht einfaellt, in welchen Situationen das sinnvoll
-     waere (vielleicht als Spruchmisserfolg. *g*)
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Wenn man einen anderen Zerfallsmechanismus haben, will muss man diese
-     Funktion wohl ueberschreiben. In fast allen Faellen sollte dies jedoch
-     unnoetig sein. Hat jemand das Verlangen, diese Funktion zu
-     ueberschreiben, ist vielleicht vorher eine Diskussion mit dem Mudlib-EM
-     angebracht.
+   /std/unit.c
 
-SIEHE AUCH:
-     unit
-     P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_QUOTA,
-     P_UNIT_DECAY_MIN
-     DoDecayMessage()
-     /std/unit.c
+
+ARGUMENTE
+=========
+
+   silent (int)
+     Falls != 0, erfolgt beim Zerfall keine Meldung, d.h. doDecayMessaage()
+     wird nicht gerufen.
+
+
+RUeCKGABEWERT
+=============
+
+   Die Funktion gibt die nach dem Zerfall noch uebrig gebliebene Menge
+   zurueck (int).
+
+
+BESCHREIBUNG
+============
+
+   Diese Funktion wird in Clones von Unitobjekten aus der Blueprint gerufen,
+   wenn ein Zerfallsintervall abgelaufen ist (natuerlich nur, wenn in der BP
+   der Zerfall konfiguriert ist).
+   Die Funktion prueft normalerweise via P_UNIT_DECAY_FLAGS, ob der Zerfall
+   stattfinden soll, bestimmt aus P_UNIT_DECAY_QUOTA die zu zerfallende
+   Menge, ruft DoDecayMessage() und reduziert P_AMOUNT.
+
+
+
+   Sie kann auch von Hand gerufen werden, um einen Zerfall auszuloesen, auch
+   wenn mir gerade nicht einfaellt, in welchen Situationen das sinnvoll
+   waere (vielleicht als Spruchmisserfolg. *g*)
+
+
+BEMERKUNGEN
+===========
+
+   Wenn man einen anderen Zerfallsmechanismus haben, will muss man diese
+   Funktion wohl ueberschreiben. In fast allen Faellen sollte dies jedoch
+   unnoetig sein. Hat jemand das Verlangen, diese Funktion zu
+   ueberschreiben, ist vielleicht vorher eine Diskussion mit dem Mudlib-EM
+   angebracht.
+
+
+SIEHE AUCH
+==========
+
+   unit
+   P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_QUOTA,
+   P_UNIT_DECAY_MIN
+   DoDecayMessage()
+   /std/unit.c
 
 14.10.2007, Zesstra
