diff --git a/doc/lfun/do_damage b/doc/lfun/do_damage
index 2d58839..91c6bc8 100644
--- a/doc/lfun/do_damage
+++ b/doc/lfun/do_damage
@@ -1,44 +1,70 @@
+
+do_damage()
+***********
+
 do_damage(L)
-FUNKTION:
-     int do_damage(int dam,mixed enemy);
 
-DEFINIERT IN:
-     /std/living/life.c
 
-ARGUMENTE:
-     int dam
-	  Die abzuziehenden Lebenspunkte (HP).
-     object enemy
-	  Das Objekt, welches den Schaden zufuegt.
+FUNKTION
+========
 
-BESCHREIBUNG:
-     Dem Lebewesen werden <dam> HP abgezogen. Falls weniger als 0 HP uebrig
-     bleiben, so stirbt es automatisch mittels die().
-     Ein Lebewesen, welches sich bewegt hat, trifft die ersten Kampfrunden
-     sehr viel schlechter, um Rein-Raus-Attacken zu verhindern. Dieses
-     Vorgehen kann man mittels P_ENABLE_IN_ATTACK_OUT deaktivieren.
-     Lebewesen, welche P_NO_ATTACK gesetzt haben, kann man mit dieser
-     Funktion nicht schaden.
+   int do_damage(int dam,mixed enemy);
 
-RUeCKGABEWERT:
-     Der tatsaechlich verursachte Schaden.
 
-BEMERKUNGEN:
-     Beim Gegner <enemy>, falls vorhanden, werden XP und ALIGN entsprechend
-     angepasst, im Opfer wird der Gegner in P_KILLER vermerkt, der Kampf wird
-     beendet.
-     Diese Funktion sollte nur selten direkt verwendet werden. Meist ist der
-     uebliche Weg ueber Defend() -> do_damage() -> die() die logisch bessere
-     und balancetechnisch guenstigere Loesung, da Defend() magische
-     Verteidigungen, die der Spieler bei sich hat beruecksichtigt.
-     Es sollte also allein schon aus Fairness gegenueber den Objekten
-     anderer Magier Defend() immer dem direkten reduce_hit_points() oder
-     do_damage() vorgezogen werden. Mittels der Flags in 'spell' kann man
-     sehr viele Parameter beeinflussen.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     Verwandt:	Defend(L), reduce_hit_points(L), die(L)
-     Props:	P_NO_ATTACK, P_ENABLE_IN_ATTACK_OUT, P_KILLER
-		P_XP, P_ALIGN
+   /std/living/life.c
 
-23.Feb.2004 Gloinson
\ No newline at end of file
+
+ARGUMENTE
+=========
+
+   int dam
+        Die abzuziehenden Lebenspunkte (HP).
+   object enemy
+        Das Objekt, welches den Schaden zufuegt.
+
+
+BESCHREIBUNG
+============
+
+   Dem Lebewesen werden <dam> HP abgezogen. Falls weniger als 0 HP uebrig
+   bleiben, so stirbt es automatisch mittels die().
+   Ein Lebewesen, welches sich bewegt hat, trifft die ersten Kampfrunden
+   sehr viel schlechter, um Rein-Raus-Attacken zu verhindern. Dieses
+   Vorgehen kann man mittels P_ENABLE_IN_ATTACK_OUT deaktivieren.
+   Lebewesen, welche P_NO_ATTACK gesetzt haben, kann man mit dieser
+   Funktion nicht schaden.
+
+
+RUeCKGABEWERT
+=============
+
+   Der tatsaechlich verursachte Schaden.
+
+
+BEMERKUNGEN
+===========
+
+   Beim Gegner <enemy>, falls vorhanden, werden XP und ALIGN entsprechend
+   angepasst, im Opfer wird der Gegner in P_KILLER vermerkt, der Kampf wird
+   beendet.
+   Diese Funktion sollte nur selten direkt verwendet werden. Meist ist der
+   uebliche Weg ueber Defend() -> do_damage() -> die() die logisch bessere
+   und balancetechnisch guenstigere Loesung, da Defend() magische
+   Verteidigungen, die der Spieler bei sich hat beruecksichtigt.
+   Es sollte also allein schon aus Fairness gegenueber den Objekten
+   anderer Magier Defend() immer dem direkten reduce_hit_points() oder
+   do_damage() vorgezogen werden. Mittels der Flags in 'spell' kann man
+   sehr viele Parameter beeinflussen.
+
+
+SIEHE AUCH
+==========
+
+   Verwandt:  Defend(L), reduce_hit_points(L), die(L)
+   Props:     P_NO_ATTACK, P_ENABLE_IN_ATTACK_OUT, P_KILLER
+              P_XP, P_ALIGN
+
+23.Feb.2004 Gloinson
