diff --git a/doc/lfun/RemoveResistanceModifier b/doc/lfun/RemoveResistanceModifier
index 0e630fb..ca14c74 100644
--- a/doc/lfun/RemoveResistanceModifier
+++ b/doc/lfun/RemoveResistanceModifier
@@ -1,37 +1,57 @@
+
 RemoveResistanceModifier()
+**************************
 
-FUNKTION:
-     varargs void RemoveResistanceModifier(string add);
 
-DEFINIERT IN:
-     /std/living/combat.c
+FUNKTION
+========
 
-ARGUMENTE:
-     string add:
-      Ein eventueller Identifikator fuer einen gesetzten Modifikator.
+   varargs void RemoveResistanceModifier(string add);
 
-BESCHREIBUNG:
-     Die von einem Objekt im Zielobjekt gesetzte Resistenz wird geloescht,
-     der Schluessel add wird dazu benutzt, eine bestimmte Resistenz zu
-     loeschen (so kann ein setzendes Objekt mehrere verschiedene Re-
-     sistenzen setzen und selektiv loeschen).
 
-BEISPIELE:
-     // unser Oel aus AddResistanceModifier() verbrennt endgueltig
-     varargs void trigger_sensitive_attack() {
-      ...
-      if(environment() && living(environment())) {
-       environment()->RemoveResistanceModifier("oel");
-       tell_object(environment(),"Das Oel verbrennt endgueltig.\n");
-      }
-      remove();
-     }
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     Modifikatoren:	AddResistanceModifier, P_RESISTANCE_MODIFIER
-     simple Resistenz:	P_RESISTANCE, P_VULNERABILITY
-     Hauptmapping:	P_RESISTANCE_STRENGTHS
-     Berechnung:	CheckResistance(), UpdateResistanceStrengths()
-     anderes:		balance, /std/armour/combat.c, /std/living/combat.c
+   /std/living/combat.c
+
+
+ARGUMENTE
+=========
+
+   string add:
+    Ein eventueller Identifikator fuer einen gesetzten Modifikator.
+
+
+BESCHREIBUNG
+============
+
+   Die von einem Objekt im Zielobjekt gesetzte Resistenz wird geloescht,
+   der Schluessel add wird dazu benutzt, eine bestimmte Resistenz zu
+   loeschen (so kann ein setzendes Objekt mehrere verschiedene Re-
+   sistenzen setzen und selektiv loeschen).
+
+
+BEISPIELE
+=========
+
+   // unser Oel aus AddResistanceModifier() verbrennt endgueltig
+   varargs void trigger_sensitive_attack() {
+    ...
+    if(environment() && living(environment())) {
+     environment()->RemoveResistanceModifier("oel");
+     tell_object(environment(),"Das Oel verbrennt endgueltig.\n");
+    }
+    remove();
+   }
+
+
+SIEHE AUCH
+==========
+
+   Modifikatoren:     AddResistanceModifier, P_RESISTANCE_MODIFIER
+   simple Resistenz:  P_RESISTANCE, P_VULNERABILITY
+   Hauptmapping:      P_RESISTANCE_STRENGTHS
+   Berechnung:        CheckResistance(), UpdateResistanceStrengths()
+   anderes:           balance, /std/armour/combat.c, /std/living/combat.c
 
 29.Apr 2002, Gloinson@MG
