diff --git a/doc/props/gildenprops/kaempferboni b/doc/props/gildenprops/kaempferboni
index 50e4be5..0d34e98 100644
--- a/doc/props/gildenprops/kaempferboni
+++ b/doc/props/gildenprops/kaempferboni
@@ -1,264 +1,270 @@
 
+kaempferboni
+************
+
 Kaempferboni und deren Implementation
--------------------------------------
--------------------------------------
 
-Bei den Kaempfern gibt es einige Properties, die, in Waffen oder Ruestungen
-gesetzt, der Kampfverlauf eines Spielers erheblich beeinflussen koennen.
+======================================================================
 
-Zu beachten ist, dass die Abnahme von Waffen oder Ruestungen mit Kaempferboni
-allein der Balance obliegt. Der Gildenmagier der Kaempfer steht aber gerne
-mit Rat und Tat zur Seite.
+Bei den Kaempfern gibt es einige Properties, die, in Waffen oder
+Ruestungen gesetzt, der Kampfverlauf eines Spielers erheblich
+beeinflussen koennen.
 
+Zu beachten ist, dass die Abnahme von Waffen oder Ruestungen mit
+Kaempferboni allein der Balance obliegt. Der Gildenmagier der Kaempfer
+steht aber gerne mit Rat und Tat zur Seite.
 
 Abschnitt A
------------
 
 In Waffen koennen nachfolgende, in /p/kaempfer/kaempfer.h definierten,
-Properties gesetzt werden. Die meisten davon fungieren als 'Boni' und werden
-dem Spieler auch mittels 'schaetz <waffe>' angezeigt:
-
+Properties gesetzt werden. Die meisten davon fungieren als 'Boni' und
+werden dem Spieler auch mittels 'schaetz <waffe>' angezeigt
 
 1 Waffenschlagbonus - K_BRAWLING_WC (INT) - "k_brawling_wc"
 
-  Wenn die Waffe eine zusaetzlich gefaehrliche Stelle besitzt - z.B. einen
-  harten Dorn am Stielende, eine Spitze am Ruecken einer Axtklinge, Zacken
-  am Dolchgriff - kann man der Waffe einen Waffenschlagbonus geben.
-  Dies bedeutet, dass der Waffenschlag um ein paar Prozente verstaerkt wird,
-  da der Spieler natuerlich versucht, immer genau mit diesem 'feature'
-  den Waffenschlag auszufuehren (der Waffenschlag ist kurz gesagt ein
-  unerwarteter Schlag, der nicht mit dem 'normalen' Waffenende ausgefuehrt
-  wird, der Gegner wird dadurch ueberrascht -> mehr Schaden).
-  Da solch ein 'feature' doch recht auffaellig ist, sollte es in der
-  Langbeschreibung der Waffe auf jeden Fall erwaehnt werden.
+   Wenn die Waffe eine zusaetzlich gefaehrliche Stelle besitzt - z.B.
+   einen harten Dorn am Stielende, eine Spitze am Ruecken einer
+   Axtklinge, Zacken am Dolchgriff - kann man der Waffe einen
+   Waffenschlagbonus geben. Dies bedeutet, dass der Waffenschlag um
+   ein paar Prozente verstaerkt wird, da der Spieler natuerlich
+   versucht, immer genau mit diesem 'feature' den Waffenschlag
+   auszufuehren (der Waffenschlag ist kurz gesagt ein unerwarteter
+   Schlag, der nicht mit dem 'normalen' Waffenende ausgefuehrt wird,
+   der Gegner wird dadurch ueberrascht -> mehr Schaden). Da solch ein
+   'feature' doch recht auffaellig ist, sollte es in der
+   Langbeschreibung der Waffe auf jeden Fall erwaehnt werden.
 
