diff --git a/doc/lfun/ChangeReputation b/doc/lfun/ChangeReputation
index e7c3af6..c3d010e 100644
--- a/doc/lfun/ChangeReputation
+++ b/doc/lfun/ChangeReputation
@@ -1,45 +1,72 @@
-ChangeReputation
-FUNKTION:
-     public varargs int ChangeReputation(string repid, int value, int silent)
 
-DEFINIERT IN:
-     /std/player/reputation.c
+ChangeReputation()
+******************
 
-ARGUMENTE:
-     repid
-       Jede neue Reputationsgruppe muss anfangs mit einer eindeutigen ID von 
-       einem EM in den Reputationsmaster eingetragen werden. Danach kann man 
-       ueber die eindeutige ID <repid> auf sie zugreifen.
-     value
-       Der Wert, um den die Reputation geaendert werden soll. Positive Werte 
-       erhoehen die Reputation, negative verschlechtern sie.
-     silent
-       Ein optionales Flag. Falls gesetzt, wird keine Standardmeldung ueber 
-       die Reputationsaenderung an den Spieler ausgegeben. Man koennte dann 
-       eigene Meldungen ausgeben.
 
-BESCHREIBUNG:
-     Vor der Aenderung wird ein Check auf die UID des ausfuehrenden Objektes
-     ausgefuehrt, "fremde" Reputationen darf man somit nicht veraendern.
-     Man kann aber selbstverstaendlich in begruendeten Faellen mit dem
-     zustaendigen Magier/Regionsmagier sprechen, ob man ebenfalls Zugriff
-     erhaelt. Eingetragen wird dies schlussendlich durch einen EM.
+FUNKTION
+========
 
-RUeCKGABEWERT:
-     REP_RET_SUCCESS    Reputation wurde veraender.
-     REP_RET_SUCCESSCUT Reputation wurde auf Min / Max veraendert
-     REP_RET_WRONGARGS  Falsche Argumente fuer ChangeRep()
-     REP_RET_INVALIDUID Unzulaessige UID / keine Zugriffsrechte
-     REP_RET_ALREADYMAX Reputation bereits Max / Min
-     REP_RET_INACTIVE   Reputation momentan inaktiv
-     REP_RET_INVALIDREP Reputation nicht vorhanden
+   public varargs int ChangeReputation(string repid, int value, int silent)
 
-BEISPIELE:
-     s. reputation
 
-SIEHE AUCH:
-     reputation
-     GetReputation(), GetReputations()
+DEFINIERT IN
+============
 
-ZULETZT GEAeNDERT:
+   /std/player/reputation.c
+
+
+ARGUMENTE
+=========
+
+   repid
+     Jede neue Reputationsgruppe muss anfangs mit einer eindeutigen ID von
+     einem EM in den Reputationsmaster eingetragen werden. Danach kann man
+     ueber die eindeutige ID <repid> auf sie zugreifen.
+   value
+     Der Wert, um den die Reputation geaendert werden soll. Positive Werte
+     erhoehen die Reputation, negative verschlechtern sie.
+   silent
+     Ein optionales Flag. Falls gesetzt, wird keine Standardmeldung ueber
+     die Reputationsaenderung an den Spieler ausgegeben. Man koennte dann
+     eigene Meldungen ausgeben.
+
+
+BESCHREIBUNG
+============
+
+   Vor der Aenderung wird ein Check auf die UID des ausfuehrenden Objektes
+   ausgefuehrt, "fremde" Reputationen darf man somit nicht veraendern.
+   Man kann aber selbstverstaendlich in begruendeten Faellen mit dem
+   zustaendigen Magier/Regionsmagier sprechen, ob man ebenfalls Zugriff
+   erhaelt. Eingetragen wird dies schlussendlich durch einen EM.
+
+
+RUeCKGABEWERT
+=============
+
+   REP_RET_SUCCESS    Reputation wurde veraender.
+   REP_RET_SUCCESSCUT Reputation wurde auf Min / Max veraendert
+   REP_RET_WRONGARGS  Falsche Argumente fuer ChangeRep()
+   REP_RET_INVALIDUID Unzulaessige UID / keine Zugriffsrechte
+   REP_RET_ALREADYMAX Reputation bereits Max / Min
+   REP_RET_INACTIVE   Reputation momentan inaktiv
+   REP_RET_INVALIDREP Reputation nicht vorhanden
+
+
+BEISPIELE
+=========
+
+   s. reputation
+
+
+SIEHE AUCH
+==========
+
+   reputation
+   GetReputation(), GetReputations()
+
+
+ZULETZT GEAeNDERT
+=================
+
 06.04.2009, Zesstra
