diff --git a/doc/props/P_WORN b/doc/props/P_WORN
index 7afd03e..999ab76 100644
--- a/doc/props/P_WORN
+++ b/doc/props/P_WORN
@@ -1,40 +1,63 @@
+
 P_WORN
+******
 
-NAME:
-     P_WORN "worn"
 
-DEFINIERT IN:
-     <armour.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Mittels dieser Property laesst sich ermitteln, ob eine Ruestung bzw. 
-     Kleidung derzeit getragen wird und wenn ja, von wem.
+   P_WORN "worn"
 
-     Entweder enthaelt die Property den Wert 0, oder sie enthaelt den
-     Traeger der Ruestung / Kleidung (als Objekt).
 
-BEMERKUNGEN:
-     Diese Property laesst sich nur abfragen!
+DEFINIERT IN
+============
 
-BEISPIELE:
-     Eine DefendFunc() koennte dem Traeger der Ruestung wie folgt etwas
-     mitteilen:
+   <armour.h>
 
-     // Die Ruestung gibt Schutz gegen Feuer
-     int DefendFunc(string *dtyp, mixed spell, object enemy)
-     {
-       if (member(dtyp, DT_FIRE) != -1) {
-         // P_WORN ist auf jeden Fall gesetzt, da sonst die
-         // DefendFunc ueberhaupt nicht aufgerufen wuerde!
-         tell_object(QueryProp(P_WORN),
-           "Die Flammen zuengeln nur leicht ueber die Ruestung.\n");
-         return 10;
-       }
-       return 0;
+
+BESCHREIBUNG
+============
+
+   Mittels dieser Property laesst sich ermitteln, ob eine Ruestung bzw.
+   Kleidung derzeit getragen wird und wenn ja, von wem.
+
+   Entweder enthaelt die Property den Wert 0, oder sie enthaelt den
+   Traeger der Ruestung / Kleidung (als Objekt).
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property laesst sich nur abfragen!
+
+
+BEISPIELE
+=========
+
+   Eine DefendFunc() koennte dem Traeger der Ruestung wie folgt etwas
+   mitteilen:
+
+   // Die Ruestung gibt Schutz gegen Feuer
+   int DefendFunc(string *dtyp, mixed spell, object enemy)
+   {
+     if (member(dtyp, DT_FIRE) != -1) {
+       // P_WORN ist auf jeden Fall gesetzt, da sonst die
+       // DefendFunc ueberhaupt nicht aufgerufen wuerde!
+       tell_object(QueryProp(P_WORN),
+         "Die Flammen zuengeln nur leicht ueber die Ruestung.\n");
+       return 10;
      }
+     return 0;
+   }
 
-SIEHE AUCH:
-     clothing, /std/clothing.c, armour, /std/armour.c
 
-LETZTE AeNDERUNG:
-15.02.2009, Zesstra
\ No newline at end of file
+SIEHE AUCH
+==========
+
+   clothing, /std/clothing.c, armour, /std/armour.c
+
+
+LETZTE AeNDERUNG
+================
+
+15.02.2009, Zesstra