-  Interessant zu wissen waere noch, dass Zweihandwaffen einen generellen
-  zusaetzlichen Bonus auf den Waffenschlag bekommen und dass es eine
-  Abstufung gibt, nach der die Waffengattungen die Hoehe des Basiswertes
-  gesetzt bekommen, wobei Speere den hoechsten und Messer den niedrigsten
-  besitzen:
+   Interessant zu wissen waere noch, dass Zweihandwaffen einen
+   generellen zusaetzlichen Bonus auf den Waffenschlag bekommen und
+   dass es eine Abstufung gibt, nach der die Waffengattungen die Hoehe
+   des Basiswertes gesetzt bekommen, wobei Speere den hoechsten und
+   Messer den niedrigsten besitzen
 
-  Speere - Kampfstaebe - Aexte - Keulen - Schwerter - Messer
+   Speere - Kampfstaebe - Aexte - Keulen - Schwerter - Messer
 
-  Der max. Bonus fuer diese Property betraegt 30, wobei 1-10 -> geringer
-  Bonus, 11-20 -> guter Bonus, 21-30 -> sehr guter Bonus.
+   Der max. Bonus fuer diese Property betraegt 30, wobei 1-10 ->
+   geringer Bonus, 11-20 -> guter Bonus, 21-30 -> sehr guter Bonus.
 
-  Bitte beachten: ein Zweihand-Speer mit max. P_WC und max. K_BRAWLING_WC
-  haut entsprechend gut rein und sollte nur schwer zu ergattern sein, bzw.
-  noch andere Auflagen haben (ggf. unique, personalisiert, etc.)
-
+   Bitte beachten ein Zweihand-Speer mit max. P_WC und max.
+   K_BRAWLING_WC haut entsprechend gut rein und sollte nur schwer zu
+   ergattern sein, bzw. noch andere Auflagen haben (ggf. unique,
+   personalisiert, etc.)
 
 2 Waffenschlagschaden - K_BRAWLING_DT (STRING) - "k_brawling_dt"
 
-  Wenn die Waffe, mit der der Kaempfer einen Waffenschlag ausfuehrt, ein
-  'feature' hat, mit dem er diesen Schlag ausfuehrt, kann dieses 'feature'
-  einen anderen Waffenschlagschaden besitzen. Z.B. kann ein Schwert, welches
-  normalerweise DT_SLASH macht, besonders lange und spitze Parierstangen
-  besitzen, die vielleicht auch noch vergiftet sind. Dann kann der Magier
-  ({DT_PIERCE,DT_POISON}) setzen, so dass beim Waffenschlag immer ein
-  Mischschaden aus Stiche und Gift erfolgt.
+   Wenn die Waffe, mit der der Kaempfer einen Waffenschlag ausfuehrt,
+   ein 'feature' hat, mit dem er diesen Schlag ausfuehrt, kann dieses
+   'feature' einen anderen Waffenschlagschaden besitzen. Z.B. kann ein
+   Schwert, welches normalerweise DT_SLASH macht, besonders lange und
+   spitze Parierstangen besitzen, die vielleicht auch noch vergiftet
+   sind. Dann kann der Magier ({DT_PIERCE,DT_POISON}) setzen, so dass
+   beim Waffenschlag immer ein Mischschaden aus Stiche und Gift
+   erfolgt.
 
+3 Waffenschlagsmeldung - K_BRAWLING_MSG (STRING/STRING*) -
+k_brawling_msg"
 
