diff --git a/doc/lfun/GetFValueO b/doc/lfun/GetFValueO
index e954e4b..25650fb 100644
--- a/doc/lfun/GetFValueO
+++ b/doc/lfun/GetFValueO
@@ -1,74 +1,85 @@
-FUNKTION:
 
-	varargs int GetFValueO(string vname, mapping map, object pl) 
+GetFValueO()
+************
 
 
-ARGUMENTE:
+FUNKTION
+========
 
-	vname	: name des parameters aus dem spellmapping
-	map   	: spellmapping
-	pl 	: caster
+   varargs int GetFValueO(string vname, mapping map, object pl)
 
 
-BESCHREIBUNG:
+ARGUMENTE
+=========
 
-	'Berechnet' den Wert, den Factor und den Offset des Parameters 
-	in spellmapping.
+   vname   : name des parameters aus dem spellmapping
+   map     : spellmapping
+   pl      : caster
 
 
-RUECKGABEWERT:
+BESCHREIBUNG
+============
 
-	Berechneter (Wert*Factor)/100+Offset aus dem Spellmapping.
+   'Berechnet' den Wert, den Factor und den Offset des Parameters
+   in spellmapping.
 
 
-BEMERKUNGEN:
+RUECKGABEWERT
+=============
 
-	Ruft (GetValue(vname,map,pl)*GetFactor(vname,map,pl))/100+
-	GetOffset(vname,map,pl) auf.
+   Berechneter (Wert*Factor)/100+Offset aus dem Spellmapping.
 
 
-BEISPIEL:
+BEMERKUNGEN
+===========
 
-	AddSpell("egal",10,
-	([
-	OFFSET(SI_COST):([SM_RACE:(["Zwerg":4]) ]),
-	FACTOR(SI_COST):([SM_RACE:(["Mensch":90]) ]),
-	SI_SKILLDAMAGE:100,
-	OFFSET(SI_SKILLDAMAGE):25,
-	SI_SKILLDAMAGE_TYPE:DT_EXAMPLE,
-	FACTOR(SI_SKILLDAMAGE):([SM_RACE:(["Zwerg":80,"Elf":120]) ]) 
-	]));
+   Ruft (GetValue(vname,map,pl)*GetFactor(vname,map,pl))/100+
+   GetOffset(vname,map,pl) auf.
 
-	So, was sollen uns diese Zeilen sagen?
 
-	Es wird ein Spruch Names 'egal' ins Spellbook eingetragen. Er kostet
-	regulaer 10 MP. Fuer Zwerge allerdings wird ein Offset von 4 MP 
-	aufgeschlagen. Ausserdem machen Zwerge nur 80% Schaden, Elfen 
-	hingegen 120%. Der Grundschaden betraegt 100 Schadenspunkte, der 
-	Offset des Schadens nochmal 25. Menschen bezahlen fuer diesen 
-	Spruch nur 90% der Kosten.
+BEISPIEL
+========
 
-	Nun die Rechenbeispiele:
+   AddSpell("egal",10,
+   ([
+   OFFSET(SI_COST):([SM_RACE:(["Zwerg":4]) ]),
+   FACTOR(SI_COST):([SM_RACE:(["Mensch":90]) ]),
+   SI_SKILLDAMAGE:100,
+   OFFSET(SI_SKILLDAMAGE):25,
+   SI_SKILLDAMAGE_TYPE:DT_EXAMPLE,
+   FACTOR(SI_SKILLDAMAGE):([SM_RACE:(["Zwerg":80,"Elf":120]) ])
+   ]));
 
-	Fuer die Kosten:
-		Value	ValueO	FValue	FValueO
-	Mensch	   10	    10	     9	      9
-	Elf   	   10	    10	    10       10
-	Hobbit	   10	    10	    10	     10
-	Zwerg	   10	    14	    10	     14
+   So, was sollen uns diese Zeilen sagen?
 
-	Fuer den Schaden:
-			Value	ValueO	FValue	FValueO
-	Mensch		100	125	100	125
-	Elf  		100	125	120	150
-	Hobbit		100	125	100	125
-	Zwerg		100	125	 80	100
+   Es wird ein Spruch Names 'egal' ins Spellbook eingetragen. Er kostet
+   regulaer 10 MP. Fuer Zwerge allerdings wird ein Offset von 4 MP
+   aufgeschlagen. Ausserdem machen Zwerge nur 80% Schaden, Elfen
+   hingegen 120%. Der Grundschaden betraegt 100 Schadenspunkte, der
+   Offset des Schadens nochmal 25. Menschen bezahlen fuer diesen
+   Spruch nur 90% der Kosten.
 
-	An diesem Beispiel sieht man deutlich, wie man mit ein paar 
-	Offsets und Faktoren die Wirkung eines Spruches deutlich 
-	veraendern kann. Es sollte bei eigenen Berechnungen immer 
-	GetFValueO benutzt werden.
+   Nun die Rechenbeispiele:
+
+   Fuer die Kosten:
+           Value   ValueO  FValue  FValueO
+   Mensch     10       10       9        9
+   Elf        10       10      10       10
+   Hobbit     10       10      10       10
+   Zwerg      10       14      10       14
+
+   Fuer den Schaden:
+                   Value   ValueO  FValue  FValueO
+   Mensch          100     125     100     125
+   Elf             100     125     120     150
+   Hobbit          100     125     100     125
+   Zwerg           100     125      80     100
+
+   An diesem Beispiel sieht man deutlich, wie man mit ein paar
+   Offsets und Faktoren die Wirkung eines Spruches deutlich
+   veraendern kann. Es sollte bei eigenen Berechnungen immer
+   GetFValueO benutzt werden.
 
 Siehe auch:
 
-	"GetValue", "GetFactor", "GetOffset", "GetFValue", "GetValueO"
+   "GetValue", "GetFactor", "GetOffset", "GetFValue", "GetValueO"
