Automatisch erzeugte Manpages.

Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.

Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/props/obsolete/P_BALANCED_WEAPON b/doc/props/obsolete/P_BALANCED_WEAPON
index e785f2c..83a2fc4 100644
--- a/doc/props/obsolete/P_BALANCED_WEAPON
+++ b/doc/props/obsolete/P_BALANCED_WEAPON
@@ -1,35 +1,59 @@
-********************* UNGENUTZTE PROPERTY *****************************
-* Diese Property wird von der Mudlib NICHT ausgewertet und kann       *
-* als veraltet gelten.                                                *
-* Momentan ist auch keine Gilde bekannt, die mehr macht, als sie      *
-* auszugeben.                                                         *
-***********************************************************************
-NAME:
-        P_BALANCED_WEAPON  "balanced_weapon"
 
-DEFINIERT IN:
-        /sys/weapon.h
+P_BALANCED_WEAPON
+*****************
 
-BESCHREIBUNG:
-        Die Property gibt an, ob eine Waffe ausbalanciert ist oder nicht.
-        Die beiden moeglichen Werte sind logischerweise:
+********************* UNGENUTZTE PROPERTY
+***************************** * Diese Property wird von der Mudlib
+NICHT ausgewertet und kann       * * als veraltet gelten.
+* * Momentan ist auch keine Gilde bekannt, die mehr macht, als sie
+* * auszugeben.
+* *******************************************************************
+****
 
-                WP_BALANCED       balanciert
-                WP_UNBALANCED     unbalanciert
 
-        Die WP_* sind ebenfalls in <weapon.h> definiert.
+NAME
+====
 
-BEISPIELE:
-        a) Eine ausbalancierte Waffe ist z.B. ein Kampfstab.
+   P_BALANCED_WEAPON  "balanced_weapon"
 
-            SetProp(P_BALANCED_WEAPON,WP_BALANCED);
 
-        b) Eine nicht ausbalancierte Waffe ist z.B. eine Keule.
+DEFINIERT IN
+============
 
-            SetProp(P_BALANCED_WEAPON,WP_UNBALANCED);
+   /sys/weapon.h
 
-SIEHE AUCH:
-        P_TECHNIQUE, /std/weapon/combat.c
 
-LETZTE AeNDERUNG:
+BESCHREIBUNG
+============
+
+   Die Property gibt an, ob eine Waffe ausbalanciert ist oder nicht.
+   Die beiden moeglichen Werte sind logischerweise:
+
+           WP_BALANCED       balanciert
+           WP_UNBALANCED     unbalanciert
+
+   Die WP_* sind ebenfalls in <weapon.h> definiert.
+
+
+BEISPIELE
+=========
+
+   a) Eine ausbalancierte Waffe ist z.B. ein Kampfstab.
+
+       SetProp(P_BALANCED_WEAPON,WP_BALANCED);
+
+   b) Eine nicht ausbalancierte Waffe ist z.B. eine Keule.
+
+       SetProp(P_BALANCED_WEAPON,WP_UNBALANCED);
+
+
+SIEHE AUCH
+==========
+
+   P_TECHNIQUE, /std/weapon/combat.c
+
+
+LETZTE AeNDERUNG
+================
+
 15.02.2009, Zesstra
diff --git a/doc/props/obsolete/P_DEFAULT_INFO b/doc/props/obsolete/P_DEFAULT_INFO
index 814928c..9a16169 100644
--- a/doc/props/obsolete/P_DEFAULT_INFO
+++ b/doc/props/obsolete/P_DEFAULT_INFO
@@ -1,28 +1,50 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
 
-NAME:
-    P_DEFAULT_INFO                "default_info"
+P_DEFAULT_INFO
+**************
 
-DEFINIERT IN:
-    /sys/properties.h
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
 
-BESCHREIBUNG:
-    Default-Antwort eines Npc, wenn er auf das Schluesselwort durch den
-    Spieler kein AddInfo parat hat.
 
-BEMERKUNG:
-    Diese Property sollte nicht mehr benutzt werden. Stattdessen bitte
-    AddInfo(DEFAULT_INFO,...) verwenden.
-    Dem in dieser Prop angegeben String wird immer der Name des Npc
-    vorausgestellt. Will man dies verhindern, muss man sie ueberschreiben.
+NAME
+====
 
-BEISPIEL:
-    SetProp(P_DEFAULT_INFO,"bohrt gelangweilt in der Nase.\n");
+   P_DEFAULT_INFO                "default_info"
 
-SIEHE AUCH:
-    AddInfo
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Default-Antwort eines Npc, wenn er auf das Schluesselwort durch den
+   Spieler kein AddInfo parat hat.
+
+
+BEMERKUNG
+=========
+
+   Diese Property sollte nicht mehr benutzt werden. Stattdessen bitte
+   AddInfo(DEFAULT_INFO,...) verwenden.
+   Dem in dieser Prop angegeben String wird immer der Name des Npc
+   vorausgestellt. Will man dies verhindern, muss man sie ueberschreiben.
+
+
+BEISPIEL
+========
+
+   SetProp(P_DEFAULT_INFO,"bohrt gelangweilt in der Nase.\n");
+
+
+SIEHE AUCH
+==========
+
+   AddInfo
+
 17.08.2010, Zesstra