-3 Waffenschlagsmeldung - K_BRAWLING_MSG (STRING/STRING*) - k_brawling_msg"
+   In diese Property kann man hineinschreiben, mit welchem Teil der
+   Waffe der Waffenschlag ausgefuehrt wird. Angenommen, es bietet sich
+   an, mit einer Waffe stets den Waffenschlag mit einem grossen Knauf
+   am Griff auszufuehren, wird schlicht und einfach "mit einem grossen
+   Knauf am Griff der Schlachtaxt" in die Property gesetzt. Sollte
+   sich bei der Programmierung ergeben, dass es sich anbietet, der
+   Waffe mehr als nur eine guenstige Stelle anzudichten mit der man
+   den Waffenschlag ausfuehren kann, so setzt man ein Array, z.B.
+   ({"mit einem grossen Knauf am Griff der Schlachtaxt","mit der
+   breiten Seite der " "Schlachtaxtklinge"}). Insgesamt ist darauf zu
+   achten, dass die Meldungen 'vollstandig' sind. Das Array kann
+   beliebige Groesse annehmen, es wird dann zufaellig eine Meldung
+   beim Schlag ausgesucht.
 
-  In diese Property kann man hineinschreiben, mit welchem Teil der Waffe
-  der Waffenschlag ausgefuehrt wird. Angenommen, es bietet sich an, mit
-  einer Waffe stets den Waffenschlag mit einem grossen Knauf am Griff
-  auszufuehren, wird schlicht und einfach "mit einem grossen Knauf am
-  Griff der Schlachtaxt" in die Property gesetzt.
-  Sollte sich bei der Programmierung ergeben, dass es sich anbietet, der
-  Waffe mehr als nur eine guenstige Stelle anzudichten mit der man den
-  Waffenschlag ausfuehren kann, so setzt man ein Array, z.B. ({"mit einem
-  grossen Knauf am Griff der Schlachtaxt","mit der breiten Seite der "
-  "Schlachtaxtklinge"}). Insgesamt ist darauf zu achten, dass die Meldungen
-  'vollstandig' sind. Das Array kann beliebige Groesse annehmen, es wird
-  dann zufaellig eine Meldung beim Schlag ausgesucht.
-
-  Es empfiehlt sich, jede Waffe mit dieser Property zu schmuecken, die
-  K_BRAWLING_WC gesetzt haben, da die Waffenschlagmeldungen damit im Kampf
-  'individualisiert' werden. In der Praxis wird es jedoch daran scheitern,
-  dass es viel zu viele alte Waffen gibt, die keiner mehr anfassen moechte.
-  Daher wird auf Standardmeldungen zurueckgegriffen, sollte diese Property
-  nicht gesetzt sein.
-
+   Es empfiehlt sich, jede Waffe mit dieser Property zu schmuecken,
+   die K_BRAWLING_WC gesetzt haben, da die Waffenschlagmeldungen damit
+   im Kampf 'individualisiert' werden. In der Praxis wird es jedoch
+   daran scheitern, dass es viel zu viele alte Waffen gibt, die keiner
+   mehr anfassen moechte. Daher wird auf Standardmeldungen
+   zurueckgegriffen, sollte diese Property nicht gesetzt sein.
 
 4 Waffenbruchbonus - K_WEAPON_SHATTER (INT) - "k_weapon_shatter"
 
-  Waffen, die besonders fuer den Waffenbruch konstruiert wurden, koennen
-  einen Bonus einbringen, der in dieser Property angegeben wird. Natuerlich
-  eignen sich die verschiedenen Waffentypen wieder unterschiedlich gut fuer
-  einen Waffenbruch: Keulen (meist aufgrund ihres Gewichts) am besten, Messer
-  am schlechtesten, alle anderen dazwischen (Axt - Schwert - Stab - Speer).
-  Dabei kriegen alle Waffen, die u.a. Schlagschaden verursachen, nochmal
-  einen kleinen Bonus obendrauf.
+   Waffen, die besonders fuer den Waffenbruch konstruiert wurden,
+   koennen einen Bonus einbringen, der in dieser Property angegeben
+   wird. Natuerlich eignen sich die verschiedenen Waffentypen wieder
+   unterschiedlich gut fuer einen Waffenbruch Keulen (meist aufgrund
+   ihres Gewichts) am besten, Messer am schlechtesten, alle anderen
+   dazwischen (Axt - Schwert - Stab - Speer). Dabei kriegen alle
+   Waffen, die u.a. Schlagschaden verursachen, nochmal einen kleinen
+   Bonus obendrauf.
 
-  Der max. Bonus fuer diese Property betraegt 50, wobei 1-10 -> geringer
-  Bonus, 11-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
+   Der max. Bonus fuer diese Property betraegt 50, wobei 1-10 ->
+   geringer Bonus, 11-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
 
-  Bei gut gelungenem Waffenbruch wird die Waffe des Gegners beschaedigt, wenn
-  die Technik sehr gut gelingt, kann es auch sein, dass dem Gegner die Waffe
-  aus der Hand geschlagen wird (der Spieler kann sie allerdings nicht
-  aufheben und der NPC zueckt sie nach ein paar Kampfrunden wieder).
-
+   Bei gut gelungenem Waffenbruch wird die Waffe des Gegners
+   beschaedigt, wenn die Technik sehr gut gelingt, kann es auch sein,
+   dass dem Gegner die Waffe aus der Hand geschlagen wird (der Spieler
+   kann sie allerdings nicht aufheben und der NPC zueckt sie nach ein
+   paar Kampfrunden wieder).
 
 5 Bonus fuer Finte/Waffentrick - K_DISTRACTING_WEAPON (INT) -
-  "k_distracting_weapon"
+   "k_distracting_weapon"
 
-  Waffen, die fuer den Gegner aufgrund ihrer Bauweise besonders irritierend
-  sein koennen, koennen einen Bonus fuer Finte und Waffentrick haben. Dabei
-  wird der Gegner bei einer Finte bzw. einem Waffentrick NOCH mehr verwirrt,
-  als er es ohnehin schon nur durch die angewandte Technik wird.
-  Ein gutes Beispiel hierfuer ist z.B. der Kriegshamster: ein Hamster, der
-  auf einem Holzstab aufgespiesst ist, sollte fuer den Gegner schon SEHR
-  irritierend sein ;).
-  Die Waffengattung hat nur wenig Einfluss auf Finte/Waffentrick.
+   Waffen, die fuer den Gegner aufgrund ihrer Bauweise besonders
+   irritierend sein koennen, koennen einen Bonus fuer Finte und
+   Waffentrick haben. Dabei wird der Gegner bei einer Finte bzw. einem
+   Waffentrick NOCH mehr verwirrt, als er es ohnehin schon nur durch
+   die angewandte Technik wird. Ein gutes Beispiel hierfuer ist z.B.
+   der Kriegshamster ein Hamster, der auf einem Holzstab aufgespiesst
+   ist, sollte fuer den Gegner schon SEHR irritierend sein ;). Die
+   Waffengattung hat nur wenig Einfluss auf Finte/Waffentrick.
 
