diff --git a/doc/props/P_XP b/doc/props/P_XP
index 097ec65..649f4e0 100644
--- a/doc/props/P_XP
+++ b/doc/props/P_XP
@@ -1,59 +1,81 @@
-NAME:
-     P_XP                    "xp"
 
-DEFINIERT IN:
-     /sys/living/life.h
+P_XP
+****
 
-BESCHREIBUNG:
-     Diese Property enthaelt die Anzahl der Erfahrungspunkte, die ein
-     Lebewesen erreicht hat. Dies geschieht insbesondere durch
-     Kampfhandlungen, wobei es sowohl fuer Einzelschlaege als auch fuer
-     das Toeten eines Opfers Punkte gibt.
 
-     Bei einzelnen Schlaegen ist die Vergabe von Erfahrungspunkten davon
-     abhaengig, wie stark man das Opfer getroffen hat, und welche
-     Gesamtwaffenklasse es hat (damage*P_TOTAL_WC/10).
+NAME
+====
 
-     Beim Todesschlag erhaelt man zusaetzlich die Erfahrungspunkte des
-     Opfers geteilt durch 100 (P_XP/100). Dieser Wert wird allerdings
-     gegebenenfalls auf ein Team aufgeteilt, sofern der Angreifer sich in
-     einem solchigen befindet.
+   P_XP                    "xp"
 
-BEISPIEL:
-     NPC's gibt man im allgemeinen einen levelabhaengigen Sockelwert an
-     Erfahrungspunkten mit, da sie nicht allzuoft selbst Gegner toeten
-     und somit kaum die Moeglichkeit haben, diese Punkte selbst
-     anzusammeln. Trotzdem sollen sie ja dem Spieler eine gewisse Anzahl
-     an Erfahrungspunkten liefern, wenn sie getoetet werden:
 
-       include "/sys/living/life.h"
-       inherit "std/npc";
-       void create() {
-         ...
-         SetProp(P_XP,25000000);
-       }
+DEFINIERT IN
+============
 
-     Beim Toeten gibt es nun 25.000.000/100 = 250.000 Erfahrungspunkte.
-     Damit wird der NPC sogar automatisch fuer die Vergabe von
-     Erstkillstufenpunkten vorgesehen.
+   /sys/living/life.h
 
-     Die Funktion create_default_npc() setzt P_XP und andere Eigenschaften
-     auf geeignete Werte.
 
-BEMERKUNGEN:
-     Die Vergabe von Erstkillstufenpunkten kann man ueber die Property
-     P_NO_SCORE unterbinden, die Vergabe von Erfahrungspunkten ueber
-     P_NO_XP. Automatisch werden Lebewesen fuer Erstkillstufenpunkte
-     vorgesehen, sofern sie eine der folgenden Grenzen ueberschritten
-     haben:
-       SCORE_LOW_MARK:  200000 (1 Stufenpunkt)
-       SCORE_HIGH_MARK: 600000 (2 Stufenpunkte)
-     Definiert sind die Konstanten in "/secure/scoremaster.h".
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-     Funktionen:  AddExp(), do_damage()
-     Verwandt:    P_NO_XP, P_LAST_XP
-     Sonstiges:   P_NO_SCORE, create_default_npc()
-                  P_TOTAL_WC
+   Diese Property enthaelt die Anzahl der Erfahrungspunkte, die ein
+   Lebewesen erreicht hat. Dies geschieht insbesondere durch
+   Kampfhandlungen, wobei es sowohl fuer Einzelschlaege als auch fuer
+   das Toeten eines Opfers Punkte gibt.
 
-14.Feb 2007 Gloinson
\ No newline at end of file
+   Bei einzelnen Schlaegen ist die Vergabe von Erfahrungspunkten davon
+   abhaengig, wie stark man das Opfer getroffen hat, und welche
+   Gesamtwaffenklasse es hat (damage*P_TOTAL_WC/10).
+
+   Beim Todesschlag erhaelt man zusaetzlich die Erfahrungspunkte des
+   Opfers geteilt durch 100 (P_XP/100). Dieser Wert wird allerdings
+   gegebenenfalls auf ein Team aufgeteilt, sofern der Angreifer sich in
+   einem solchigen befindet.
+
+
+BEISPIEL
+========
+
+   NPC's gibt man im allgemeinen einen levelabhaengigen Sockelwert an
+   Erfahrungspunkten mit, da sie nicht allzuoft selbst Gegner toeten
+   und somit kaum die Moeglichkeit haben, diese Punkte selbst
+   anzusammeln. Trotzdem sollen sie ja dem Spieler eine gewisse Anzahl
+   an Erfahrungspunkten liefern, wenn sie getoetet werden:
+
+     include "/sys/living/life.h"
+     inherit "std/npc";
+     void create() {
+       ...
+       SetProp(P_XP,25000000);
+     }
+
+   Beim Toeten gibt es nun 25.000.000/100 = 250.000 Erfahrungspunkte.
+   Damit wird der NPC sogar automatisch fuer die Vergabe von
+   Erstkillstufenpunkten vorgesehen.
+
+   Die Funktion create_default_npc() setzt P_XP und andere Eigenschaften
+   auf geeignete Werte.
+
+
+BEMERKUNGEN
+===========
+
+   Die Vergabe von Erstkillstufenpunkten kann man ueber die Property
+   P_NO_SCORE unterbinden, die Vergabe von Erfahrungspunkten ueber
+   P_NO_XP. Automatisch werden Lebewesen fuer Erstkillstufenpunkte
+   vorgesehen, sofern sie eine der folgenden Grenzen ueberschritten
+   haben:
+     SCORE_LOW_MARK:  200000 (1 Stufenpunkt)
+     SCORE_HIGH_MARK: 600000 (2 Stufenpunkte)
+   Definiert sind die Konstanten in "/secure/scoremaster.h".
+
+
+SIEHE AUCH
+==========
+
+   Funktionen:  AddExp(), do_damage()
+   Verwandt:    P_NO_XP, P_LAST_XP
+   Sonstiges:   P_NO_SCORE, create_default_npc()
+                P_TOTAL_WC
+
+14.Feb 2007 Gloinson