diff --git a/doc/props/obsolete/P_EXTRA_LOOK b/doc/props/obsolete/P_EXTRA_LOOK
deleted file mode 100644
index 3777a25..0000000
--- a/doc/props/obsolete/P_EXTRA_LOOK
+++ /dev/null
@@ -1,35 +0,0 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte benutzt sie NICHT mehr, sondern  *
-* stattdessden AddExtraLook().                                        *
-***********************************************************************
-
-NAME:
-	P_EXTRA_LOOK			"extralook"
-
-DEFINIERT IN:
-	/sys/living/description.h
-
-BESCHREIBUNG:
-	Diese Property enthaelt einen String. Sie wird entweder in Lebewesen
-	direkt oder in Objekten gesetzt wird, die im Besitz von Lebewesen
-	sein koennen.
-	Diese Strings erscheinen dann zusaetzlich in der Langbeschreibung
-	des Lebewesens bzw. des Besitzers (wenn das Objekt sich direkt im
-	 Lebewesen befindet, jedoch nicht in einem Behaelter im Lebewesen).
-	Fuer den Zeilenumbruch muss man selbst sorgen.
-
-BEISPIEL:
-	Ein Spieler hat eine Pfeife im Mund. In dieser Pfeife setzt man z.B.
-	in der Funktion zum Pfeife Rauchen folgendes:
-	  SetProp(P_EXTRA_LOOK,break_string(
-	 this_player()->Name(WER)+" ist ganz umnebelt.",78);
-
-BEMERKUNG:
-  BITTE NICHT MEHR BENUTZEN!
-
-SIEHE AUCH:
-	long(), /std/living/description.c, /std/player/base.c
-  AddExtraLook(), RemoveExtraLook()
-
-----------------------------------------------------------------------------
-13.05.2007, Zesstra
diff --git a/doc/props/obsolete/P_LAST_KILLER b/doc/props/obsolete/P_LAST_KILLER
index 27eea8f..199a878 100644
--- a/doc/props/obsolete/P_LAST_KILLER
+++ b/doc/props/obsolete/P_LAST_KILLER
@@ -1,20 +1,37 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet und wird bald aus der Mudlib entfernt.  *
-***********************************************************************
 
-NAME:
-    P_LAST_KILLER                 "last_killer"                 
+P_LAST_KILLER
+*************
 
-DEFINIERT IN:
-    /sys/player.h
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet und wird
+bald aus der Mudlib entfernt.  * ************************************
+***********************************
 
-BESCHREIBUNG:
-     Letzter Moerdes des Wesens.
-     Diese Property wurde nur in Spielern gesetzt und auch dann nicht immer.
-     Bitte stattdessen P_KILLER abfragen, welche in NPC und Spielern gesetzt
-     wird.
 
-SIEHE AUCH:
-    P_KILLER, die()
+NAME
+====
+
+   P_LAST_KILLER                 "last_killer"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Letzter Moerdes des Wesens.
+   Diese Property wurde nur in Spielern gesetzt und auch dann nicht immer.
+   Bitte stattdessen P_KILLER abfragen, welche in NPC und Spielern gesetzt
+   wird.
+
+
+SIEHE AUCH
+==========
+
+   P_KILLER, die()
 
 05.09.2008, Zesstra
diff --git a/doc/props/obsolete/P_LAST_PEACE_TIME b/doc/props/obsolete/P_LAST_PEACE_TIME
index 762233e..f8aea49 100644
--- a/doc/props/obsolete/P_LAST_PEACE_TIME
+++ b/doc/props/obsolete/P_LAST_PEACE_TIME
@@ -1,27 +1,41 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet und wird bald aus der Mudlib entfernt.  *
-***********************************************************************
-PROPERTY
 
-	P_LAST_PEACE_TIME	"last_peace_time"
+P_LAST_PEACE_TIME
+*****************
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet und wird
+bald aus der Mudlib entfernt.  * ************************************
+***********************************
+
+
+PROPERTY
+========
+
+   P_LAST_PEACE_TIME       "last_peace_time"
+
 
 DEFINIERT IN
+============
 
-	/std/living/combat.c
+   /std/living/combat.c
+
 
 BESCHREIBUNG
+============
 
-	Diese Property gibt an, wann zuletzt versucht wurde, einen NPC zu
-	befrieden. Bitte nach Moeglichkeit nur lesend verwenden. Des weiteren
-	wird sie nur im ueblichen Verhalten von QueryPacify gesetzt, und nur
-	dann, wenn P_ACCEPT_PEACE nicht gesetzt ist.
+   Diese Property gibt an, wann zuletzt versucht wurde, einen NPC zu
+   befrieden. Bitte nach Moeglichkeit nur lesend verwenden. Des weiteren
+   wird sie nur im ueblichen Verhalten von QueryPacify gesetzt, und nur
+   dann, wenn P_ACCEPT_PEACE nicht gesetzt ist.
+
 
 SIEHE AUCH
+==========
 
-	QueryPacify, P_ACCEPT_PEACE
+   QueryPacify, P_ACCEPT_PEACE
+
 
 LETZTE AENDERUNG
+================
 
-	2004-03-17, 14:30 von Humni
-	
-
+   2004-03-17, 14:30 von Humni
diff --git a/doc/props/obsolete/P_LOG_FILE b/doc/props/obsolete/P_LOG_FILE
index 1eafe40..ed57133 100644
--- a/doc/props/obsolete/P_LOG_FILE
+++ b/doc/props/obsolete/P_LOG_FILE
@@ -1,45 +1,69 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property wird nicht mehr ausgewertet.                         *
-***********************************************************************
-NAME:
-    P_LOG_FILE                   "log_file"
 
-DEFINIERT IN:
-    /sys/thing/properties.h
+P_LOG_FILE
+**********
 
-BESCHREIBUNG:
-    Enthaelt einen String auf einen Filenamen. 
+********************* VERALTETE PROPERTY
+****************************** * Diese Property wird nicht mehr
+ausgewertet.                         * ******************************
+*****************************************
 
-    Werden zu dem Objekt (Raum, Monster, ...) Fehlermeldungen abgesetzt, 
-    werden diese in das angegebene File umgeleitet. Die Eintragung in
-    die per Default fuer Fehlermeldungen vorgesehenen Dateien erfolgt
-    nicht.
 
-BEMERKUNGEN:
-    P_LOG_FILE wird ausgewertet wie log_file().
+NAME
+====
 
-    Das heisst, es wird AUF JEDEN FALL nach /log geschrieben!
+   P_LOG_FILE                   "log_file"
 
-    Direkt in /log kann NICHT geschrieben werden, es muss also ein 
-    Unterverzeichnis mit Eurem Magiernamen vorhanden sein.
 
-BEISPIELE:
-    SetProp(P_LOG_FILE,"tilly_log");          // FALSCH, es wuerde versucht, 
-                                                 das File /log/tilly_log 
-                                                 anzulegen
-    SetProp(P_LOG_FILE,"/log/tilly_log");     // FALSCH, es wuerde versucht, 
-                                                 das File /log/log/tilly_log
-                                                 anzulegen
-    SetProp(P_LOG_FILE,"/d/ebene/tilly_log"); // FALSCH, s.o.
+DEFINIERT IN
+============
 
-    SetProp(P_LOG_FILE,"tilly/tilly_log");    // RICHTIG!
+   /sys/thing/properties.h
 
-    Im letzten Beispiel werden alle Eintraege in das File tilly_log ge-
-    schrieben, das sich im Verzeichnis /log/tilly/ befindet.
 
-    Das Unterverzeichnis /tilly in /log muss zuvor angelegt werden.
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-    P_LOG_INFO, write_file(), log_file(),
+   Enthaelt einen String auf einen Filenamen.
+
+   Werden zu dem Objekt (Raum, Monster, ...) Fehlermeldungen abgesetzt,
+   werden diese in das angegebene File umgeleitet. Die Eintragung in
+   die per Default fuer Fehlermeldungen vorgesehenen Dateien erfolgt
+   nicht.
+
+
+BEMERKUNGEN
+===========
+
+   P_LOG_FILE wird ausgewertet wie log_file().
+
+   Das heisst, es wird AUF JEDEN FALL nach /log geschrieben!
+
+   Direkt in /log kann NICHT geschrieben werden, es muss also ein
+   Unterverzeichnis mit Eurem Magiernamen vorhanden sein.
+
+
+BEISPIELE
+=========
+
+   SetProp(P_LOG_FILE,"tilly_log");          // FALSCH, es wuerde versucht,
+                                                das File /log/tilly_log
+                                                anzulegen
+   SetProp(P_LOG_FILE,"/log/tilly_log");     // FALSCH, es wuerde versucht,
+                                                das File /log/log/tilly_log
+                                                anzulegen
+   SetProp(P_LOG_FILE,"/d/ebene/tilly_log"); // FALSCH, s.o.
+
+   SetProp(P_LOG_FILE,"tilly/tilly_log");    // RICHTIG!
+
+   Im letzten Beispiel werden alle Eintraege in das File tilly_log ge-
+   schrieben, das sich im Verzeichnis /log/tilly/ befindet.
+
+   Das Unterverzeichnis /tilly in /log muss zuvor angelegt werden.
+
+
+SIEHE AUCH
+==========
+
+   P_LOG_INFO, write_file(), log_file(),
 
 Letzte Aenderung: 13.09.04 Tilly@MorgenGrauen
diff --git a/doc/props/obsolete/P_NEXT_SPELL_TIME b/doc/props/obsolete/P_NEXT_SPELL_TIME
index 4742456..300a766 100644
--- a/doc/props/obsolete/P_NEXT_SPELL_TIME
+++ b/doc/props/obsolete/P_NEXT_SPELL_TIME
@@ -1,30 +1,49 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
 
-NAME:
-    P_NEXT_SPELL_TIME             "next_spell"
+P_NEXT_SPELL_TIME
+*****************
 
-DEFINIERT IN:
-    /sys/new_skills.h
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
 
-BESCHREIBUNG:
-    Wann kann das naechste Mal gezaubert werden?
-    Dies ist eine globale Spruchermuedung/-Sperre.
-    Flexiblere Sperren koennen mittels SetSpellFatigue/CheckSpellFatigue()
-    verwaltet werden.
 
-    Diese Property ist keine echte Property, sondern liefert nur das
-    Ergebnis von von CheckSpellFatigue() zurueck bzw. ruft beim Setzen
-    SetSpellFatigue(<spruchsperre>, 0) auf.
-    Diese Prop sollte _nicht_ mittels Query- oder Setmethoden manupuliert
-    werden, da sonst Inkonsistenzen zum Ergebnis von CheckSpellFatigue()
-    auftreten.
+NAME
+====
 
-SIEHE AUCH:
-    SetSpellFatigue(L), CheckSpellFatigue(L)
-    spruchermuedung
+   P_NEXT_SPELL_TIME             "next_spell"
 
-ZULETZT GEAeNDERT:
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Wann kann das naechste Mal gezaubert werden?
+   Dies ist eine globale Spruchermuedung/-Sperre.
+   Flexiblere Sperren koennen mittels SetSpellFatigue/CheckSpellFatigue()
+   verwaltet werden.
+
+   Diese Property ist keine echte Property, sondern liefert nur das
+   Ergebnis von von CheckSpellFatigue() zurueck bzw. ruft beim Setzen
+   SetSpellFatigue(<spruchsperre>, 0) auf.
+   Diese Prop sollte _nicht_ mittels Query- oder Setmethoden manupuliert
+   werden, da sonst Inkonsistenzen zum Ergebnis von CheckSpellFatigue()
+   auftreten.
+
+
+SIEHE AUCH
+==========
+
+   SetSpellFatigue(L), CheckSpellFatigue(L)
+   spruchermuedung
+
+
+ZULETZT GEAeNDERT
+=================
+
 14.03.2010, Zesstra
-
diff --git a/doc/props/obsolete/P_READ_MSG b/doc/props/obsolete/P_READ_MSG
index 5c79fdc..2331508 100644
--- a/doc/props/obsolete/P_READ_MSG
+++ b/doc/props/obsolete/P_READ_MSG
@@ -1,32 +1,56 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
-NAME:
-    P_READ_MSG                "read_msg"                
 
-DEFINIERT IN:
-    /sys/properties.h
+P_READ_MSG
+**********
 
-BESCHREIBUNG:
-    Diese Property ist veraltet. Ihre Funktion wird von
-    AddReadDetail(SENSE_DEFAULT, ...) uebernommen.
-    
-    Hier koennen Informationen gespeichert werden, die beim Lesen
-    des Objektes ausgegeben werden.
-     
-    Fuer das Identifizieren des zu lesenden Objektes wird der gleiche
-    Mechanismus benutzt wie fuer lesbare und andere Details.
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
 
-    Die Benutzung von process_string() ist in dieser Prop nicht mehr erlaubt.
 
-BEISPIEL:
-    AddId(({"rolle", "schriftrolle"}));
-    SetProp(P_READ_MSG,
-       "Du oeffnest die Rolle und liest: LOREM IPSUM ...\n");
-     
-SIEHE AUCH:
-    Details:   AddReadDetail(), RemoveReadDetail(), P_READ_DETAILS
-    Sonstiges: break_string()
+NAME
+====
+
+   P_READ_MSG                "read_msg"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property ist veraltet. Ihre Funktion wird von
+   AddReadDetail(SENSE_DEFAULT, ...) uebernommen.
+
+
+
+   Hier koennen Informationen gespeichert werden, die beim Lesen
+   des Objektes ausgegeben werden.
+
+
+
+   Fuer das Identifizieren des zu lesenden Objektes wird der gleiche
+   Mechanismus benutzt wie fuer lesbare und andere Details.
+
+   Die Benutzung von process_string() ist in dieser Prop nicht mehr erlaubt.
+
+
+BEISPIEL
+========
+
+   AddId(({"rolle", "schriftrolle"}));
+   SetProp(P_READ_MSG,
+      "Du oeffnest die Rolle und liest: LOREM IPSUM ...\n");
+
+
+SIEHE AUCH
+==========
+
+   Details:   AddReadDetail(), RemoveReadDetail(), P_READ_DETAILS
+   Sonstiges: break_string()
 
 09.12.2012, Zesstra
-
diff --git a/doc/props/obsolete/P_TECHNIQUE b/doc/props/obsolete/P_TECHNIQUE
index 1657027..a556ce6 100644
--- a/doc/props/obsolete/P_TECHNIQUE
+++ b/doc/props/obsolete/P_TECHNIQUE
@@ -1,44 +1,70 @@
-********************* UNGENUTZTE PROPERTY *****************************
-* Diese Property wird von der Mudlib NICHT ausgewertet und kann       *
-* als veraltet gelten.                                                *
-* Momentan ist auch keine Gilde bekannt, die mehr macht, als sie      *
-* auszugeben.                                                         *
-***********************************************************************
-NAME:
-	P_TECHNIQUE				"technique"
 
-DEFINIERT IN:
-	/sys/weapon.h
+P_TECHNIQUE
+***********
 
-BESCHREIBUNG:
-        Die Technik(en), mit denen eine Waffe im Kampf eingesetzt werden
-        kann. Folgende Techniken stehen zur Verfuegung:
+********************* UNGENUTZTE PROPERTY
+***************************** * Diese Property wird von der Mudlib
+NICHT ausgewertet und kann       * * als veraltet gelten.
+* * Momentan ist auch keine Gilde bekannt, die mehr macht, als sie
+* * auszugeben.
+* *******************************************************************
+****
 
-                TQ_STROKE       Streichtechnik
-                TQ_THRASH       Schlagtechnik
-                TQ_THRUST       Stosstechnik
-                TQ_WHIP         Peitschtechnik
 
-        Die Techniken sind ebenfalls in <weapon.h> definiert und auf der
-        man-page 'techniken' naeher erlaeutert.
+NAME
+====
 
-BEMERKUNGEN:
-        Man kann einer Waffe eine oder mehrere Techniken zuweisen.
+   P_TECHNIQUE                             "technique"
 
-BEISPIELE:
-        a) Eine Waffe, die nur mit einer Peitschtechnik eingesetzt wird,
-           also typischerweise eine Peitsche, aber auch ein Morgenstern:
 