-  Der max. Bonus fuer diese Property betraegt 50, wobei 1-10 -> geringer
-  Bonus, 11-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
-
+   Der max. Bonus fuer diese Property betraegt 50, wobei 1-10 ->
+   geringer Bonus, 11-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
 
 6 Todesstossbonus - K_CRITICAL_HIT (INT) - "k_critical_hit"
 
-  Man stelle sich eine Waffe mit besonders spitzer, langer Klinge vor oder
-  eine magische Waffe, die dem geschwaechten Gegner die Seele entreisst.
-  Diese Eigenschaften verleihen dem Spieler beim Todesstoss einen
-  entsprechenden Bonus von bis zu 100%.
+   Man stelle sich eine Waffe mit besonders spitzer, langer Klinge vor
+   oder eine magische Waffe, die dem geschwaechten Gegner die Seele
+   entreisst. Diese Eigenschaften verleihen dem Spieler beim
+   Todesstoss einen entsprechenden Bonus von bis zu 100%.
 
-  Es ist moeglich, dass ein und dasselbe 'feature' sowohl dem Waffenschlag
-  als auch dem Todesstoss den Bonus stellt, z.B. zwei Hiebklingen auf dem
-  Klingenruecken einer grossen Axt. Auch dies sollte man deutlich aus der
-  Langbeschreibung herauslesen koennen.
+   Es ist moeglich, dass ein und dasselbe 'feature' sowohl dem
+   Waffenschlag als auch dem Todesstoss den Bonus stellt, z.B. zwei
+   Hiebklingen auf dem Klingenruecken einer grossen Axt. Auch dies
+   sollte man deutlich aus der Langbeschreibung herauslesen koennen.
 
