diff --git a/doc/props/P_RESISTANCE_STRENGTHS b/doc/props/P_RESISTANCE_STRENGTHS
index ed24d2d..4a93f08 100644
--- a/doc/props/P_RESISTANCE_STRENGTHS
+++ b/doc/props/P_RESISTANCE_STRENGTHS
@@ -1,92 +1,114 @@
-NAME:
-     P_RESISTANCE_STRENGTHS     "resistance_strengths"
 
-DEFINIERT IN:
-     /sys/living/combat.h
-
-BESCHREIBUNG:
-     Lebewesen:
-
-     Mapping mit Schadensarten, gegen die das Lebewesen resistent oder
-     anfaellig ist. Durch eine _query_method werden alle existierenden
-     Resistenzen hier zusammengefasst.
-
-     Die Staerke der Resistenz oder Anfaelligkeit wird numerisch aus-
-     gedrueckt:
-     - Resistenzen gehen bis von 0 bis -1.0 (absolute Resistenz)
-       - -0.5 == halbierter Schaden, -0.75 == geviertelter Schaden
-       -> in % des "aufgehaltenen" Schadens interpretierbar
-     - Empfindlichkeiten gehen von 0 bis MAX_INT
-       -  1.0 == verdoppelter Schaden, 3.0 == vervierfachter Schaden
-       -> als Faktor (x+1.0) interpretierbar
-
-     Ruestungen:
-
-     Mapping mit Prozentwerten der Maximalwerte fuer Ruestungen des
-     entsprechenden Typs. Dabei sind positive Werte Resistenzen und
-     negative Empfindlichkeiten. Dabei duerfen die Prozentwerte nur
-     im Bereich von +100 bis -800 (-1000 ?!) liegen.
-
-     Bei Ruestungen ist es damit unnoetig, Resistenzen mittels
-     AddResistanceModifier() im Traeger zu setzen, da dies bereits
-     in /std/armour automatisch gemacht wird. Der Schluessel fuer
-     den Eintrag ist dabei P_ARMOUR_TYPE.
-
-     Die Maximalwerte sind derzeit:
-      AT_CLOAK, AT_RING, AT_AMULET: max 10% Resistenz
-      AT_SHIELD, AT_ARMOUR:  max 15% Resistenz
-      alle anderen:   max 5% Resistenz
-
-BEMERKUNGEN:
-     Ruestungen:
-     * die Property muss _nach_ P_ARMOUR_TYPE gesetzt werden (_set-Method)
-
-     Lebewesen:
-     * -1.0 bedeutet bereits absolute Resistenz, bei kleineren Werten werden
-       die anderen Schadensanteile im Kampf u.U. nicht mehr wie gewuenscht
-       bilanziert. Bitte daher drauf verzichten. ;-)
-     * Aenderungen an P_RESISTANCE und P_VULNERABILITY werden direkt in 
-       P_RESISTANCE_STRENGTHS gespeichert:
-       -> daher niemals im Nachhinein bei fremden NPCs P_RESISTANCE_STRENGTHS
-          manipulieren, dafuer gibt es AddResistanceModifier
-     * QueryProp(P_RESISTANCE_STRENGTHS) enthaelt die gesamten Resistenzen
-       P_RESISTANCE, P_VULNERABILITY, P_RESISTANCE_MODIFIER (_query-Method)
-
-     Die Werte in P_RESISTANCE_STRENGTHS sollten nur in Ausnahmefaellen oder
-     gut begruendet den Hoechstwert haben. Ein Eiswesen kann zwar sehr
-     resistent gegen Kaelteschaden sein, sollte aber zu gleichem Teil auch
-     anfaellig auf Feuerschaden sein.
-
-     Auf dieser Property liegt eine Querymethode, welche eine Kopie der
-     Daten zurueckliefert.
-
-BEISPIELE:
-     // ein Eistroll
-     SetProp(P_RESISTANCE_STRENGTHS,([DT_FIRE:0.5,DT_COLD:-0.5,
-                                      DT_MAGIC:0.1]));
-
-     Feuerangriffe werden mit 1.5 multipliziert, magische mit 1.1 und
-     der Schadenswert von Kaelteangriffen wird halbiert. Zum Beispiel
-     wuerde
-     Defend(100, ({DT_FIRE,DT_MAGIC}), ...)
-     einen Schaden von 130 statt den normalen 100 verursachen.
+P_RESISTANCE_STRENGTHS
+**********************
 
 
-     // eine Eisruestung
-     SetProp(P_RESISTANCE_STRENGTHS, ([DT_COLD:50, DT_FIRE:-100]));
+NAME
+====
 
-     Dieses Kettenhemd schuetzt nun mit 50% des Maximalwertes gegen
-     Kaelte (also 0.5*15%=7,5% Resistenz) und macht mit dem Maximal-
-     wert anfaellig gegen Feuer (1*15%=15% Empfindlichkeit).
+   P_RESISTANCE_STRENGTHS     "resistance_strengths"
 
-     ! der Code spricht zusaetzlich von
-       Empfindlichkeit=(Empfindlichkeit/4)*5 -> 15/4*5=18.75% !
 