-            SetProp(P_TECHNIQUE,TQ_WHIP);
+DEFINIERT IN
+============
 
-        b) Eine Waffe, die sowohl mit der Schlag- als auch der Stosstechnik
-           eingesetzt wird, also z.B. eine Hellebarde:
+   /sys/weapon.h
 
-            SetProp(P_TECHNIQUE,({TQ_THRASH,TQ_THRUST}));
 
-SIEHE AUCH:
-        techniken, P_BALANCED_WEAPON, /std/weapon/combat.c
+BESCHREIBUNG
+============
 
-LETZTE AeNDERUNG:
+   Die Technik(en), mit denen eine Waffe im Kampf eingesetzt werden
+   kann. Folgende Techniken stehen zur Verfuegung:
+
+           TQ_STROKE       Streichtechnik
+           TQ_THRASH       Schlagtechnik
+           TQ_THRUST       Stosstechnik
+           TQ_WHIP         Peitschtechnik
+
+   Die Techniken sind ebenfalls in <weapon.h> definiert und auf der
+   man-page 'techniken' naeher erlaeutert.
+
+
+BEMERKUNGEN
+===========
+
+   Man kann einer Waffe eine oder mehrere Techniken zuweisen.
+
+
+BEISPIELE
+=========
+
+   a) Eine Waffe, die nur mit einer Peitschtechnik eingesetzt wird,
+      also typischerweise eine Peitsche, aber auch ein Morgenstern:
+
+       SetProp(P_TECHNIQUE,TQ_WHIP);
+
+   b) Eine Waffe, die sowohl mit der Schlag- als auch der Stosstechnik
+      eingesetzt wird, also z.B. eine Hellebarde:
+
+       SetProp(P_TECHNIQUE,({TQ_THRASH,TQ_THRUST}));
+
+
+SIEHE AUCH
+==========
+
+   techniken, P_BALANCED_WEAPON, /std/weapon/combat.c
+
+
+LETZTE AeNDERUNG
+================
+
 15.02.2009, Zesstra