-  Der max. Bonus fuer diese Property betraegt 100, wobei 100 eine Verdopplung
-  der P_WC beim Todesstoss bedeutet!
-  Ansonsten bedeutet 1-20 -> geringer Bonus, 21-60 -> guter Bonus,
-  61-100 -> sehr guter Bonus.
-
+   Der max. Bonus fuer diese Property betraegt 100, wobei 100 eine
+   Verdopplung der P_WC beim Todesstoss bedeutet! Ansonsten bedeutet
+   1-20 -> geringer Bonus, 21-60 -> guter Bonus, 61-100 -> sehr guter
+   Bonus.
 
 7 Waffenwurfbonus - K_THROWING_WEAPON (INT) - "k_throwing_weapon"
 
-  Wenn eine Waffe besonders gut zum Werfen geeignet ist, z.B. ein Wurfdolch,
-  dann kann diese Property gesetzt werden. Natuerlich ist der Grundwert wieder
-  von der Waffengattung abhaengig. Es gilt, dass man Messer und Speere
-  grundsaetzlich am besten werfen - und dabei gut Schaden machen - kann, am
-  schlechtesten schneiden Keulen und Kampfstaebe ab.
+   Wenn eine Waffe besonders gut zum Werfen geeignet ist, z.B. ein
+   Wurfdolch, dann kann diese Property gesetzt werden. Natuerlich ist
+   der Grundwert wieder von der Waffengattung abhaengig. Es gilt, dass
+   man Messer und Speere grundsaetzlich am besten werfen - und dabei
+   gut Schaden machen - kann, am schlechtesten schneiden Keulen und
+   Kampfstaebe ab.
 
-  Der max. Bonus fuer diese Property betraegt 50, wobei 1-20 -> geringer
-  Bonus, 21-40 -> guter Bonus, 31-50 -> sehr guter Bonus.
+   Der max. Bonus fuer diese Property betraegt 50, wobei 1-20 ->
+   geringer Bonus, 21-40 -> guter Bonus, 31-50 -> sehr guter Bonus.
 
-  Zu beachten ist hierbei, dass ein sehr hoher Bonus nur bei Waffen mit etwas
-  geringerer P_WC vergeben werden sollte. Ein reines Wurfmesser ist nunmal im
-  normalen Kampf nicht die gefaehrlichste aller Waffen (speziell
-  ausbalanciert, keinen richtigen Griff, etc.).
-  Natuerlich kann es einen Wurfspeer mit max. P_WC und sehr hohem
-  Waffenwurfbonus geben, allerdings mit den ueblich hohen Restriktionen.
-
+   Zu beachten ist hierbei, dass ein sehr hoher Bonus nur bei Waffen
+   mit etwas geringerer P_WC vergeben werden sollte. Ein reines
+   Wurfmesser ist nunmal im normalen Kampf nicht die gefaehrlichste
+   aller Waffen (speziell ausbalanciert, keinen richtigen Griff,
+   etc.). Natuerlich kann es einen Wurfspeer mit max. P_WC und sehr
+   hohem Waffenwurfbonus geben, allerdings mit den ueblich hohen
+   Restriktionen.
 
 8 KO-Schlag-Bonus - K_KO (INT) - "k_ko"
 
-  Waffen, die besonders fuer einen KO-Schlag geeignet sind, koennen einen
-  Bonus mit dieser Property bekommen. Eine entsprechende Waffe koennte z.B.
-  ein lederumwickelter Pruegel sein, denn man will den Gegner ja nur KO
-  schlagen und nicht gleich toeten.
+   Waffen, die besonders fuer einen KO-Schlag geeignet sind, koennen
+   einen Bonus mit dieser Property bekommen. Eine entsprechende Waffe
+   koennte z.B. ein lederumwickelter Pruegel sein, denn man will den
+   Gegner ja nur KO schlagen und nicht gleich toeten.
 
-  Der max. Bonus fuer diese Property betraegt 50, wobei 1-20 -> geringer
-  Bonus, 21-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
-
+   Der max. Bonus fuer diese Property betraegt 50, wobei 1-20 ->
+   geringer Bonus, 21-30 -> guter Bonus, 31-50 -> sehr guter Bonus.
 
 9 Kein Waffenschaerfen - K_NO_HONING (INT) - "k_no_honing"
 
