diff --git a/doc/props/P_UNIT_DECAY_FLAGS b/doc/props/P_UNIT_DECAY_FLAGS
index f924ff7..25a5ed1 100644
--- a/doc/props/P_UNIT_DECAY_FLAGS
+++ b/doc/props/P_UNIT_DECAY_FLAGS
@@ -1,70 +1,90 @@
+
 P_UNIT_DECAY_FLAGS
+******************
 
-NAME:
-     P_UNIT_DECAY_FLAGS					"unit_decay_flags"
 
-DEFINIERT IN:
-     /sys/unit.h
+NAME
+====
 
-BESCHREIBUNG:
-     Mit dieser Prop kann das Zerfallsverhalten gesteuert werden, entweder
-     fuer alle Clones durch Setzen in der Blueprint oder fuer einzelne Clones.
+   P_UNIT_DECAY_FLAGS                                 "unit_decay_flags"
 
-     In dieser Prop koennen momentan 4 Flags gesetzt werden:
-     - NO_DECAY: 
-          Zerfall ist abgeschaltet.
-     - NO_DECAY_UNTIL_MOVE: 
-          Der Zerfall ist solange ausgesetzt, bis dieses Objekt in ein anderes
-          Env bewegt wird. Setzt also ein NPC beim AddItem() diese Prop,
-          zerfaellt seine Unit nicht, bis sie bewegt wurde (Leiche, Spieler
-          etc.). Hierbei zaehlt das move() nicht, wenn das Objekt noch kein
-          Env hatte, es zaehlen nur Moves von einem Env in ein anderes Env.
-          Dieses Flag sollte nur in Clones gesetzt werden.
-     - INACCURATE_DECAY
-          Sollen z.b. 45.34 Einheiten zerfallen, wird der Rest von 0.34
-          normalerweise als Wahrscheinlichkeit aufgefasst, dass eine
-          zusaetzliche Einheit zerfaellt. Dieses Flag sorgt dafuer, dass
-          dieser Rest weggeworfen wird und einfach 45 Einheiten zerfallen.
-          Gleichzeitig wird bei diesem Flag aber _immer min_ 1 Einheit
-          zerstoert!
-     - ABSOLUTE_DECAY
-          P_UNIT_DECAY_QUOTA wird nicht als prozentualer Anteil aufgefasst,
-          sondern als absolute Zahl, d.h. es zerfallen immer einfach
-          P_UNIT_DECAY_QUOTA Einheiten.
 
-     Diese Flags koennen z.B. genutzt werden, den Zerfall fuer einzelne
-     Objekte temporaer oder dauerhaft abzuschalten, auch wenn alle anderen
-     Clones weiterzerfallen.
+DEFINIERT IN
+============
 
-     Diese Prop kann in der Blueprint gesetzt werden. In diesem Fall wird
-     allerdings NO_DECAY_UNTIL_MOVE ignoriert, weil die BP ja nie bewegt
-     wuerde. NO_DECAY in der BP schaltet den Zerfallsprozess (temporaer) fuer
-     alle Clones aus. Ist nie ein Zerfall gewuenscht, sollte in der Blueprint
-     aber besser P_UNIT_DECAY_INTERVAL auf 0 gesetzt werden!
+   /sys/unit.h
 
-     Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
-     liefert ein klon->QueryProp(P_UNIT_DECAY_FLAGS) den in der Blueprint
-     eingestellten Wert zurueck.
-     
-BEMERKUNGEN:
-     * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus der
-       Blueprint zurueckgeben. Hierbei wird allerdings ein NO_DECAY_UNTIL_MOVE
-       ausgefiltert, da dies den Zerfall fuer alle Objekte dauerhaft stoppen
-       wuerde, weil BPs nicht bewegt werden.
-     * Die Flags koennen "verodert" werden:
-       SetProp(P_UNIT_DECAY_FLAGS, NO_DECAY_UNTIL_MOVE | ABSOLUTE_DECAY);
 