-
diff --git a/doc/props/obsolete/P_TMP_ATTACK_HOOK b/doc/props/obsolete/P_TMP_ATTACK_HOOK
index bdc8152..6bd5130 100644
--- a/doc/props/obsolete/P_TMP_ATTACK_HOOK
+++ b/doc/props/obsolete/P_TMP_ATTACK_HOOK
@@ -1,73 +1,95 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
+
 P_TMP_ATTACK_HOOK
+*****************
 
-NAME:
-    P_TMP_ATTACK_HOOK             "attack_hook"
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_ATTACK_HOOK
 
-DEFINIERT IN:
-    /sys/new_skills.h
 
-BESCHREIBUNG:
-     Mittels dieser Property koennen die Attacken eines Livings ggf.
-     abgebrochen werden noch bevor Waffen oder Skills zum ausgewertet
-     wurden.
+NAME
+====
 
-     Es wird an dem Living die Property als mindestens 3-elementiges Array:
-     ({zeitpunkt, objekt, methode, ...})
-     gesetzt und die Methode 'methode' wird dann waehrend des Attack() des
-     Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
+   P_TMP_ATTACK_HOOK             "attack_hook"
 
-     Der Methode wird als Parameter der Gegner uebergeben.
 
-     Gibt die Methode 0 als Rueckgabewert zurueck, wird die Attacke sofort
-     kommentarlos abgebrochen.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
-     - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
-       Property auf 0 gesetzt
-     - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
-       pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
-       im Code anderer und ist andererseits unfair gegenueber ihnen
+   /sys/new_skills.h
 