-  Wenn eine Waffe aus irgendeinem Grund nicht geschaerft werden kann oder
-  darf, muss man diese Property auf 1 setzen.
-  Eine Erklaerung dafuer sollte in der P_LONG bzw. P_INFO erfolgen.
-
+   Wenn eine Waffe aus irgendeinem Grund nicht geschaerft werden kann
+   oder darf, muss man diese Property auf 1 setzen. Eine Erklaerung
+   dafuer sollte in der P_LONG bzw. P_INFO erfolgen.
 
 Abschnitt B
------------
 
 Die beiden Properties, P_EFFECTIVE_AC und P_EFFECTIVE_WC, welche in
-<combat.h> definiert sind, sind eigentlich nur dazu da, um Ruestungen und
-Waffen, die eine DefendFunc() bzw. HitFunc() besitzen, korrekt vom Spieler
-einschaetzen lassen zu koennnen.
+<combat.h> definiert sind, sind eigentlich nur dazu da, um Ruestungen
+und Waffen, die eine DefendFunc() bzw. HitFunc() besitzen, korrekt vom
+Spieler einschaetzen lassen zu koennnen.
 
-Das Kaempferspellbook verwendet diese Properties darueberhinaus wie folgt:
-
+Das Kaempferspellbook verwendet diese Properties darueberhinaus wie
+folgt
 
 1 Schutzboni in Waffen - P_EFFECTIVE_AC (INT) - "effective_ac"
 
-  Ist diese Property in einer Waffe gesetzt, geht das Kaempferspellbook
-  davon aus, dass diese Waffe mehr oder weniger die Faehigkeit besitzt,
-  auch wie eine Ruestung schuetzen zu koennen. Da man eine Waffe aber nicht
-  anziehen, sondern nur vor sich hertragen kann, kann auch der max.
-  Ruestungsschutz einer Waffe nur gleich dem max. Ruestungsschutz eines
-  Schildes entsprechen.
-  Eine gesetzte P_EFFECTIVE_AC in einer Waffe wird dem Spieler als mehr
-  oder weniger gute 'Paradewaffe' im 'schaetz' angezeigt und geht sowohl bei
-  der Waffenparade als auch beim Block als Bonus mit ein.
+   Ist diese Property in einer Waffe gesetzt, geht das
+   Kaempferspellbook davon aus, dass diese Waffe mehr oder weniger die
+   Faehigkeit besitzt, auch wie eine Ruestung schuetzen zu koennen. Da
+   man eine Waffe aber nicht anziehen, sondern nur vor sich hertragen
+   kann, kann auch der max. Ruestungsschutz einer Waffe nur gleich dem
+   max. Ruestungsschutz eines Schildes entsprechen. Eine gesetzte
+   P_EFFECTIVE_AC in einer Waffe wird dem Spieler als mehr oder
+   weniger gute 'Paradewaffe' im 'schaetz' angezeigt und geht sowohl
+   bei der Waffenparade als auch beim Block als Bonus mit ein.
 
-  Z.B. koennte ein leichtes Schwert, was aufgrund seiner Bauweise mehr fuer
-  den defensiven Kampf ausgelegt ist (extralange Parierstangen, verstaerkter
-  Handschutz im Griffbereich, ...) wie ein maessiges Schild wirken. Die
-  Vorteile liegen auf der Hand: der Spieler bekommt verstaerkten Schutz,
-  kann aber weiterhin eine Zweihandwaffe fuehren.
+   Z.B. koennte ein leichtes Schwert, was aufgrund seiner Bauweise
+   mehr fuer den defensiven Kampf ausgelegt ist (extralange
+   Parierstangen, verstaerkter Handschutz im Griffbereich, ...) wie
+   ein maessiges Schild wirken. Die Vorteile liegen auf der Hand der
+   Spieler bekommt verstaerkten Schutz, kann aber weiterhin eine
+   Zweihandwaffe fuehren.
 