-BEISPIEL:
-     // Dieser NPC hat tolle Pfeile, die sollen aber nicht zerfallen, solange
-     // sie im Inventar des NPCs sind:
-     AddItem("/d/tolleregion/tollermagier/obj/pfeile", REFRESH_NONE,
-         ([ P_AMOUNT: 50+random(50),
-            P_UNIT_DECAY_FLAGS: NO_DECAY_UNTIL_MOVE ]) );
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-     unit
-     P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_QUOTA, P_UNIT_DECAY_MIN
-     DoDecay, DoDecayMessage
-     /std/unit.c
+   Mit dieser Prop kann das Zerfallsverhalten gesteuert werden, entweder
+   fuer alle Clones durch Setzen in der Blueprint oder fuer einzelne Clones.
+
+   In dieser Prop koennen momentan 4 Flags gesetzt werden:
+   - NO_DECAY:
+        Zerfall ist abgeschaltet.
+   - NO_DECAY_UNTIL_MOVE:
+        Der Zerfall ist solange ausgesetzt, bis dieses Objekt in ein anderes
+        Env bewegt wird. Setzt also ein NPC beim AddItem() diese Prop,
+        zerfaellt seine Unit nicht, bis sie bewegt wurde (Leiche, Spieler
+        etc.). Hierbei zaehlt das move() nicht, wenn das Objekt noch kein
+        Env hatte, es zaehlen nur Moves von einem Env in ein anderes Env.
+        Dieses Flag sollte nur in Clones gesetzt werden.
+   - INACCURATE_DECAY
+        Sollen z.b. 45.34 Einheiten zerfallen, wird der Rest von 0.34
+        normalerweise als Wahrscheinlichkeit aufgefasst, dass eine
+        zusaetzliche Einheit zerfaellt. Dieses Flag sorgt dafuer, dass
+        dieser Rest weggeworfen wird und einfach 45 Einheiten zerfallen.
+        Gleichzeitig wird bei diesem Flag aber _immer min_ 1 Einheit
+        zerstoert!
+   - ABSOLUTE_DECAY
+        P_UNIT_DECAY_QUOTA wird nicht als prozentualer Anteil aufgefasst,
+        sondern als absolute Zahl, d.h. es zerfallen immer einfach
+        P_UNIT_DECAY_QUOTA Einheiten.
+
+   Diese Flags koennen z.B. genutzt werden, den Zerfall fuer einzelne
+   Objekte temporaer oder dauerhaft abzuschalten, auch wenn alle anderen
+   Clones weiterzerfallen.
+
+   Diese Prop kann in der Blueprint gesetzt werden. In diesem Fall wird
+   allerdings NO_DECAY_UNTIL_MOVE ignoriert, weil die BP ja nie bewegt
+   wuerde. NO_DECAY in der BP schaltet den Zerfallsprozess (temporaer) fuer
+   alle Clones aus. Ist nie ein Zerfall gewuenscht, sollte in der Blueprint
+   aber besser P_UNIT_DECAY_INTERVAL auf 0 gesetzt werden!
+
+   Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
+   liefert ein klon->QueryProp(P_UNIT_DECAY_FLAGS) den in der Blueprint
+   eingestellten Wert zurueck.
+
+
+BEMERKUNGEN
+===========
+
+   * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus der
+     Blueprint zurueckgeben. Hierbei wird allerdings ein NO_DECAY_UNTIL_MOVE
+     ausgefiltert, da dies den Zerfall fuer alle Objekte dauerhaft stoppen
+     wuerde, weil BPs nicht bewegt werden.
+   * Die Flags koennen "verodert" werden:
+     SetProp(P_UNIT_DECAY_FLAGS, NO_DECAY_UNTIL_MOVE | ABSOLUTE_DECAY);
+
+
+BEISPIEL
+========
+
+   // Dieser NPC hat tolle Pfeile, die sollen aber nicht zerfallen, solange
+   // sie im Inventar des NPCs sind:
+   AddItem("/d/tolleregion/tollermagier/obj/pfeile", REFRESH_NONE,
+       ([ P_AMOUNT: 50+random(50),
+          P_UNIT_DECAY_FLAGS: NO_DECAY_UNTIL_MOVE ]) );
+
+
+SIEHE AUCH
+==========
+
+   unit
+   P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_QUOTA, P_UNIT_DECAY_MIN
+   DoDecay, DoDecayMessage
+   /std/unit.c
 
 14.10.2007, Zesstra