-BEISPIELE:
-     *** der Spieler erhaelt eine Verwundung, die ihn manchmal behindert ***
-     if(!pointerp(tmp=TP->QueryProp(P_TMP_ATTACK_HOOK)) ||
-        sizeof(tmp)<3 || tmp[0]<=time()) {
-       TP->SetProp(P_TMP_ATTACK_HOOK,
-		   ({time()+3600, this_object(), "test_hurt"}));
-     ...
 
-     // die entsprechende Methode, die bei jedem Angriff ueber Attack()
-     // gerufen wird ...
-     int test_hurt(object enemy) {
+BESCHREIBUNG
+============
 
-       // mit 10% Chance generell und 20% Chance bei groesseren Gegnern
-       // bricht der Angriff ab ... previous_object() ist natuerlich
-       // der Angreifer
-       if(!random(10) ||
-          (enemy->QueryProp(P_SIZE)>previous_object()->QueryProp(P_SIZE) &&
-           !random(5)) {
+   Mittels dieser Property koennen die Attacken eines Livings ggf.
+   abgebrochen werden noch bevor Waffen oder Skills zum ausgewertet
+   wurden.
 
-          tell_object(previous_object(),
-            "Deine Wunde schmerzt dich zu sehr um anzugreifen.\n");
-          tell_room(environment(previous_object()),
-            previous_object()->Name(WER,1)+" zuckt vor Schmerzen zusammen.\n",
-            ({previous_object()}));
-          return 0;
-       }
+   Es wird an dem Living die Property als mindestens 3-elementiges Array:
+   ({zeitpunkt, objekt, methode, ...})
+   gesetzt und die Methode 'methode' wird dann waehrend des Attack() des
+   Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
 
-       // ansonsten geht der Angriff weiter
-       return 1;
+   Der Methode wird als Parameter der Gegner uebergeben.
+
+   Gibt die Methode 0 als Rueckgabewert zurueck, wird die Attacke sofort
+   kommentarlos abgebrochen.
+
+
+BEMERKUNGEN
+===========
+
+   - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
+   - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+     Property auf 0 gesetzt
+   - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
+     pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+     im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+BEISPIELE
+=========
+
+   *** der Spieler erhaelt eine Verwundung, die ihn manchmal behindert ***
+   if(!pointerp(tmp=TP->QueryProp(P_TMP_ATTACK_HOOK)) ||
+      sizeof(tmp)<3 || tmp[0]<=time()) {
+     TP->SetProp(P_TMP_ATTACK_HOOK,
+                 ({time()+3600, this_object(), "test_hurt"}));
+   ...
+
+   // die entsprechende Methode, die bei jedem Angriff ueber Attack()
+   // gerufen wird ...
+   int test_hurt(object enemy) {
+
+     // mit 10% Chance generell und 20% Chance bei groesseren Gegnern
+     // bricht der Angriff ab ... previous_object() ist natuerlich
+     // der Angreifer
+     if(!random(10) ||
+        (enemy->QueryProp(P_SIZE)>previous_object()->QueryProp(P_SIZE) &&
+         !random(5)) {
+
+        tell_object(previous_object(),
+          "Deine Wunde schmerzt dich zu sehr um anzugreifen.\n");
+        tell_room(environment(previous_object()),
+          previous_object()->Name(WER,1)+" zuckt vor Schmerzen zusammen.\n",
+          ({previous_object()}));
+        return 0;
      }
 
-SIEHE AUCH:
-     Angriff:	Attack(L)
-     Schutz:    Defend(L)
-     Verwandt:  InternalModifyAttack(L), P_TMP_ATTACK_MOD	
-     Hooks:	P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_DEFEND_HOOK
-     neue Hooks: std/hooks
+     // ansonsten geht der Angriff weiter
+     return 1;
+   }
+
+
+SIEHE AUCH
+==========
+
+   Angriff:   Attack(L)
+   Schutz:    Defend(L)
+   Verwandt:  InternalModifyAttack(L), P_TMP_ATTACK_MOD
+   Hooks:     P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_DEFEND_HOOK
+   neue Hooks: std/hooks
 
 08.12.2008, Zesstra
diff --git a/doc/props/obsolete/P_TMP_ATTACK_MOD b/doc/props/obsolete/P_TMP_ATTACK_MOD
index 3491c0c..df10409 100644
--- a/doc/props/obsolete/P_TMP_ATTACK_MOD
+++ b/doc/props/obsolete/P_TMP_ATTACK_MOD
@@ -1,112 +1,134 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
+
 P_TMP_ATTACK_MOD
+****************
 
-NAME:
-     P_TMP_ATTACK_MOD              "attack_mod"
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_ATTACK_MOD
 
-DEFINIERT IN:
-     /sys/new_skills.h
 
-BESCHREIBUNG:
-     Mittels dieser Property koennen die Attacken eines Livings temporaer
-     veraendert werden.
+NAME
+====
 
-     Es wird an dem Living die Property als mindestens 3-elementiges Array
-     ({zeitpunkt, objekt, methode, ...})
-     gesetzt und die Methode 'methode' wird dann waehrend des Attack() des
-     Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
+   P_TMP_ATTACK_MOD              "attack_mod"
 
-     Der Methode wird beim Aufruf ein Kopie des Mappings uebergeben, in dem
-     die bisherigen Werte des Angriffes vermerkt sind.
-     Aufbau von Mapping 'ainfo':
-     ([ SI_ENEMY :           object Angreifer,			(-> Defend)
-        SI_SPELL :           0/1/array Spellparameter,		(-> Defend)
-        P_WEAPON :           - oder Waffe,
-        SI_SKILLDAMAGE_MSG:  string Angriffsmeldungsende an Raum,
-        SI_SKILLDAMAGE_MSG2: string Angriffsmeldungsende an Kaempfende,
-        SI_SKILLDAMAGE:      int Schaden in Zehntel HP (Skills bis auf Rasse
-			     drin!)				(-> Defend),
-        SI_SKILLDAMAGE_TYPE: string/string* Schadenstypen,	(-> Defend)
-        P_WEAPON_TYPE:       string Waffentyp (combat.h),
-        P_WC:		     - oder int WC der Waffe/Hand,
-        P_NR_HANDS:	     - oder int Hands der Waffe/Hand,
-     ]);
 
-     Gibt die Methode:
-     - 0 oder kein Mapping zurueck, fuehrt das zum Abbruch der Attacke
-       -> da inzwischen Waffen abgefragt wurden, koennen schon Meldungen
-          von diesen ausgegeben worden sein
-     - ein leeres Mapping ( ([]) ) zurueck, fuehrt das zu keiner Modifikation
-     - ein Mapping mit veraenderten Werten zurueck, werden diese in das
-       Angriffsmapping kopiert
-       Die geaenderten Werte werden teilweise von SkillResTransfer() in
-       den eigentlichen Angriff uebernommen.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
-       Property auf 0 gesetzt
-     - vor dem Setzen immer auf die Existenz eines gueltigen Modifiers
-       pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
-       im Code anderer und ist andererseits unfair gegenueber ihnen
+   /sys/new_skills.h
 
-BEISPIELE:
-     *** ein besonder heisser Segen modifiziert die Attacken des Spielers ***
-     int action_segen() {
-       ...
-       mixed *tmp;
 
-       // pruefen, ob nicht ein anderer Modifier existiert
-       if(!pointerp(tmp=TP->QueryProp(P_TMP_ATTACK_MOD)) ||
-          sizeof(tmp)<3 || tmp[0]<=time()) {
+BESCHREIBUNG
+============
 
-         object wield;
-         wield=TP->QueryProp(P_WEAPON);
+   Mittels dieser Property koennen die Attacken eines Livings temporaer
+   veraendert werden.
 
-         write(break_string(
-           "Der Priester der Flamme weiht "+
-           (wield?wield->name(WEN,1):"deine Haende")+".", 78));
+   Es wird an dem Living die Property als mindestens 3-elementiges Array
+   ({zeitpunkt, objekt, methode, ...})
+   gesetzt und die Methode 'methode' wird dann waehrend des Attack() des
+   Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
 
-         // setzen des Modifiers .. 30-40 Sekunden gueltig
-         TP->SetProp(P_TMP_ATTACK_MOD,
-	              ({time()+30+random(10), this_object(), "modfun"}));
-        } else ...
-        ...
-      return 1;
-     }
+   Der Methode wird beim Aufruf ein Kopie des Mappings uebergeben, in dem
+   die bisherigen Werte des Angriffes vermerkt sind.
+   Aufbau von Mapping 'ainfo':
+   ([ SI_ENEMY :           object Angreifer,                  (-> Defend)
+      SI_SPELL :           0/1/array Spellparameter,          (-> Defend)
+      P_WEAPON :           - oder Waffe,
+      SI_SKILLDAMAGE_MSG:  string Angriffsmeldungsende an Raum,
+      SI_SKILLDAMAGE_MSG2: string Angriffsmeldungsende an Kaempfende,
+      SI_SKILLDAMAGE:      int Schaden in Zehntel HP (Skills bis auf Rasse
+                           drin!)                             (-> Defend),
+      SI_SKILLDAMAGE_TYPE: string/string* Schadenstypen,      (-> Defend)
+      P_WEAPON_TYPE:       string Waffentyp (combat.h),
+      P_WC:                - oder int WC der Waffe/Hand,
+      P_NR_HANDS:          - oder int Hands der Waffe/Hand,
+   ]);
 
-     // die eigentlich Methode, die waehrend des Angriffs gerufen wird
-     mapping modfun(mapping ainfo) {
-       mapping ret;
+   Gibt die Methode:
+   - 0 oder kein Mapping zurueck, fuehrt das zum Abbruch der Attacke
+     -> da inzwischen Waffen abgefragt wurden, koennen schon Meldungen
+        von diesen ausgegeben worden sein
+   - ein leeres Mapping ( ([]) ) zurueck, fuehrt das zu keiner Modifikation
+   - ein Mapping mit veraenderten Werten zurueck, werden diese in das
+     Angriffsmapping kopiert
+     Die geaenderten Werte werden teilweise von SkillResTransfer() in
+     den eigentlichen Angriff uebernommen.
 
-       // Returnwert ist immer ein Mapping, damit die Attacke weitergeht
-       ret=m_allocate(0,1);
 
-       // magische Waffen oder Sprueche werden nicht verbessert
-       if(ainfo[P_WEAPON_TYPE]!=WT_MAGIC) {
-         // sonst Verbesserungen ... Feuer addieren ...
-         ret[SI_SKILLDAMAGE_TYPE]=(ainfo[SI_SKILLDAMAGE_TYPE]||({}))+
-				({DT_FIRE});
-	 // ... und bei Waffe Meldungen anpassen
-         if(ainfo[P_WEAPON]) {
-           ret[SI_SKILLDAMAGE_MSG]=
-             " mit sengendem "+ainfo[P_WEAPON]->name(RAW);
-           ret[SI_SKILLDAMAGE_MSG2]=
-             " mit sengendem "+ainfo[P_WEAPON]->name(RAW);
-         }
+BEMERKUNGEN
+===========
+
+   - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+     Property auf 0 gesetzt
+   - vor dem Setzen immer auf die Existenz eines gueltigen Modifiers
+     pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+     im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+BEISPIELE
+=========
+
+   *** ein besonder heisser Segen modifiziert die Attacken des Spielers ***
+   int action_segen() {
+     ...
+     mixed *tmp;
+
+     // pruefen, ob nicht ein anderer Modifier existiert
+     if(!pointerp(tmp=TP->QueryProp(P_TMP_ATTACK_MOD)) ||
+        sizeof(tmp)<3 || tmp[0]<=time()) {
+
+       object wield;
+       wield=TP->QueryProp(P_WEAPON);
+
+       write(break_string(
+         "Der Priester der Flamme weiht "+
+         (wield?wield->name(WEN,1):"deine Haende")+".", 78));
+
+       // setzen des Modifiers .. 30-40 Sekunden gueltig
+       TP->SetProp(P_TMP_ATTACK_MOD,
+                    ({time()+30+random(10), this_object(), "modfun"}));
+      } else ...
+      ...
+    return 1;
+   }
+
+   // die eigentlich Methode, die waehrend des Angriffs gerufen wird
+   mapping modfun(mapping ainfo) {
+     mapping ret;
+
+     // Returnwert ist immer ein Mapping, damit die Attacke weitergeht
+     ret=m_allocate(0,1);
+
+     // magische Waffen oder Sprueche werden nicht verbessert
+     if(ainfo[P_WEAPON_TYPE]!=WT_MAGIC) {
+       // sonst Verbesserungen ... Feuer addieren ...
+       ret[SI_SKILLDAMAGE_TYPE]=(ainfo[SI_SKILLDAMAGE_TYPE]||({}))+
+                              ({DT_FIRE});
+       // ... und bei Waffe Meldungen anpassen
+       if(ainfo[P_WEAPON]) {
+         ret[SI_SKILLDAMAGE_MSG]=
+           " mit sengendem "+ainfo[P_WEAPON]->name(RAW);
+         ret[SI_SKILLDAMAGE_MSG2]=
+           " mit sengendem "+ainfo[P_WEAPON]->name(RAW);
        }
-
-       return ret;
      }
 
-SIEHE AUCH:
-     Angriff:	Attack(L)
-     Schutz:    Defend(L)
-     Verwandt:  InternalModifyAttack(L)
-		P_TMP_ATTACK_HOOK
-		P_TMP_DEFEND_HOOK
-     Sonstiges: SkillResTransfer(L)
-     Hooks:	P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK
+     return ret;
+   }
+
+
+SIEHE AUCH
+==========
+
+   Angriff:   Attack(L)
+   Schutz:    Defend(L)
+   Verwandt:  InternalModifyAttack(L)
+              P_TMP_ATTACK_HOOK
+              P_TMP_DEFEND_HOOK
+   Sonstiges: SkillResTransfer(L)
+   Hooks:     P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK
 
 10.Feb 2005 Gloinson
diff --git a/doc/props/obsolete/P_TMP_DEFEND_HOOK b/doc/props/obsolete/P_TMP_DEFEND_HOOK
index 986e63a..f29d342 100644
--- a/doc/props/obsolete/P_TMP_DEFEND_HOOK
+++ b/doc/props/obsolete/P_TMP_DEFEND_HOOK
@@ -1,110 +1,131 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
+
 P_TMP_DEFEND_HOOK
+*****************
 
-NAME:
-     P_TMP_DEFEND_HOOK             "defend_hook"
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_DEFEND_HOOK
 
-DEFINIERT IN:
-     /sys/new_skills.h
 
-BESCHREIBUNG:
-     Mittels dieser Property koennen die Abwehren eines Livings temporaer
-     veraendert werden.
+NAME
+====
 
-     Es wird an dem Living die Property als mindestens 3-elementiges Array
-     ({zeitpunkt, objekt, methode, ...})
-     gesetzt und die Methode 'methode' wird dann waehrend des Defend() des
-     Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
+   P_TMP_DEFEND_HOOK             "defend_hook"
 
-     Der Methode werden die Parameter der Defend() uebergeben:
-     int dam, mixed dam_type, mixed spell, object enemy
-     - spell ist definitiv ein Mapping - ein an Defend() uebergebener
-       int-Wert wurde aequivalent umgesetzt.
-     - dam_type ist definitiv ein Array von Schadenswerten oder einem Wert
 
-     Zudem findet der Aufruf der Methode nach dem Abarbeiten der P_DEFENDERS
-     statt, diese koennen also weitere Modifikationen vorgenommen haben.
+DEFINIERT IN
+============
 
-     Gibt die Funktion:
-     - 0 zurueck, wird Defend() abgebrochen (und damit der Schaden voellig
-       abgefangen) - nur noch die Flucht wird geprueft
-     - ein 3-elementiges Array ({schaden, schadenstypen, spell}) zurueck,
-       werden diese Werte in der Defend() an Stelle der uebergebenen Werte
-       verwendet
-     - weder noch zurueck, wird das Ergebnis ignoriert und die Defend laeuft
-       regulaer weiter
+   /sys/new_skills.h
 
-BEMERKUNGEN:
-     - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
-     - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
-       Property auf 0 gesetzt
-     - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
-       pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
-       im Code anderer und ist andererseits unfair gegenueber ihnen
 
-BEISPIEL:
-     *** ein gruener Schutzzauber ***
-     // Setzen der Prop
-     ...
-     tmp=TP->QueryProp(P_TMP_DEFEND_HOOK);
+BESCHREIBUNG
+============
 
-     // ein etwas ausfuehrlicher Check, ob wir ueberschreiben koennen,
-     // Existenz && Gueltigkeit
-     if(pointerp(tmp) && sizeof(tmp) && intp(tmp[0]) && (time()<tmp[0]))
-      write("Der Zauber klappt nicht!\n");
-     else {
-      // der Zauber gilt eine Stunde
-      TP->SetProp(P_TMP_DEFEND_HOOK,({time()+3600,TO,"abwehrfun");
-      write("Ein Zauber legt sich auf dich.\n");
-     }
-     ...
+   Mittels dieser Property koennen die Abwehren eines Livings temporaer
+   veraendert werden.
 
-     // die gerufene Methode
-     mixed abwehrfun(int dam, string* dam_type, mapping spell, object en) {
-      // keine rekursiven Schaeden abfangen ... mindestens ein magischer
-      // muss auch dabei sein
-      if((!mappingp(spell) || !spell[SP_RECURSIVE]) &&
-         sizeof(filter(dam_type,MAGICAL_DAMAGE_TYPES))) {
+   Es wird an dem Living die Property als mindestens 3-elementiges Array
+   ({zeitpunkt, objekt, methode, ...})
+   gesetzt und die Methode 'methode' wird dann waehrend des Defend() des
+   Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
 
-       // mit 10% Whkeit schuetzt der Zauber total
-       if(!random(10)) {
-        tell_object(previous_object(),
-          "Dein Zauber gleisst rund um dich gruen auf.\n");
-        tell_room(environment(previous_object()), break_string(
-          previous_object()->Name(WESSEN)+" Haut gleisst rund um "+
-          previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
-          ({previous_object()}));
+   Der Methode werden die Parameter der Defend() uebergeben:
+   int dam, mixed dam_type, mixed spell, object enemy
+   - spell ist definitiv ein Mapping - ein an Defend() uebergebener
+     int-Wert wurde aequivalent umgesetzt.
+   - dam_type ist definitiv ein Array von Schadenswerten oder einem Wert
 
-        // manchmal geht der Zauber dabei endgueltig kaputt
-        if(!random(10)) previous_object()->SetProp(P_TMP_DEFEND_HOOK, 0);
+   Zudem findet der Aufruf der Methode nach dem Abarbeiten der P_DEFENDERS
+   statt, diese koennen also weitere Modifikationen vorgenommen haben.
 
-        return 0;			// volles Abfangen des Angriffs
-       }
+   Gibt die Funktion:
+   - 0 zurueck, wird Defend() abgebrochen (und damit der Schaden voellig
+     abgefangen) - nur noch die Flucht wird geprueft
+   - ein 3-elementiges Array ({schaden, schadenstypen, spell}) zurueck,
+     werden diese Werte in der Defend() an Stelle der uebergebenen Werte
+     verwendet
+   - weder noch zurueck, wird das Ergebnis ignoriert und die Defend laeuft
+     regulaer weiter
 
-       // der Zauber schuetzt auf jeden Fall immer ein bischen
-       tell_object(previous_object(),
-         "Dein Zauber flackert rund um dich gruen auf.\n");
-       tell_room(environment(previous_object()), break_string(
-         previous_object()->Name(WESSEN)+" Haut flackert rund um "+
-         previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
-         ({previous_object()}));
-       dam=(7+random(2))*dam/10;	// Schaden reduzieren
 
-       return(({dam, dam_type, spell}));
-      }
+BEMERKUNGEN
+===========
 
-      // der Zauber schuetzt dann gar nicht ...
-      return 1;
+   - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
+   - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+     Property auf 0 gesetzt
+   - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
+     pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+     im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+BEISPIEL
+========
+
+   *** ein gruener Schutzzauber ***
+   // Setzen der Prop
+   ...
+   tmp=TP->QueryProp(P_TMP_DEFEND_HOOK);
+
+   // ein etwas ausfuehrlicher Check, ob wir ueberschreiben koennen,
+   // Existenz && Gueltigkeit
+   if(pointerp(tmp) && sizeof(tmp) && intp(tmp[0]) && (time()<tmp[0]))
+    write("Der Zauber klappt nicht!\n");
+   else {
+    // der Zauber gilt eine Stunde
+    TP->SetProp(P_TMP_DEFEND_HOOK,({time()+3600,TO,"abwehrfun");
+    write("Ein Zauber legt sich auf dich.\n");
+   }
+   ...
+
+   // die gerufene Methode
+   mixed abwehrfun(int dam, string* dam_type, mapping spell, object en) {
+    // keine rekursiven Schaeden abfangen ... mindestens ein magischer
+    // muss auch dabei sein
+    if((!mappingp(spell) || !spell[SP_RECURSIVE]) &&
+       sizeof(filter(dam_type,MAGICAL_DAMAGE_TYPES))) {
+
+     // mit 10% Whkeit schuetzt der Zauber total
+     if(!random(10)) {
+      tell_object(previous_object(),
+        "Dein Zauber gleisst rund um dich gruen auf.\n");
+      tell_room(environment(previous_object()), break_string(
+        previous_object()->Name(WESSEN)+" Haut gleisst rund um "+
+        previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
+        ({previous_object()}));
+
+      // manchmal geht der Zauber dabei endgueltig kaputt
+      if(!random(10)) previous_object()->SetProp(P_TMP_DEFEND_HOOK, 0);
+
+      return 0;                       // volles Abfangen des Angriffs
      }
 
-SIEHE AUCH:
-     Angriff:	Attack(L)
-     Schutz:    Defend(L)
-     Verwandt:	InternalModifyDefend(L), P_TMP_ATTACK_MOD
-     Hooks:	P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK
-     neue Hooks: std/hooks
+     // der Zauber schuetzt auf jeden Fall immer ein bischen
+     tell_object(previous_object(),
+       "Dein Zauber flackert rund um dich gruen auf.\n");
+     tell_room(environment(previous_object()), break_string(
+       previous_object()->Name(WESSEN)+" Haut flackert rund um "+
+       previous_object()->QueryPronoun(WEN)+" gruen auf.",78),
+       ({previous_object()}));
+     dam=(7+random(2))*dam/10;        // Schaden reduzieren
+
+     return(({dam, dam_type, spell}));
+    }
+
+    // der Zauber schuetzt dann gar nicht ...
+    return 1;
+   }
+
+
+SIEHE AUCH
+==========
+
+   Angriff:   Attack(L)
+   Schutz:    Defend(L)
+   Verwandt:  InternalModifyDefend(L), P_TMP_ATTACK_MOD
+   Hooks:     P_TMP_DIE_HOOK, P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK
+   neue Hooks: std/hooks
 
 08.12.2008, Zesstra
-
diff --git a/doc/props/obsolete/P_TMP_DIE_HOOK b/doc/props/obsolete/P_TMP_DIE_HOOK
index cd18917..f4008cb 100644
--- a/doc/props/obsolete/P_TMP_DIE_HOOK
+++ b/doc/props/obsolete/P_TMP_DIE_HOOK
@@ -1,70 +1,91 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
+
 P_TMP_DIE_HOOK
+**************
 
-NAME:
-    P_TMP_DIE_HOOK                "die_hook"
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_DIE_HOOK
 
-DEFINIERT IN:
-    /sys/new_skills.h
 
-BESCHREIBUNG:
-     Mittels dieser Property kann der Tod eines Livings abgewendet werden.
+NAME
+====
 
-     Es wird an dem Living die Property als mindestens 3-elementiges Array
-     ({zeitpunkt, objekt, methode, ...})
-     gesetzt und die Methode 'methode' wird dann waehrend des die() des
-     Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
-     Bei Geistern wird der Hook nicht gerufen.
+   P_TMP_DIE_HOOK                "die_hook"
 
-     Der Methode wird ein int uebergeben, ob das Living Opfer von Gift
-     (P_POISON) war.
 
-     Gibt die Funktion einen Wert != 0 zurueck, wird die() sofort abgebrochen
-     und das Living stirbt nicht.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-    - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
-    - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
-      Property auf 0 gesetzt
-    - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
-      pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
-      im Code anderer und ist andererseits unfair gegenueber ihnen
+   /sys/new_skills.h
 
-BEISPIELE:
-     *** ein besonderer Giftschutz .. wirkt beim Tod ***
-     // pruefen, ob nicht ein anderer Modifier existiert
-     if(!pointerp(tmp=TP->QueryProp(P_TMP_DIE_HOOK)) ||
-        sizeof(tmp)<3 || tmp[0]<=time()) {
-       TP->SetProp(P_TMP_DIE_HOOK,
-	           ({time()+120+random(10), this_object(), "prevent_die"}));
 
-     // die gerufene Methode
-     int prevent_die(int poison) {
-       int ret;
+BESCHREIBUNG
+============
 
-       if(poison) {
-         tell_object(previous_object(),
-           "Ein Zauber reinigt im Moment des Todes dein Blut!\n");
-         tell_object(environment(previous_object()),
-           previous_object()->Name(WER,1)+" wird von Lichtern umhuellt.\n",
-           ({previous_object()}));
+   Mittels dieser Property kann der Tod eines Livings abgewendet werden.
 
-         ret=1;
-       }
+   Es wird an dem Living die Property als mindestens 3-elementiges Array
+   ({zeitpunkt, objekt, methode, ...})
+   gesetzt und die Methode 'methode' wird dann waehrend des die() des
+   Lebewesens in 'objekt' aufgerufen, solange time()<'zeitpunkt'.
+   Bei Geistern wird der Hook nicht gerufen.
 
-       // wir helfen nur einmal ... und ein Tod vernichtet die Hilfe auch
-       previous_object()->SetProp(P_TMP_DIE_HOOK, 0);
+   Der Methode wird ein int uebergeben, ob das Living Opfer von Gift
+   (P_POISON) war.
 
-       return ret;
+   Gibt die Funktion einen Wert != 0 zurueck, wird die() sofort abgebrochen
+   und das Living stirbt nicht.
+
+
+BEMERKUNGEN
+===========
+
+   - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
+   - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+     Property auf 0 gesetzt
+   - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
+     pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+     im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+BEISPIELE
+=========
+
+   *** ein besonderer Giftschutz .. wirkt beim Tod ***
+   // pruefen, ob nicht ein anderer Modifier existiert
+   if(!pointerp(tmp=TP->QueryProp(P_TMP_DIE_HOOK)) ||
+      sizeof(tmp)<3 || tmp[0]<=time()) {
+     TP->SetProp(P_TMP_DIE_HOOK,
+                 ({time()+120+random(10), this_object(), "prevent_die"}));
+
+   // die gerufene Methode
+   int prevent_die(int poison) {
+     int ret;
+
+     if(poison) {
+       tell_object(previous_object(),
+         "Ein Zauber reinigt im Moment des Todes dein Blut!\n");
+       tell_object(environment(previous_object()),
+         previous_object()->Name(WER,1)+" wird von Lichtern umhuellt.\n",
+         ({previous_object()}));
+
+       ret=1;
      }
 
-SIEHE AUCH:
-     Tod:	die(L)
-     Sonstiges: P_POISON, P_KILLS, P_GHOST
-     Hooks:	P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK, P_TMP_DEFEND_HOOK
-     neue Hooks: std/hooks
+     // wir helfen nur einmal ... und ein Tod vernichtet die Hilfe auch
+     previous_object()->SetProp(P_TMP_DIE_HOOK, 0);
+
+     return ret;
+   }
+
+
+SIEHE AUCH
+==========
+
+   Tod:       die(L)
+   Sonstiges: P_POISON, P_KILLS, P_GHOST
+   Hooks:     P_TMP_MOVE_HOOK, P_TMP_ATTACK_HOOK, P_TMP_DEFEND_HOOK
+   neue Hooks: std/hooks
 
 08.12.2008, Zesstra
-
diff --git a/doc/props/obsolete/P_TMP_MOVE_HOOK b/doc/props/obsolete/P_TMP_MOVE_HOOK
index c28a067..8f1aa77 100644
--- a/doc/props/obsolete/P_TMP_MOVE_HOOK
+++ b/doc/props/obsolete/P_TMP_MOVE_HOOK
@@ -1,42 +1,65 @@
-********************* VERALTETE PROPERTY ******************************
-* Diese Property ist veraltet. Bitte nicht mehr in neuem Code nutzen. *
-***********************************************************************
-NAME:
-    P_TMP_MOVE_HOOK             "move_hook"
 
-DEFINIERT IN:
-    /sys/new_skills.h
+P_TMP_MOVE_HOOK
+***************
 
-BESCHREIBUNG:
-    Mindestens 3-elementiges Array ({zeitpunkt, objekt, funktion, ...}).
-    Die Funktion wird im 'objekt' mit den gleichen Parametern wie move()
-    nach der Abfrage auf P_NO_TPORT aufgerufen, wenn der 'zeitpunkt'
-    noch nicht ueberschritten ist. Wenn die Funktion etwas anderes als ein
-    5-elementiges Array ({dest, methods, direction, textout, textin})
-    oder -1 zurueckgibt, wird move() normal ausgefuehrt, ansonsten werden die
-    5 move-Parameter durch die Array-Eintraege ersetzt bzw. wird bei einem
-    Rueckgabewert von -1 das move() abgebrochen. In letzterem Fall ist
-    die Funktion dafuer verantwortlich, eine entspr. Meldung an den
-    Spieler auszugeben!
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
 
-HINWEIS:
-    Falls man einem Spieler einen Move-Hook setzt, ist es ratsam, im
-    Move-Hook zu pruefen, ob das Spielerobjekt nach Abarbeitung der Hook-
-    Funktion noch lebt. Ansonsten wird ein doppeltes move() ausgefuehrt:
-    in den Todesraum und direkt wieder zurueck zur Leiche.
 
-BEMERKUNGEN:
-     - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
-     - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
-       Property auf 0 gesetzt
-     - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
-       pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
-       im Code anderer und ist andererseits unfair gegenueber ihnen
+NAME
+====
 
-SIEHE AUCH:
-     Bewegung:	move(L), NotifyMove(), PreventMove()
-     Hooks:	P_TMP_DIE_HOOK, P_TMP_DEFEND_HOOK, P_TMP_ATTACK_HOOK
-     neue Hooks: std/hooks
+   P_TMP_MOVE_HOOK             "move_hook"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Mindestens 3-elementiges Array ({zeitpunkt, objekt, funktion, ...}).
+   Die Funktion wird im 'objekt' mit den gleichen Parametern wie move()
+   nach der Abfrage auf P_NO_TPORT aufgerufen, wenn der 'zeitpunkt'
+   noch nicht ueberschritten ist. Wenn die Funktion etwas anderes als ein
+   5-elementiges Array ({dest, methods, direction, textout, textin})
+   oder -1 zurueckgibt, wird move() normal ausgefuehrt, ansonsten werden die
+   5 move-Parameter durch die Array-Eintraege ersetzt bzw. wird bei einem
+   Rueckgabewert von -1 das move() abgebrochen. In letzterem Fall ist
+   die Funktion dafuer verantwortlich, eine entspr. Meldung an den
+   Spieler auszugeben!
+
+
+HINWEIS
+=======
+
+   Falls man einem Spieler einen Move-Hook setzt, ist es ratsam, im
+   Move-Hook zu pruefen, ob das Spielerobjekt nach Abarbeitung der Hook-
+   Funktion noch lebt. Ansonsten wird ein doppeltes move() ausgefuehrt:
+   in den Todesraum und direkt wieder zurueck zur Leiche.
+
+
+BEMERKUNGEN
+===========
+
+   - Bitte das neuere Hooksystem (s. Manpage std/hooks) benutzen.
+   - falls die Zeit abgelaufen oder das Objekt zerstoert ist, wird die
+     Property auf 0 gesetzt
+   - vor dem Setzen immer auf die Existenz eines gueltigen Hooks
+     pruefen, einfaches Ueberschreiben fuehrt einerseits zu Fehlern
+     im Code anderer und ist andererseits unfair gegenueber ihnen
+
+
+SIEHE AUCH
+==========
+
+   Bewegung:  move(L), NotifyMove(), PreventMove()
+   Hooks:     P_TMP_DIE_HOOK, P_TMP_DEFEND_HOOK, P_TMP_ATTACK_HOOK
+   neue Hooks: std/hooks
+
 08.12.2008, Zesstra