-  Der max. Bonus fuer diese Property betraegt 40, wobei 1-20 -> geringer
-  Bonus, 21-30 -> guter Bonus, 31-40 -> sehr guter Bonus.
+   Der max. Bonus fuer diese Property betraegt 40, wobei 1-20 ->
+   geringer Bonus, 21-30 -> guter Bonus, 31-40 -> sehr guter Bonus.
 
-  Zu beachten ist hier, dass sehr gute Parierwaffen mit P_EFFECTIVE_AC > 30
-  moeglichst deutlich unter der max. WC liegen sollten.
+   Zu beachten ist hier, dass sehr gute Parierwaffen mit
+   P_EFFECTIVE_AC > 30 moeglichst deutlich unter der max. WC liegen
+   sollten.
 
-  Anmerkungen:
-  Eine gesetzte P_EFFECTIVE_AC in einem Schild kann den Bonus fuer die
-  Schildparade nach oben oder unten beeinflussen. Moechte man ein Schild
-  herstellen, welches speziell bei der Schildparade der Kaempfer besser
-  als 'normal' schuetzt, sollte man hier einen Wert eintragen, der deutlich
-  groesser als die P_AC des Schildes ist.
+   Anmerkungen Eine gesetzte P_EFFECTIVE_AC in einem Schild kann den
+   Bonus fuer die Schildparade nach oben oder unten beeinflussen.
+   Moechte man ein Schild herstellen, welches speziell bei der
+   Schildparade der Kaempfer besser als 'normal' schuetzt, sollte man
+   hier einen Wert eintragen, der deutlich groesser als die P_AC des
+   Schildes ist.
 
-  Eine gesetzte P_EFFECTIVE_AC in einer anderen Ruestung hat nur den Nutzen,
-  auf deren erhoehten (und nicht sofort sichtbaren) Verteidigungswert
-  hinzuweisen, der durch eine DefendFunc() realisiert wird.
-
+   Eine gesetzte P_EFFECTIVE_AC in einer anderen Ruestung hat nur den
+   Nutzen, auf deren erhoehten (und nicht sofort sichtbaren)
+   Verteidigungswert hinzuweisen, der durch eine DefendFunc()
+   realisiert wird.
 
 2 Angriffsboni in Ruestungen - P_EFFECTIVE_WC (INT) - "effective_wc"
 
-  Fuer die Kaempfer koennen folgende Ruestungstypen modifiziert werden:
-  AT_TROUSERS (Hosen), AT_HELMET (Kopfbedeckung), AT_BOOT (Fusskleidung),
-  AT_ARMOUR (Koerperruestung), AT_SHIELD (Schilde).
-  Ist in einer dieser Typen P_EFFECTIVE_WC gesetzt, so macht diese Ruestung
-  bei einem Angriff mit einer Spezialattacke (Kniestoss, Kopfstoss, Fusstritt,
-  Ellbogenschlag und Schildstoss) entsprechend mehr bzw. weniger Schaden als
-  ohne diese Property. Eine entsprechende Begruendung fuer eine Verstaerkung
-  oder Schwaechung sollte auch hier fuer den Spieler offensichtlich sein
-  (Dornen am Schild, verstaerkter Kniebereich, Zacken am Helm, etc.).
+   Fuer die Kaempfer koennen folgende Ruestungstypen modifiziert
+   werden AT_TROUSERS (Hosen), AT_HELMET (Kopfbedeckung), AT_BOOT
+   (Fusskleidung), AT_ARMOUR (Koerperruestung), AT_SHIELD (Schilde).
+   Ist in einer dieser Typen P_EFFECTIVE_WC gesetzt, so macht diese
+   Ruestung bei einem Angriff mit einer Spezialattacke (Kniestoss,
+   Kopfstoss, Fusstritt, Ellbogenschlag und Schildstoss) entsprechend
+   mehr bzw. weniger Schaden als ohne diese Property. Eine
+   entsprechende Begruendung fuer eine Verstaerkung oder Schwaechung
+   sollte auch hier fuer den Spieler offensichtlich sein (Dornen am
+   Schild, verstaerkter Kniebereich, Zacken am Helm, etc.).
 