-SIEHE AUCH:
-     simple Resistenz: P_RESISTANCE, P_VULNERABILITY
-     Modifikatoren: AddResistanceModifier, RemoveResistanceModifier(),
-     P_RESISTANCE_MODIFIER
-     Berechnung: CheckResistance(), UpdateResistanceStrengths()
-     anderes:  balance, /std/armour/combat.c, /std/living/combat.c
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Lebewesen:
+
+   Mapping mit Schadensarten, gegen die das Lebewesen resistent oder
+   anfaellig ist. Durch eine _query_method werden alle existierenden
+   Resistenzen hier zusammengefasst.
+
+   Die Staerke der Resistenz oder Anfaelligkeit wird numerisch aus-
+   gedrueckt:
+   - Resistenzen gehen bis von 0 bis -1.0 (absolute Resistenz)
+     - -0.5 == halbierter Schaden, -0.75 == geviertelter Schaden
+     -> in % des "aufgehaltenen" Schadens interpretierbar
+   - Empfindlichkeiten gehen von 0 bis MAX_INT
+     -  1.0 == verdoppelter Schaden, 3.0 == vervierfachter Schaden
+     -> als Faktor (x+1.0) interpretierbar
+
+   Ruestungen:
+
+   Mapping mit Prozentwerten der Maximalwerte fuer Ruestungen des
+   entsprechenden Typs. Dabei sind positive Werte Resistenzen und
+   negative Empfindlichkeiten. Dabei duerfen die Prozentwerte nur
+   im Bereich von +100 bis -800 (-1000 ?!) liegen.
+
+   Bei Ruestungen ist es damit unnoetig, Resistenzen mittels
+   AddResistanceModifier() im Traeger zu setzen, da dies bereits
+   in /std/armour automatisch gemacht wird. Der Schluessel fuer
+   den Eintrag ist dabei P_ARMOUR_TYPE.
+
+   Die Maximalwerte sind derzeit:
+    AT_CLOAK, AT_RING, AT_AMULET: max 10% Resistenz
+    AT_SHIELD, AT_ARMOUR:  max 15% Resistenz
+    alle anderen:   max 5% Resistenz
+
+
+BEMERKUNGEN
+===========
+
+   Ruestungen:
+   * die Property muss _nach_ P_ARMOUR_TYPE gesetzt werden (_set-Method)
+
+   Lebewesen:
+   * -1.0 bedeutet bereits absolute Resistenz, bei kleineren Werten werden
+     die anderen Schadensanteile im Kampf u.U. nicht mehr wie gewuenscht
+     bilanziert. Bitte daher drauf verzichten. ;-)
+   * Aenderungen an P_RESISTANCE und P_VULNERABILITY werden direkt in
+     P_RESISTANCE_STRENGTHS gespeichert:
+     -> daher niemals im Nachhinein bei fremden NPCs P_RESISTANCE_STRENGTHS
+        manipulieren, dafuer gibt es AddResistanceModifier
+   * QueryProp(P_RESISTANCE_STRENGTHS) enthaelt die gesamten Resistenzen
+     P_RESISTANCE, P_VULNERABILITY, P_RESISTANCE_MODIFIER (_query-Method)
+
+   Die Werte in P_RESISTANCE_STRENGTHS sollten nur in Ausnahmefaellen oder
+   gut begruendet den Hoechstwert haben. Ein Eiswesen kann zwar sehr
+   resistent gegen Kaelteschaden sein, sollte aber zu gleichem Teil auch
+   anfaellig auf Feuerschaden sein.
+
+   Auf dieser Property liegt eine Querymethode, welche eine Kopie der
+   Daten zurueckliefert.
+
+
+BEISPIELE
+=========
+
+   // ein Eistroll
+   SetProp(P_RESISTANCE_STRENGTHS,([DT_FIRE:0.5,DT_COLD:-0.5,
+                                    DT_MAGIC:0.1]));
+
+   Feuerangriffe werden mit 1.5 multipliziert, magische mit 1.1 und
+   der Schadenswert von Kaelteangriffen wird halbiert. Zum Beispiel
+   wuerde
+   Defend(100, ({DT_FIRE,DT_MAGIC}), ...)
+   einen Schaden von 130 statt den normalen 100 verursachen.
+
+
+   // eine Eisruestung
+   SetProp(P_RESISTANCE_STRENGTHS, ([DT_COLD:50, DT_FIRE:-100]));
+
+   Dieses Kettenhemd schuetzt nun mit 50% des Maximalwertes gegen
+   Kaelte (also 0.5*15%=7,5% Resistenz) und macht mit dem Maximal-
+   wert anfaellig gegen Feuer (1*15%=15% Empfindlichkeit).
+
+   ! der Code spricht zusaetzlich von
+     Empfindlichkeit=(Empfindlichkeit/4)*5 -> 15/4*5=18.75% !
+
+
+SIEHE AUCH
+==========
+
+   simple Resistenz: P_RESISTANCE, P_VULNERABILITY
+   Modifikatoren: AddResistanceModifier, RemoveResistanceModifier(),
+   P_RESISTANCE_MODIFIER
+   Berechnung: CheckResistance(), UpdateResistanceStrengths()
+   anderes:  balance, /std/armour/combat.c, /std/living/combat.c
 
 6.Feb 2016 Gloinson