-  Wenn man der Ruestung einen Bonus geben moechte, muss man darauf achten,
-  dass P_EFFECTIVE_WC hoeher ist als die P_AC der Ruestung! Sollte
-  P_EFFECTIVE_WC niedriger als P_AC sein, wird dennoch P_EFFECTIVE_WC als
-  Angriffswert genommen. Dies stellt natuerlich eine Schwaechung der
-  Spezialattacke dar. Moeglicherweise ist aber genau das gewollt, wenn eine
-  Ruestung, die sehr gut schuetzt, nur geringen Kaempferbonus aufweisen soll.
+   Wenn man der Ruestung einen Bonus geben moechte, muss man darauf
+   achten, dass P_EFFECTIVE_WC hoeher ist als die P_AC der Ruestung!
+   Sollte P_EFFECTIVE_WC niedriger als P_AC sein, wird dennoch
+   P_EFFECTIVE_WC als Angriffswert genommen. Dies stellt natuerlich
+   eine Schwaechung der Spezialattacke dar. Moeglicherweise ist aber
+   genau das gewollt, wenn eine Ruestung, die sehr gut schuetzt, nur
+   geringen Kaempferbonus aufweisen soll.
 
-  Beispiel: ein Schild aus Hartgummi kann recht gut Schlaege aller Art
-  abfangen (-> P_AC 35). Will der Kaempfer jedoch einen Schildstoss damit
-  machen, fehlt ihm aufgrund der Beschaffenheit die Wucht, eher daempft es
-  den Schildstoss noch ein wenig (-> P_EFFECTIVE_WC 25).
+   Beispiel ein Schild aus Hartgummi kann recht gut Schlaege aller Art
+   abfangen (-> P_AC 35). Will der Kaempfer jedoch einen Schildstoss
+   damit machen, fehlt ihm aufgrund der Beschaffenheit die Wucht, eher
+   daempft es den Schildstoss noch ein wenig (-> P_EFFECTIVE_WC 25).
 
-  Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der jeweils
-  doppelte maximale P_AC-Wert (s. 'man ruestungen').
+   Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der
+   jeweils doppelte maximale P_AC-Wert (s. 'man ruestungen').
 
-  Die Angabe eines Schadenstyps (P_DAM_TYPE) in einer Ruestung kann dann
-  sinnvoll sein, wenn bei der Spezialattacke ein spezieller Schaden gemacht
-  werden soll. Beispielsweise sollten Flammenstiefel logischerweise DT_FIRE
-  und DT_BLUDGEON oder DT_PIERCE bei einem Kampftritt verursachen. Es MUSS
-  (logischerweise) mindestens ein physikalischer Schadenstyp enthalten sein.
-  Wird kein Schadenstyp angegeben, wird auf Standardtypen zurueckgegriffen.
+   Die Angabe eines Schadenstyps (P_DAM_TYPE) in einer Ruestung kann
+   dann sinnvoll sein, wenn bei der Spezialattacke ein spezieller
+   Schaden gemacht werden soll. Beispielsweise sollten Flammenstiefel
+   logischerweise DT_FIRE und DT_BLUDGEON oder DT_PIERCE bei einem
+   Kampftritt verursachen. Es MUSS (logischerweise) mindestens ein
+   physikalischer Schadenstyp enthalten sein. Wird kein Schadenstyp
+   angegeben, wird auf Standardtypen zurueckgegriffen.
 
 
-SIEHE AUCH:
-     Waffen:     P_WC, P_TOTAL_WC, P_EFFECTIVE_WC, HitFunc()
-     Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc()
-     Files:      /std/weapon.c, /std/weapon/combat.c
-     Balance:    waffen, ruestungen, properties
+SIEHE AUCH
+==========
 
------------------------------------------------------------------------------
+   Waffen:     P_WC, P_TOTAL_WC, P_EFFECTIVE_WC, HitFunc()
+   Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc()
+   Files:      /std/weapon.c, /std/weapon/combat.c
+   Balance:    waffen, ruestungen, properties
+
 26.10.2012, Gabylon
