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/P_ABILITIES b/doc/props/P_ABILITIES
index b82a0f6..b852bdf 100644
--- a/doc/props/P_ABILITIES
+++ b/doc/props/P_ABILITIES
@@ -1,9 +1,22 @@
-NAME:
-    P_ABILITIES                   "abilities"                   
 
-DEFINIERT IN:
-    /sys/living/attributes.h
+P_ABILITIES
+***********
 
-BESCHREIBUNG:
-     *** OBSOLET! ***
-     Siehe P_NEWSKILLS.
+
+NAME
+====
+
+   P_ABILITIES                   "abilities"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/attributes.h
+
+
+BESCHREIBUNG
+============
+
+   *** OBSOLET! ***
+   Siehe P_NEWSKILLS.
diff --git a/doc/props/P_AC b/doc/props/P_AC
index c62d786..e9eda47 100644
--- a/doc/props/P_AC
+++ b/doc/props/P_AC
@@ -1,28 +1,44 @@
+
 P_AC
+****
 
-NAME:
-     P_AC "ac"
 
-DEFINIERT IN:
-     <armour.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Property beschreibt die Ruestungsklasse (engl: armour class),
-     also den Schutz, den die Ruestung dem Traeger verleiht. Je hoeher der
-     Wert (als Zahl), um so besser ist die Ruestung. Negative Werte bewirken
-     negativen Schutz, d.h. der Schaden wird vergroessert statt verringert.
+   P_AC "ac"
 
-BEMERKUNGEN:
-     Query- und Setmethoden auf P_AC sollten unbedingt vermieden werden. Sie
-     fuehren in der Regel zu massiven Inkonsistenzen im Mechanismus der
-     Ruestungsbeschaedigung und -reparatur.
-     Fuer jeden Ruestungstyp ist in <combat.h> eine Obergrenze definiert,
-     die man nicht ueberschreiten darf.
-     Ruestungen vom Typ AT_MISC haben immer AC 0 und werden mit keinen 
-     hoeheren Werten genemigt.
 
-SIEHE AUCH:
-     /std/armour.c, P_DAMAGED, Damage() P_TOTAL_AC
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   <armour.h>
+
+
+BESCHREIBUNG
+============
+
+   Diese Property beschreibt die Ruestungsklasse (engl: armour class),
+   also den Schutz, den die Ruestung dem Traeger verleiht. Je hoeher der
+   Wert (als Zahl), um so besser ist die Ruestung. Negative Werte bewirken
+   negativen Schutz, d.h. der Schaden wird vergroessert statt verringert.
+
+
+BEMERKUNGEN
+===========
+
+   Query- und Setmethoden auf P_AC sollten unbedingt vermieden werden. Sie
+   fuehren in der Regel zu massiven Inkonsistenzen im Mechanismus der
+   Ruestungsbeschaedigung und -reparatur.
+   Fuer jeden Ruestungstyp ist in <combat.h> eine Obergrenze definiert,
+   die man nicht ueberschreiten darf.
+   Ruestungen vom Typ AT_MISC haben immer AC 0 und werden mit keinen
+   hoeheren Werten genemigt.
+
+
+SIEHE AUCH
+==========
+
+   /std/armour.c, P_DAMAGED, Damage() P_TOTAL_AC
+
 02.10.2007, Zesstra
diff --git a/doc/props/P_ACCEPT_PEACE b/doc/props/P_ACCEPT_PEACE
index 07b63a0..214dc06 100644
--- a/doc/props/P_ACCEPT_PEACE
+++ b/doc/props/P_ACCEPT_PEACE
@@ -1,18 +1,37 @@
-PROPERTY
-     P_ACCEPT_PEACE                           "accept_peace"
 
-DEFINIERT IN 
-	/sys/combat.h
+P_ACCEPT_PEACE
+**************
+
+
+PROPERTY
+========
+
+   P_ACCEPT_PEACE                           "accept_peace"
+
+
+DEFINIERT IN
+============
+
+   /sys/combat.h
+
 
 BESCHREIBUNG
-	Mittels setzen Dieser Prop lassen sich leicht NPCs bauen,
-	die von jedem zu befrieden sind. Wenn die Property == 1 ist,
-	ist der NPC immer wieder befriedbar, sonst fuehrt der NPC das
-	uebliche Verhalten aus.
+============
+
+   Mittels setzen Dieser Prop lassen sich leicht NPCs bauen,
+   die von jedem zu befrieden sind. Wenn die Property == 1 ist,
+   ist der NPC immer wieder befriedbar, sonst fuehrt der NPC das
+   uebliche Verhalten aus.
+
 
 SIEHE AUCH
-  QueryPacify(),
-  P_PEACE_HISTORY
+==========
+
+   QueryPacify(),
+   P_PEACE_HISTORY
+
 
 LETZTE AENDERUNG
+================
+
 01.05.2008, Zesstra
diff --git a/doc/props/P_ACHATS b/doc/props/P_ACHATS
index 4097620..c62e357 100644
--- a/doc/props/P_ACHATS
+++ b/doc/props/P_ACHATS
@@ -1,8 +1,21 @@
-NAME:
-    P_ACHATS                      "achats"                      
 
-DEFINIERT IN:
-    /sys/properties.h
+P_ACHATS
+********
 
-BESCHREIBUNG:
-     Chats, die das Monster im Kampf ausgibt.
+
+NAME
+====
+
+   P_ACHATS                      "achats"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Chats, die das Monster im Kampf ausgibt.
diff --git a/doc/props/P_ACHAT_CHANCE b/doc/props/P_ACHAT_CHANCE
index 9ccdf16..fc28ac9 100644
--- a/doc/props/P_ACHAT_CHANCE
+++ b/doc/props/P_ACHAT_CHANCE
@@ -1,8 +1,21 @@
-NAME:
-    P_ACHAT_CHANCE                "achat_chance"                
 
-DEFINIERT IN:
-    /sys/properties.h
+P_ACHAT_CHANCE
+**************
 
-BESCHREIBUNG:
-     Wahrscheinlichkeit fuer die Attack-Chat-Ausgabe.
+
+NAME
+====
+
+   P_ACHAT_CHANCE                "achat_chance"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wahrscheinlichkeit fuer die Attack-Chat-Ausgabe.
diff --git a/doc/props/P_ACTUAL_NOTIFY_FAIL b/doc/props/P_ACTUAL_NOTIFY_FAIL
index 435a646..0c9acd1 100644
--- a/doc/props/P_ACTUAL_NOTIFY_FAIL
+++ b/doc/props/P_ACTUAL_NOTIFY_FAIL
@@ -1,27 +1,51 @@
-********************** VERALTETE PROPERTY *********************************
-NAME:
-     P_ACTUAL_NOTIFY_FAIL          "actual_notify_fail"          
 
-DEFINIERT IN:
-     /sys/player.h
+P_ACTUAL_NOTIFY_FAIL
+********************
 
-ACHTUNG:
-     Diese Prop wird nicht mehr gesetzt (und auch nicht mehr abgefragt), da LD
-     eine efun hat, um das Objekt zu ermitteln, was als letztes ein
-     notify_fail() gesetzt hat, ein Speichern im Spieler also voellig
-     ueberfluessig ist.
+********************** VERALTETE PROPERTY
+*********************************
 
-BESCHREIBUNG:
-     Ist im Spielerobjekt  gesetzt und enthaelt das Objekt, welches zuletzt
-     eine Fehlermeldung mit notify_fail()/_notify_fail() erfolgreich
-     waehrend des aktuellen Kommandos abgespeichert hat.
 
-BEMERKUNGEN:
-     Dient dazu, bei _notify_fail() zu ueberpruefen, ob schon vorher eine
-     Fehlermeldung gesetzt wurde.
+NAME
+====
 
-SIEHE AUCH:
-     AddCmd(), add_action()
-     notify_fail(), _notify_fail()
+   P_ACTUAL_NOTIFY_FAIL          "actual_notify_fail"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+ACHTUNG
+=======
+
+   Diese Prop wird nicht mehr gesetzt (und auch nicht mehr abgefragt), da LD
+   eine efun hat, um das Objekt zu ermitteln, was als letztes ein
+   notify_fail() gesetzt hat, ein Speichern im Spieler also voellig
+   ueberfluessig ist.
+
+
+BESCHREIBUNG
+============
+
+   Ist im Spielerobjekt  gesetzt und enthaelt das Objekt, welches zuletzt
+   eine Fehlermeldung mit notify_fail()/_notify_fail() erfolgreich
+   waehrend des aktuellen Kommandos abgespeichert hat.
+
+
+BEMERKUNGEN
+===========
+
+   Dient dazu, bei _notify_fail() zu ueberpruefen, ob schon vorher eine
+   Fehlermeldung gesetzt wurde.
+
+
+SIEHE AUCH
+==========
+
+   AddCmd(), add_action()
+   notify_fail(), _notify_fail()
 
 10.03.2007, Zesstra
diff --git a/doc/props/P_ADJECTIVES b/doc/props/P_ADJECTIVES
index 3b44a4f..1c8ccb6 100644
--- a/doc/props/P_ADJECTIVES
+++ b/doc/props/P_ADJECTIVES
@@ -1,22 +1,38 @@
+
 P_ADJECTIVES
+************
 
-NAME:
-     P_ADJECTIVES "adjectives"
 
-DEFINIERT IN:
-     <thing/description.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Hier steht ein Array von Strings, welche die Identifizierung des
-     Objektes ergaenzen. Die Verwaltung erfolgt ueber die Funktionen
-     AddAdjective() und RemoveAdjective().
+   P_ADJECTIVES "adjectives"
 
-BEMERKUNGEN:
-     Man sollte an dieser Property nicht "von Hand" herumfummeln, sondern
-     immer die zugehoerigen Funktionen benutzen!
 
-SIEHE AUCH:
-     /std/thing/description.c, AddAdjective(), RemoveAdjective()
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   <thing/description.h>
+
+
+BESCHREIBUNG
+============
+
+   Hier steht ein Array von Strings, welche die Identifizierung des
+   Objektes ergaenzen. Die Verwaltung erfolgt ueber die Funktionen
+   AddAdjective() und RemoveAdjective().
+
+
+BEMERKUNGEN
+===========
+
+   Man sollte an dieser Property nicht "von Hand" herumfummeln, sondern
+   immer die zugehoerigen Funktionen benutzen!
+
+
+SIEHE AUCH
+==========
+
+   /std/thing/description.c, AddAdjective(), RemoveAdjective()
+
 Last modified: Sun May 19 20:22:24 1996 by Wargon
diff --git a/doc/props/P_AERIAL_HELPERS b/doc/props/P_AERIAL_HELPERS
index 2606884..781510c 100644
--- a/doc/props/P_AERIAL_HELPERS
+++ b/doc/props/P_AERIAL_HELPERS
@@ -1,45 +1,63 @@
+
 P_AERIAL_HELPERS
+****************
 
-NAME:
-     P_AERIAL_HELPERS "lib_p_aerial_helpers"
 
-DEFINIERT IN:
-     <living/helpers.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
-     zu ermitteln, die fuer die Unterstuetzung beim Fliegen/Segeln bei diesem 
-     Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
-     Form zurueckgeliefert:
-     ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
-     Eine Erlaeuterung dazu findet sich in der Dokumentation zu 
-     RegisterHelperObject().
+   P_AERIAL_HELPERS "lib_p_aerial_helpers"
 
-BEMERKUNGEN:
-     Diese Property kann nur abgefragt werden.
-     Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche 
-     Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
 
-BEISPIEL:
-     Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das 
-     beim Fliegen hilft, sucht man alle Objekte aus dem Mapping heraus, die
-     einen Wert >0 eingetragen haben und prueft deren Anzahl:
+DEFINIERT IN
+============
 
-     mapping aerial = this_player()->QueryProp(P_AERIAL_HELPERS);
-     object* helpers = filter( aerial, function int (object h) {
-                         return (aerial[h]>0); });
-     if ( sizeof(helpers) ) {
-       tell_object(this_player(), "Du erhebst Dich mit Hilfe "+
-         helpers[0]->name(WESSEN,1)+" elegant in die Luefte.\n");
-     }
-     else {
-       tell_object(this_player(), "Du hast nichts zum Fliegen bei Dir.\n");
-     }
+   <living/helpers.h>
 
-SIEHE AUCH:
-     Methoden:    RegisterHelperObject(L), UnregisterHelperObject(L)
-     Properties:  P_HELPER_OBJECTS, P_AQUATIC_HELPERS
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
+   zu ermitteln, die fuer die Unterstuetzung beim Fliegen/Segeln bei diesem
+   Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
+   Form zurueckgeliefert:
+   ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
+   Eine Erlaeuterung dazu findet sich in der Dokumentation zu
+   RegisterHelperObject().
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property kann nur abgefragt werden.
+   Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche
+   Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
+
+
+BEISPIEL
+========
+
+   Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das
+   beim Fliegen hilft, sucht man alle Objekte aus dem Mapping heraus, die
+   einen Wert >0 eingetragen haben und prueft deren Anzahl:
+
+   mapping aerial = this_player()->QueryProp(P_AERIAL_HELPERS);
+   object* helpers = filter( aerial, function int (object h) {
+                       return (aerial[h]>0); });
+   if ( sizeof(helpers) ) {
+     tell_object(this_player(), "Du erhebst Dich mit Hilfe "+
+       helpers[0]->name(WESSEN,1)+" elegant in die Luefte.\n");
+   }
+   else {
+     tell_object(this_player(), "Du hast nichts zum Fliegen bei Dir.\n");
+   }
+
+
+SIEHE AUCH
+==========
+
+   Methoden:    RegisterHelperObject(L), UnregisterHelperObject(L)
+   Properties:  P_HELPER_OBJECTS, P_AQUATIC_HELPERS
+
 12.03.2016, Arathorn
-
diff --git a/doc/props/P_AGE b/doc/props/P_AGE
index ad6388a..e35473c 100644
--- a/doc/props/P_AGE
+++ b/doc/props/P_AGE
@@ -1,8 +1,21 @@
-NAME:
-    P_AGE                         "age"                         
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_AGE
+*****
 
-BESCHREIBUNG:
-     Alter des Spielers in Heart-Beats (1 HB == 2 Sekunden)
+
+NAME
+====
+
+   P_AGE                         "age"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Alter des Spielers in Heart-Beats (1 HB == 2 Sekunden)
diff --git a/doc/props/P_AGGRESSIVE b/doc/props/P_AGGRESSIVE
index b10d97e..5184687 100644
--- a/doc/props/P_AGGRESSIVE
+++ b/doc/props/P_AGGRESSIVE
@@ -1,39 +1,55 @@
-NAME:
-    P_AGGRESSIVE                  "aggressive"                  
 
-DEFINIERT IN:
-    /sys/properties.h
+P_AGGRESSIVE
+************
 
-BESCHREIBUNG:
-	Gesetzt, wenn das Wesen von sich aus Angriffe startet.
 
-	Ueblicherweise nimmt man als Wert 1, man kann jedoch auch
-	einen kleineren Wert nehmen wenn es nur mit einer bestimmten
-	Wahrscheinlichkeit automatisch angreifen soll.
+NAME
+====
 
-	Der Wert von Spieler und Monster wird addiert, um zu entscheiden,
-	ob ein Spieler angegriffen werden soll,	man kann P_AGGRESSIVE
-	also auch bei Spielern setzen, so dass sie von allen Monstern
-	angegriffen werden.
+   P_AGGRESSIVE                  "aggressive"
 
-	Bei Monstern (und NUR bei diesen) kann man hier auch ein Mapping
-	angeben, das als Keys Namen von Properties des Spielers enthaelt
-	und als Values Mappings, in denen steht welcher Wert bei welchen
-	Wert fuer die Property genommen werden soll (Beispiele folgen).
-	Mit Key 0 kann man einen Default-Wert (sowohl in inneren Mappings
-	wie auch im aeusseren Mapping) festlegen. Default-Werte werden
-	genommen, falls keine anderen gesetzt sind, also Vorsicht mit
-	0-Eintraegen (Tip: 0.0 ist in LPC ungleich 0).
-	Bei mehreren Properties werden alle gesetzten Werte gemittelt.
 
-BEISPIELE:
-	SetProp(P_AGGRESSIVE,([P_RACE:(["Zwerg":1, "Elf":0.0, 0:0.5])]))
-	Zwerge werden immer automatisch angegriffen, Elfen nie und
-	alle anderen mit 50% Wahrscheinlichkeit.
-	Man beachte, dass hier 0.0 genommen werden musste anstelle von 0,
-	weil sonst Elfen auch 50% Wahrscheinlichkeit bekommen haetten.
+DEFINIERT IN
+============
 
-	SetProp(P_AGGRESSIVE,([P_RACE:(["Zwerg":0.3]),
-	                       P_GUILD:(["Chaos":0.7])]))
-	Zwerge werden mit 30% Wahrscheinlichkeit angegriffen,
-	Chaoten mit 70% und Zwerg-Chaoten mit 50%.
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt, wenn das Wesen von sich aus Angriffe startet.
+
+   Ueblicherweise nimmt man als Wert 1, man kann jedoch auch
+   einen kleineren Wert nehmen wenn es nur mit einer bestimmten
+   Wahrscheinlichkeit automatisch angreifen soll.
+
+   Der Wert von Spieler und Monster wird addiert, um zu entscheiden,
+   ob ein Spieler angegriffen werden soll, man kann P_AGGRESSIVE
+   also auch bei Spielern setzen, so dass sie von allen Monstern
+   angegriffen werden.
+
+   Bei Monstern (und NUR bei diesen) kann man hier auch ein Mapping
+   angeben, das als Keys Namen von Properties des Spielers enthaelt
+   und als Values Mappings, in denen steht welcher Wert bei welchen
+   Wert fuer die Property genommen werden soll (Beispiele folgen).
+   Mit Key 0 kann man einen Default-Wert (sowohl in inneren Mappings
+   wie auch im aeusseren Mapping) festlegen. Default-Werte werden
+   genommen, falls keine anderen gesetzt sind, also Vorsicht mit
+   0-Eintraegen (Tip: 0.0 ist in LPC ungleich 0).
+   Bei mehreren Properties werden alle gesetzten Werte gemittelt.
+
+
+BEISPIELE
+=========
+
+   SetProp(P_AGGRESSIVE,([P_RACE:(["Zwerg":1, "Elf":0.0, 0:0.5])]))
+   Zwerge werden immer automatisch angegriffen, Elfen nie und
+   alle anderen mit 50% Wahrscheinlichkeit.
+   Man beachte, dass hier 0.0 genommen werden musste anstelle von 0,
+   weil sonst Elfen auch 50% Wahrscheinlichkeit bekommen haetten.
+
+   SetProp(P_AGGRESSIVE,([P_RACE:(["Zwerg":0.3]),
+                          P_GUILD:(["Chaos":0.7])]))
+   Zwerge werden mit 30% Wahrscheinlichkeit angegriffen,
+   Chaoten mit 70% und Zwerg-Chaoten mit 50%.
diff --git a/doc/props/P_ALCOHOL b/doc/props/P_ALCOHOL
index 63005b7..d827a94 100644
--- a/doc/props/P_ALCOHOL
+++ b/doc/props/P_ALCOHOL
@@ -1,22 +1,36 @@
-NAME:
-     P_ALCOHOL			"alcohol"
 
-DEFINIERT IN:
-     /sys/living/life.h
+P_ALCOHOL
+*********
 
-BESCHREIBUNG:
 
-     - Lebewesen
-       Numerischer Wert fuer den Grad der Betrunkenheit eines Lebewesens.
-       Der maximale Wert steht in P_MAX_ALCOHOL.
+NAME
+====
 
-     - Speisen/Kneipen
-       Numerischer Wert fuer den Grad, den eine Portion der Speise den
-       Konsumenten betrunken macht
+   P_ALCOHOL                  "alcohol"
 
-SIEHE AUCH:
-	P_MAX_ALCOHOL, P_ALCOHOL_DELAY, consume,
-	P_FOOD, P_DRINK, wiz/food, 
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   - Lebewesen
+     Numerischer Wert fuer den Grad der Betrunkenheit eines Lebewesens.
+     Der maximale Wert steht in P_MAX_ALCOHOL.
+
+   - Speisen/Kneipen
+     Numerischer Wert fuer den Grad, den eine Portion der Speise den
+     Konsumenten betrunken macht
+
+
+SIEHE AUCH
+==========
+
+   P_MAX_ALCOHOL, P_ALCOHOL_DELAY, consume,
+   P_FOOD, P_DRINK, wiz/food,
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_ALCOHOL_DELAY b/doc/props/P_ALCOHOL_DELAY
index 4c6d2c1..6ea0513 100644
--- a/doc/props/P_ALCOHOL_DELAY
+++ b/doc/props/P_ALCOHOL_DELAY
@@ -1,10 +1,23 @@
-NAME:
-    P_ALCOHOL_DELAY                 "alcohol_delay"                     
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_ALCOHOL_DELAY
+***************
 
-BESCHREIBUNG:
-     Anzahl der heart_beats, bis P_ALCOHOL um einen Punkt sinkt.
-     Aenderungen dieser Property in Spielern beduerfen der 
-     Genehmigung des EM fuer Balance.
+
+NAME
+====
+
+   P_ALCOHOL_DELAY                 "alcohol_delay"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der heart_beats, bis P_ALCOHOL um einen Punkt sinkt.
+   Aenderungen dieser Property in Spielern beduerfen der
+   Genehmigung des EM fuer Balance.
diff --git a/doc/props/P_ALC_FULL_MSG b/doc/props/P_ALC_FULL_MSG
index bd84a86..5df4b65 100644
--- a/doc/props/P_ALC_FULL_MSG
+++ b/doc/props/P_ALC_FULL_MSG
@@ -1,24 +1,45 @@
-NAME:
-     P_ALC_FULL_MSG                "std_food_alc_full_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_ALC_FULL_MSG
+**************
 
-BESCHREIBUNG:
-     Meldung an den Konsumenten, wenn Alkohol konsumiert werden soll,
-     obwohl dieser nicht mehr Alkohol vertraegt.
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "Soviel Alkohol vertraegst Du nicht mehr."
 
-SIEHE AUCH:
-     P_ALCOHOL, P_MAX_ALCOHOL, wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_ALC_FULL_MSG                "std_food_alc_full_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Konsumenten, wenn Alkohol konsumiert werden soll,
+   obwohl dieser nicht mehr Alkohol vertraegt.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "Soviel Alkohol vertraegst Du nicht mehr."
+
+
+SIEHE AUCH
+==========
+
+   P_ALCOHOL, P_MAX_ALCOHOL, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_ALIGN b/doc/props/P_ALIGN
index f1d3465..d4ca76c 100644
--- a/doc/props/P_ALIGN
+++ b/doc/props/P_ALIGN
@@ -1,17 +1,29 @@
-NAME:
-    P_ALIGN                       "align"                       
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_ALIGN
+*******
 
-BESCHREIBUNG:
-     Numerischer Wert fuer Gut- oder Boesheit des Wesens.
 
-     Kann Werte von -1000 (Boese wie der Teufel hoechstpersoenlich)
-     bis +1000 (Jesus, bist Du's ?) annehmen.
+NAME
+====
 
-     Werte ausserhalb dieser Skala werden zwar teilweise verwendet,
-     das Setzen derselben sollte jedoch UNBEDINGT unterbleiben.
+   P_ALIGN                       "align"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert fuer Gut- oder Boesheit des Wesens.
+
+   Kann Werte von -1000 (Boese wie der Teufel hoechstpersoenlich)
+   bis +1000 (Jesus, bist Du's ?) annehmen.
+
+   Werte ausserhalb dieser Skala werden zwar teilweise verwendet,
+   das Setzen derselben sollte jedoch UNBEDINGT unterbleiben.
+
 Last modified: Sat Jul 12 17:00:00 by Mandragon
diff --git a/doc/props/P_ALLOWED_SHADOW b/doc/props/P_ALLOWED_SHADOW
index 39482fd..5d849b7 100644
--- a/doc/props/P_ALLOWED_SHADOW
+++ b/doc/props/P_ALLOWED_SHADOW
@@ -1,24 +1,38 @@
-NAME:
-    P_ALLOWED_SHADOW              "allowed_shadow"
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_ALLOWED_SHADOW
+****************
 
-BESCHREIBUNG:
 
-     Normalerweise koennen nur Shadows an Spieler gebunden werden, die in 
-     /std/player/shadows/ liegen. 
-     
-     Zu Testzwecken kann in dieser Property der Pfad eines Shadows eingetragen
-     werden. Damit wird die oben beschriebene Regel fuer diesen Spieler und 
-     diesen Shadow ausser Kraft gesetzt.
+NAME
+====
 
-BEMERKUNG: 
+   P_ALLOWED_SHADOW              "allowed_shadow"
 
-     Der Spieler muss ein Testspieler sein. Ansonsten wird diese Property
-     ignoriert.
 
-     Die Property ist secured gesetzt. Das heisst, nur EM+ koennen
-     diese Property setzen und loeschen.
-------------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Normalerweise koennen nur Shadows an Spieler gebunden werden, die in
+   /std/player/shadows/ liegen.
+
+
+
+   Zu Testzwecken kann in dieser Property der Pfad eines Shadows eingetragen
+   werden. Damit wird die oben beschriebene Regel fuer diesen Spieler und
+   diesen Shadow ausser Kraft gesetzt.
+
+BEMERKUNG:
+
+   Der Spieler muss ein Testspieler sein. Ansonsten wird diese
+   Property ignoriert.
+
+   Die Property ist secured gesetzt. Das heisst, nur EM+ koennen diese
+   Property setzen und loeschen.
+
 Last modified: Sun Mar 21 00:27:46 2004 by Vanion
diff --git a/doc/props/P_AMMUNITION b/doc/props/P_AMMUNITION
index f8903af..cbe7f56 100644
--- a/doc/props/P_AMMUNITION
+++ b/doc/props/P_AMMUNITION
@@ -1,42 +1,62 @@
+
 P_AMMUNITION
+************
 
-NAME:
-    P_AMMUNITION     "munition"
 
-DEFINIERT IN:
-    <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-    Enthaelt die fuer eine Waffe gueltige Munition als String. Die
-    Munition muss diesen String als ID besitzen.
+   P_AMMUNITION     "munition"
 
-    Fuer die Munitionsobjekte gilt:
-    * es kann ein Skill am Spieler definiert werden, dieser wirkt dann
-      zusaetzlich zum generellen SK_SHOOT-Skill.
-    * sie koennen eine HitFunc besitzten, die beim Schuss abgefragt wird
 
-BEMERKUNGEN:
-    Bitte das #define MUN_MISC(x) benutzen. Munition sollte auch immer
-    in Deutsch und Plural angegeben werden, da P_AMMUNITION direkt
-    fuer Ausgaben an den Spieler ausgewertet wird.
+DEFINIERT IN
+============
 
-    Momentan sind vier Munitionsarten in der combat.h vordefiniert:
-    MUN_ARROW, MUN_STONE, MUN_BOLT, MUN_MISC
+   <combat.h>
 
-BEISPIELE:
-    // fuer ein kleines Blasrohr im Blasrohr
-    SetProp(P_AMMUNITION, MUN_MISC("Erbsen"));
 
-    // Entsprechend in der Munition:
-    AddId(MUN_MISC("Erbsen"));
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-    Generell:  P_SHOOTING_WC, P_STRETCH_TIME
-    Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
-    Gebiet:    P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
-    Waffen:    P_WEAPON_TYPE, P_WC, P_EQUIP_TIME, P_NR_HANDS
-    Kampf:     Attack(L), Defend(L), P_DISABLE_ATTACK, P_ATTACK_BUSY
-    Team:      PresentPosition(L)
-    Sonstiges: fernwaffen
+   Enthaelt die fuer eine Waffe gueltige Munition als String. Die
+   Munition muss diesen String als ID besitzen.
 
-29.Jul 2014 Gloinson
\ No newline at end of file
+   Fuer die Munitionsobjekte gilt:
+   * es kann ein Skill am Spieler definiert werden, dieser wirkt dann
+     zusaetzlich zum generellen SK_SHOOT-Skill.
+   * sie koennen eine HitFunc besitzten, die beim Schuss abgefragt wird
+
+
+BEMERKUNGEN
+===========
+
+   Bitte das #define MUN_MISC(x) benutzen. Munition sollte auch immer
+   in Deutsch und Plural angegeben werden, da P_AMMUNITION direkt
+   fuer Ausgaben an den Spieler ausgewertet wird.
+
+   Momentan sind vier Munitionsarten in der combat.h vordefiniert:
+   MUN_ARROW, MUN_STONE, MUN_BOLT, MUN_MISC
+
+
+BEISPIELE
+=========
+
+   // fuer ein kleines Blasrohr im Blasrohr
+   SetProp(P_AMMUNITION, MUN_MISC("Erbsen"));
+
+   // Entsprechend in der Munition:
+   AddId(MUN_MISC("Erbsen"));
+
+
+SIEHE AUCH
+==========
+
+   Generell:  P_SHOOTING_WC, P_STRETCH_TIME
+   Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+   Gebiet:    P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
+   Waffen:    P_WEAPON_TYPE, P_WC, P_EQUIP_TIME, P_NR_HANDS
+   Kampf:     Attack(L), Defend(L), P_DISABLE_ATTACK, P_ATTACK_BUSY
+   Team:      PresentPosition(L)
+   Sonstiges: fernwaffen
+
+29.Jul 2014 Gloinson
diff --git a/doc/props/P_AMOUNT b/doc/props/P_AMOUNT
index a44e45a..5c0e51a 100644
--- a/doc/props/P_AMOUNT
+++ b/doc/props/P_AMOUNT
@@ -1,8 +1,21 @@
-NAME:
-    P_AMOUNT                      "amount"                      
 
-DEFINIERT IN:
-    /sys/properties.h
+P_AMOUNT
+********
 
-BESCHREIBUNG:
-     Anzahl der Objekte, fuer die das Objekt steht.
+
+NAME
+====
+
+   P_AMOUNT                      "amount"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der Objekte, fuer die das Objekt steht.
diff --git a/doc/props/P_AQUATIC_HELPERS b/doc/props/P_AQUATIC_HELPERS
index 33a07ab..8429a41 100644
--- a/doc/props/P_AQUATIC_HELPERS
+++ b/doc/props/P_AQUATIC_HELPERS
@@ -1,46 +1,64 @@
+
 P_AQUATIC_HELPERS
+*****************
 
-NAME:
-     P_AQUATIC_HELPERS "lib_p_aquatic_helpers"
 
-DEFINIERT IN:
-     <living/helpers.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
-     zu ermitteln, die fuer die Unterstuetzung beim Tauchen bei diesem 
-     Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
-     Form zurueckgeliefert:
-     ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
-     Eine Erlaeuterung dazu findet sich in der Dokumentation zu 
-     RegisterHelperObject().
+   P_AQUATIC_HELPERS "lib_p_aquatic_helpers"
 
-BEMERKUNGEN:
-     Diese Property kann nur abgefragt werden.
-     Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche 
-     Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
 
-BEISPIEL:
-     Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das 
-     beim Tauchen hilft, sucht man alle Objekte aus dem Mapping heraus, die
-     einen Wert >0 eingetragen haben und prueft deren Anzahl:
+DEFINIERT IN
+============
 
-     mapping aquatic = this_player()->QueryProp(P_AQUATIC_HELPERS);
-     object* helpers = filter( aquatic, function int (object h) {
-                         return (aquatic[h]>0); });
-     if ( sizeof(helpers) ) {
-       tell_object(this_player(), "Du stuerzt Dich in die Fluten und "
-         "stellst ueberrascht fest, dass Du mit Hilfe "+
-         helpers[0]->name(WESSEN,1)+" sogar unter Wasser atmen kannst!\n");
-     }
-     else {
-       tell_object(this_player(), "Du hast nichts zum Tauchen bei Dir.\n");
-     }
+   <living/helpers.h>
 
-SIEHE AUCH:
-     Methoden:    RegisterHelperObject(L), UnregisterHelperObject(L)
-     Properties:  P_HELPER_OBJECTS, P_AERIAL_HELPERS
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Diese Property kann in allen Lebewesen abgefragt werden, um die Objekte
+   zu ermitteln, die fuer die Unterstuetzung beim Tauchen bei diesem
+   Lebewesen registriert haben. Die Daten werden als Mapping der folgenden
+   Form zurueckgeliefert:
+   ([ Objekt : Rueckgabewert von dessen Callback-Methode ])
+   Eine Erlaeuterung dazu findet sich in der Dokumentation zu
+   RegisterHelperObject().
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property kann nur abgefragt werden.
+   Es ist erwuenscht, dass entsprechende, neu geschaffene Stellen jegliche
+   Helfer akzeptieren, deren Callback-Methode >0 zurueckgibt.
+
+
+BEISPIEL
+========
+
+   Um zu ermitteln, ob der Spieler mindestens ein Objekt bei sich hat, das
+   beim Tauchen hilft, sucht man alle Objekte aus dem Mapping heraus, die
+   einen Wert >0 eingetragen haben und prueft deren Anzahl:
+
+   mapping aquatic = this_player()->QueryProp(P_AQUATIC_HELPERS);
+   object* helpers = filter( aquatic, function int (object h) {
+                       return (aquatic[h]>0); });
+   if ( sizeof(helpers) ) {
+     tell_object(this_player(), "Du stuerzt Dich in die Fluten und "
+       "stellst ueberrascht fest, dass Du mit Hilfe "+
+       helpers[0]->name(WESSEN,1)+" sogar unter Wasser atmen kannst!\n");
+   }
+   else {
+     tell_object(this_player(), "Du hast nichts zum Tauchen bei Dir.\n");
+   }
+
+
+SIEHE AUCH
+==========
+
+   Methoden:    RegisterHelperObject(L), UnregisterHelperObject(L)
+   Properties:  P_HELPER_OBJECTS, P_AERIAL_HELPERS
+
 06.04.2016, Arathorn
-
diff --git a/doc/props/P_ARMOURS b/doc/props/P_ARMOURS
index 3156bf6..e0d6a0c 100644
--- a/doc/props/P_ARMOURS
+++ b/doc/props/P_ARMOURS
@@ -1,25 +1,41 @@
+
 P_ARMOURS
+*********
 
-NAME:
-     P_ARMOURS                     "armours"
 
-DEFINIERT IN:
-     <living/combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Array mit den getragenen Schutzbekleidungen des Lebewesen.
+   P_ARMOURS                     "armours"
 
-     Bitte nach Moeglichkeit davon absehen, diese Property zu beschreiben, da
-     es hierbei zu Inkonsistenzen kommen kann.
-     
-     Falls ihr die Ruestungen des Lebewesens, ggf. mit bestimten Kriterien,
-     ermitteln wollt, benutzt hierfuer bitte die Funktion FilterArmours()
-     statt selber ueber dieses Array zu laufen.
 
-SIEHE AUCH:
-     Verwandt:		QueryArmourByType(L), P_WEAPON, FilterClothing(), 
-                  FilterArmours()
-     Ruestungen:	P_AC, P_ARMOUR_TYPE, P_NR_HANDS
-     Sonstiges:		P_EQUIP_TIME, P_LAST_USE
+DEFINIERT IN
+============
+
+   <living/combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Array mit den getragenen Schutzbekleidungen des Lebewesen.
+
+   Bitte nach Moeglichkeit davon absehen, diese Property zu beschreiben, da
+   es hierbei zu Inkonsistenzen kommen kann.
+
+
+
+   Falls ihr die Ruestungen des Lebewesens, ggf. mit bestimten Kriterien,
+   ermitteln wollt, benutzt hierfuer bitte die Funktion FilterArmours()
+   statt selber ueber dieses Array zu laufen.
+
+
+SIEHE AUCH
+==========
+
+   Verwandt:          QueryArmourByType(L), P_WEAPON, FilterClothing(),
+                FilterArmours()
+   Ruestungen:        P_AC, P_ARMOUR_TYPE, P_NR_HANDS
+   Sonstiges:         P_EQUIP_TIME, P_LAST_USE
 
 14.03.2009, Zesstra
diff --git a/doc/props/P_ARMOUR_TYPE b/doc/props/P_ARMOUR_TYPE
index 35978f2..19e6812 100644
--- a/doc/props/P_ARMOUR_TYPE
+++ b/doc/props/P_ARMOUR_TYPE
@@ -1,46 +1,63 @@
+
 P_ARMOUR_TYPE
+*************
 
-NAME:
-     P_ARMOUR_TYPE "armour_type"
 
-DEFINIERT IN:
-     <armour.h>
+NAME
+====
 
-BESCHREIBUNG:
-     In dieser Property wird der Typ einer Ruestung festgehalten. Man sollte
-     hier nur die in <combat.h> definierten Konstanten verwenden:
+   P_ARMOUR_TYPE "armour_type"
 
-        AT_AMULET     Amulett
-        AT_ARMOUR     Ruestung
-        AT_BELT       Guertel
-        AT_BOOT       Schuhe
-        AT_CLOAK      Umhang
-        AT_GLOVE      Handschuhe
-        AT_HELMET     Helm
-        AT_QUIVER     Koecher
-        AT_RING       Ring
-        AT_SHIELD     Schild
-        AT_TROUSERS   Hosen
-        AT_MISC       Sonstiges
 
-     Der Ruestungstyp AT_MISC ist schnoedem Tand und anderem nutzlosen
-     Kram vorbehalten. Auf keinen Fall darf eine AT_MISC-Ruestung ueber
-     eine AC > 0 verfuegen noch irgendwie kampfrelevante Bedeutung be-
-     sitzen. Ruestungen des Typs AT_MISC, die KEINE DefendFunc benoetigen,
-     muessen mittels /std/clothing als einfaches Kleidungsstueck realisiert
-     werden.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Die P_AC wird bei AT_MISC-Ruestungen gar nicht erst ausgewertet.
-     DefendFuncs werden zwar ausgewertet, aber bitte ueberlegt euch gut, ob
-     ihr sie braucht (Rechenzeit im Kampf ist kritisch!) und ob sie seitens 
-     der Balance in eurem Fall erlaubt sind.
+   <armour.h>
 
-SIEHE AUCH:
-     Verwandt:          QueryArmourByType(L), P_WEAPON
-     Ruestungen:        P_AC, P_NR_HANDS (Schilde)
-     Sonstiges:         P_EQUIP_TIME, P_LAST_USE
-     Code:              /std/armour.c, /std/clothing.c
-     Gildenergaenzung:  P_GLOVE_FINGERLESS
+
+BESCHREIBUNG
+============
+
+   In dieser Property wird der Typ einer Ruestung festgehalten. Man sollte
+   hier nur die in <combat.h> definierten Konstanten verwenden:
+
+      AT_AMULET     Amulett
+      AT_ARMOUR     Ruestung
+      AT_BELT       Guertel
+      AT_BOOT       Schuhe
+      AT_CLOAK      Umhang
+      AT_GLOVE      Handschuhe
+      AT_HELMET     Helm
+      AT_QUIVER     Koecher
+      AT_RING       Ring
+      AT_SHIELD     Schild
+      AT_TROUSERS   Hosen
+      AT_MISC       Sonstiges
+
+   Der Ruestungstyp AT_MISC ist schnoedem Tand und anderem nutzlosen
+   Kram vorbehalten. Auf keinen Fall darf eine AT_MISC-Ruestung ueber
+   eine AC > 0 verfuegen noch irgendwie kampfrelevante Bedeutung be-
+   sitzen. Ruestungen des Typs AT_MISC, die KEINE DefendFunc benoetigen,
+   muessen mittels /std/clothing als einfaches Kleidungsstueck realisiert
+   werden.
+
+
+BEMERKUNGEN
+===========
+
+   Die P_AC wird bei AT_MISC-Ruestungen gar nicht erst ausgewertet.
+   DefendFuncs werden zwar ausgewertet, aber bitte ueberlegt euch gut, ob
+   ihr sie braucht (Rechenzeit im Kampf ist kritisch!) und ob sie seitens
+   der Balance in eurem Fall erlaubt sind.
+
+
+SIEHE AUCH
+==========
+
+   Verwandt:          QueryArmourByType(L), P_WEAPON
+   Ruestungen:        P_AC, P_NR_HANDS (Schilde)
+   Sonstiges:         P_EQUIP_TIME, P_LAST_USE
+   Code:              /std/armour.c, /std/clothing.c
+   Gildenergaenzung:  P_GLOVE_FINGERLESS
 
 27. Mai 2015, Arathorn
diff --git a/doc/props/P_ARRIVEMSG b/doc/props/P_ARRIVEMSG
index 02d5759..cdafdaa 100644
--- a/doc/props/P_ARRIVEMSG
+++ b/doc/props/P_ARRIVEMSG
@@ -1,8 +1,21 @@
-NAME:
-    P_ARRIVEMSG                   "arrivemsg"                   
 
-DEFINIERT IN:
-    /sys/transport.h
+P_ARRIVEMSG
+***********
 
-BESCHREIBUNG:
-     Meldung, wenn der Transporter anlegt.
+
+NAME
+====
+
+   P_ARRIVEMSG                   "arrivemsg"
+
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Meldung, wenn der Transporter anlegt.
diff --git a/doc/props/P_ARTICLE b/doc/props/P_ARTICLE
index 1517865..2bf2c54 100644
--- a/doc/props/P_ARTICLE
+++ b/doc/props/P_ARTICLE
@@ -1,15 +1,28 @@
-NAME:
-    P_ARTICLE                     "article"                     
 
-DEFINIERT IN:
-    /sys/thing/language.h
+P_ARTICLE
+*********
 
-BESCHREIBUNG:
-     Gibt an, ob in der Beschreibung ein Artikel ausgegeben werden soll
-     oder nicht.
 
-     Wenn ein Artikel angegeben werden soll, so wird 1 gesetzt, sonst 0.
-     Diese Property ist aus historischen Gruenden auf 1 voreingestellt
-     und intern invertiert. (d.h., beim Auslesen per Query kommt als 
-     Ergebnis genau das falsche heraus). Bitte beachtet das bei Set- bzw.
-     Query-Funktionen.
\ No newline at end of file
+NAME
+====
+
+   P_ARTICLE                     "article"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/language.h
+
+
+BESCHREIBUNG
+============
+
+   Gibt an, ob in der Beschreibung ein Artikel ausgegeben werden soll
+   oder nicht.
+
+   Wenn ein Artikel angegeben werden soll, so wird 1 gesetzt, sonst 0.
+   Diese Property ist aus historischen Gruenden auf 1 voreingestellt
+   und intern invertiert. (d.h., beim Auslesen per Query kommt als
+   Ergebnis genau das falsche heraus). Bitte beachtet das bei Set- bzw.
+   Query-Funktionen.
diff --git a/doc/props/P_ATTACK_BUSY b/doc/props/P_ATTACK_BUSY
index b55dc5b..dfc8ba6 100644
--- a/doc/props/P_ATTACK_BUSY
+++ b/doc/props/P_ATTACK_BUSY
@@ -1,44 +1,67 @@
-NAME:
-    P_ATTACK_BUSY                 "attack_busy"                 
 
-DEFINIERT IN:
-    /sys/living/combat.h
+P_ATTACK_BUSY
+*************
 
-BESCHREIBUNG:
-    Ueber diese Property kann festgestellt werden, ob ein Spieler noch 
-    Spezialwaffen (zB Flammenkugel) einsetzen kann.
-    
-    Ist der Wert bei Abfrage ungleich 0, dann darf der Spieler in dieser
-    Runde keine Aktion mehr durchfuehren. Mit SetProp(P_ATTACK_BUSY, 1)
-    wird eine Aktion verbraucht.
 
-    Intern wird relativ fein gerechnet, ein SetProp(P_ATTACK_BUSY, x)
-    wird in das Abziehen von x*100 Punkten umgerechnet. Der Wert freier
-    Aktionen pro Runde berechnet sich wie folgt:
-    
-    Spieler: 100 + QuerySkillAttribute(SA_SPEED)
-    Seher:   Spieler + 200 + QueryProp(P_LEVEL)
+NAME
+====
 
-    Das Maximum liegt bei 500.
-    Damit betraegt die Anzahl der moeglichen Aktionen pro Runde: Wert/100,
-    also maximal 5 Aktionen pro Runde.
+   P_ATTACK_BUSY                 "attack_busy"
 
-    Zaubersprueche zaehlen im Normalfall auch als eine Aktion.
 
-BEMERKUNGEN:
-    Benutzt man P_ATTACK_BUSY fuer eine sich nicht sofort verbrauchende
-    Sache, kann ein Seher dieses Objekt im Normalfall dreimal pro Runde
-    benutzen. Wenn ungewollt, muss das ueber einen Zeitmarker selbst
-    verhindert werden.
-    
-BEISPIELE:
-    (Code eines Objektes ist in
-     /doc/beispiele/testobjekte/attack_busy_sensitive_testobj.c)
-    // einfacher Test auf ATTACK_BUSY und anschliessendes Setzen
-    if (this_player()->QueryProp(P_ATTACK_BUSY)) {
-      write("Du hast dafuer momentan einfach nicht mehr die Puste.\n");
-      return 1;
-    }
-    this_player()->SetProp(P_ATTACK_BUSY, 1);
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Ueber diese Property kann festgestellt werden, ob ein Spieler noch
+   Spezialwaffen (zB Flammenkugel) einsetzen kann.
+
+
+
+   Ist der Wert bei Abfrage ungleich 0, dann darf der Spieler in dieser
+   Runde keine Aktion mehr durchfuehren. Mit SetProp(P_ATTACK_BUSY, 1)
+   wird eine Aktion verbraucht.
+
+   Intern wird relativ fein gerechnet, ein SetProp(P_ATTACK_BUSY, x)
+   wird in das Abziehen von x*100 Punkten umgerechnet. Der Wert freier
+   Aktionen pro Runde berechnet sich wie folgt:
+
+
+
+   Spieler: 100 + QuerySkillAttribute(SA_SPEED)
+   Seher:   Spieler + 200 + QueryProp(P_LEVEL)
+
+   Das Maximum liegt bei 500.
+   Damit betraegt die Anzahl der moeglichen Aktionen pro Runde: Wert/100,
+   also maximal 5 Aktionen pro Runde.
+
+   Zaubersprueche zaehlen im Normalfall auch als eine Aktion.
+
+
+BEMERKUNGEN
+===========
+
+   Benutzt man P_ATTACK_BUSY fuer eine sich nicht sofort verbrauchende
+   Sache, kann ein Seher dieses Objekt im Normalfall dreimal pro Runde
+   benutzen. Wenn ungewollt, muss das ueber einen Zeitmarker selbst
+   verhindert werden.
+
+
+BEISPIELE
+=========
+
+   (Code eines Objektes ist in
+    /doc/beispiele/testobjekte/attack_busy_sensitive_testobj.c)
+   // einfacher Test auf ATTACK_BUSY und anschliessendes Setzen
+   if (this_player()->QueryProp(P_ATTACK_BUSY)) {
+     write("Du hast dafuer momentan einfach nicht mehr die Puste.\n");
+     return 1;
+   }
+   this_player()->SetProp(P_ATTACK_BUSY, 1);
 
 7. Mar 2011 Gloinson
diff --git a/doc/props/P_ATTRIBUTES b/doc/props/P_ATTRIBUTES
index 29da911..ed5dd1c 100644
--- a/doc/props/P_ATTRIBUTES
+++ b/doc/props/P_ATTRIBUTES
@@ -1,58 +1,79 @@
-NAME:
-	P_ATTRIBUTES			"attributes"
 
-DEFINIERT IN:
-	/sys/living/attributes.h
+P_ATTRIBUTES
+************
 
-BESCHREIBUNG:
-	Diese Property enthaelt ein Mapping mit den Attributen des
-	Lebewesens. Die Schluessel kennzeichnen hierbei das jeweilige
-	Attribut. Die verschiedenen Standardattribute findet man in
-	/sys/living/attributes.h, welche derzeit folgende Moeglichkeiten
-	bieten:	- A_STR (Kraft)
-		- A_INT (Intelligenz)
-		- A_DEX (Geschick)
-		- A_CON (Konstitution)
-	Sie werden automatisch an verschiedenen Stellen in der MUDLib
-	ausgewertet, zum Beispiel bestimmt A_INT die maximal moeglichen
-	Konzentrationspunkte und A_CON die maximal moeglichen Lebenspunkte.
 
-BEMERKUNGEN:
-        Keine echte Property, _query_attributes() und _set_attributes() sind 

-        in /std/living/attributes.c implementiert.
+NAME
+====
 
-	Es bietet sich an, zum Erfragen der Attributwerte die Funktion
-	QueryAttribute() zu nutzen, da es auch moegliche Offsets gibt,
-	so beispielsweise ueber die Properties P_ATTRIBUTES_OFFSETS bzw.
-	P_ATTRIBUTES_MODIFIER im Lebewesen selbst, oder auch ueber
-	P_X_ATTR_MOD bzw. P_M_ATTR_MOD in Objekten im Lebewesen.
-	Kurzfristige zeit- oder objektgebundene Attributveraenderungen
-	koennen ueber die Property P_TIMED_ATTR_MOD realisiert werden.
+   P_ATTRIBUTES                    "attributes"
 
-	Es gibt auch zahlreiche andere Dienstfunktionen fuer diesen sehr
-	balancekritischen Bereich, siehe unten.
 
-BEISPIEL:
-	Ein moegliches Ergebnis fuer einen frischen Level 1 Spieler waere:
-	  QueryProp(P_ATTRIBUTES);
-	  Ergebnis: (["int":1,"con":1,"str":1,"dex":1])
-	Hinzu kommen eventuell moegliche Rassenboni, die mittels
-	P_ATTRIBUTE_OFFSETS realisiert werden, Zwerge sind beispielsweise
-	recht stark:
-	  QueryProp(P_ATTRIBUTES_OFFSETS);
-	  Ergebnis: (["int":1,"con":1,"str":1,"dex":3])
-	Jetzt bekaeme man (sofern keine weiteren Offsets realisiert sind)
-	mittels QueryAttribute() insgesamt:
-	  QueryAttribute(A_DEX);
-	  Ergebnis: 4
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-	QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
-	SetAttribute(), SetRealAttribute(), UpdateAttributes(),
-	SetTimedAttrModifier(), QueryTimedAttrModifier(),
-	DeleteTimedAttrModifier(),
-	P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,P_TIMED_ATTR_MOD,
-	P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+   /sys/living/attributes.h
 
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt ein Mapping mit den Attributen des
+   Lebewesens. Die Schluessel kennzeichnen hierbei das jeweilige
+   Attribut. Die verschiedenen Standardattribute findet man in
+   /sys/living/attributes.h, welche derzeit folgende Moeglichkeiten
+   bieten: - A_STR (Kraft)
+           - A_INT (Intelligenz)
+           - A_DEX (Geschick)
+           - A_CON (Konstitution)
+   Sie werden automatisch an verschiedenen Stellen in der MUDLib
+   ausgewertet, zum Beispiel bestimmt A_INT die maximal moeglichen
+   Konzentrationspunkte und A_CON die maximal moeglichen Lebenspunkte.
+
+
+BEMERKUNGEN
+===========
+
+   Keine echte Property, _query_attributes() und _set_attributes() sind
+   in /std/living/attributes.c implementiert.
+
+   Es bietet sich an, zum Erfragen der Attributwerte die Funktion
+   QueryAttribute() zu nutzen, da es auch moegliche Offsets gibt,
+   so beispielsweise ueber die Properties P_ATTRIBUTES_OFFSETS bzw.
+   P_ATTRIBUTES_MODIFIER im Lebewesen selbst, oder auch ueber
+   P_X_ATTR_MOD bzw. P_M_ATTR_MOD in Objekten im Lebewesen.
+   Kurzfristige zeit- oder objektgebundene Attributveraenderungen
+   koennen ueber die Property P_TIMED_ATTR_MOD realisiert werden.
+
+   Es gibt auch zahlreiche andere Dienstfunktionen fuer diesen sehr
+   balancekritischen Bereich, siehe unten.
+
+
+BEISPIEL
+========
+
+   Ein moegliches Ergebnis fuer einen frischen Level 1 Spieler waere:
+     QueryProp(P_ATTRIBUTES);
+     Ergebnis: (["int":1,"con":1,"str":1,"dex":1])
+   Hinzu kommen eventuell moegliche Rassenboni, die mittels
+   P_ATTRIBUTE_OFFSETS realisiert werden, Zwerge sind beispielsweise
+   recht stark:
+     QueryProp(P_ATTRIBUTES_OFFSETS);
+     Ergebnis: (["int":1,"con":1,"str":1,"dex":3])
+   Jetzt bekaeme man (sofern keine weiteren Offsets realisiert sind)
+   mittels QueryAttribute() insgesamt:
+     QueryAttribute(A_DEX);
+     Ergebnis: 4
+
+
+SIEHE AUCH
+==========
+
+   QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+   SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+   SetTimedAttrModifier(), QueryTimedAttrModifier(),
+   DeleteTimedAttrModifier(),
+   P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,P_TIMED_ATTR_MOD,
+   P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+
 Last modified: Tue Jul 27 20:00:20 2004 by Muadib
diff --git a/doc/props/P_ATTRIBUTES_MODIFIER b/doc/props/P_ATTRIBUTES_MODIFIER
index f5ba513..ab9f24d 100644
--- a/doc/props/P_ATTRIBUTES_MODIFIER
+++ b/doc/props/P_ATTRIBUTES_MODIFIER
@@ -1,56 +1,78 @@
-NAME:
-    P_ATTRIBUTES_MODIFIER         "attributes_modifier"
 
-DEFINIERT IN:
-    /sys/living/attributes.h
+P_ATTRIBUTES_MODIFIER
+*********************
 
-BESCHREIBUNG:
-    In dieser Property werden Attribut-Modifikatoren gespeichert, die
-    laengere Zeit wirksam sein sollen, tlw. auch ueber einen Reboot
-    hinweg.
-    Intern werden die Modifikatoren in einem Mapping der Form
 
-        ([ Setzer-Key : ([ A_xy : Wert, ... ]) , ... ])
+NAME
+====
 
-    gespeichert. Das Setzen folg hingegen in der Form
+   P_ATTRIBUTES_MODIFIER         "attributes_modifier"
 
-        spieler->SetProp(P_ATTRIBUTES_MODIFIER, ([ A_xy : Wert, ... ]));
-    oder
-        spieler->SetProp(P_ATTRIBUTES_MODIFIER, ({ Setzer-Key, ([ ... ]) }));
 
-    Bei der ersten Variante wird hierbei der Filename des setzenden Objektes
-    als Setzer-Key genommen.
-    Es koennen also durchaus von mehreren Objekten Modifier gesetzt werden.
-    Bekannte Modifier sind:
+DEFINIERT IN
+============
 
-        #death      Attribut-Abzug durch Todesfolgen      (Mudlib)
-        #drain      Statabzug durch NPCs                  (Paracelsus)
-        #frosch     Staerken-Abzug bei Froeschen          (Mudlib)
+   /sys/living/attributes.h
 
-BEMERKUNGEN:
-    Keine echte Property, _query_attributes_modifier() und
-    _set_attributes_modifier() sind in /std/living/attributes.c
-    implementiert
-    - SetProp/QueryProp nutzen!
-    - Wenn ein Modifier nicht mehr gebracht wird, nicht die Attributswerte auf
-      0 setzen, sondern den ganzen Eintrag! also:
-      SetProp(P_ATTRIBUTES_MODIFIER, ([]) );
-      oder: SetProp(P_ATTRIBUTES_MODIFIER, 0 ); 
-      aber nicht: SetProp(P_ATTRIBUTES_MODIFIER, ([A_STR:0]));
 
-BEISPIELE:
-    // ein Bonus ... 'ende'-fest (muss also per uid gesichert werden)
-    player->SetProp(P_ATTRIBUTES_MODIFIER,
-                    ({"g_klerus_segen", ([A_CON:5, A_INT:5])}));
-    ...
-    player->SetProp(P_ATTRIBUTES_MODIFIER, ({"g_klerus_segen", 0}));
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-	QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
-	SetAttribute(), SetRealAttribute(), UpdateAttributes(),
-	SetTimedAttrModifier(), QueryTimedAttrModifier(),
-	DeleteTimedAttrModifier(),
-	P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_TIMED_ATTR_MOD,
-	P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
-----------------------------------------------------------------------------
+   In dieser Property werden Attribut-Modifikatoren gespeichert, die
+   laengere Zeit wirksam sein sollen, tlw. auch ueber einen Reboot
+   hinweg.
+   Intern werden die Modifikatoren in einem Mapping der Form
+
+       ([ Setzer-Key : ([ A_xy : Wert, ... ]) , ... ])
+
+   gespeichert. Das Setzen folg hingegen in der Form
+
+       spieler->SetProp(P_ATTRIBUTES_MODIFIER, ([ A_xy : Wert, ... ]));
+   oder
+       spieler->SetProp(P_ATTRIBUTES_MODIFIER, ({ Setzer-Key, ([ ... ]) }));
+
+   Bei der ersten Variante wird hierbei der Filename des setzenden Objektes
+   als Setzer-Key genommen.
+   Es koennen also durchaus von mehreren Objekten Modifier gesetzt werden.
+   Bekannte Modifier sind:
+
+       #death      Attribut-Abzug durch Todesfolgen      (Mudlib)
+       #drain      Statabzug durch NPCs                  (Paracelsus)
+       #frosch     Staerken-Abzug bei Froeschen          (Mudlib)
+
+
+BEMERKUNGEN
+===========
+
+   Keine echte Property, _query_attributes_modifier() und
+   _set_attributes_modifier() sind in /std/living/attributes.c
+   implementiert
+   - SetProp/QueryProp nutzen!
+   - Wenn ein Modifier nicht mehr gebracht wird, nicht die Attributswerte auf
+     0 setzen, sondern den ganzen Eintrag! also:
+     SetProp(P_ATTRIBUTES_MODIFIER, ([]) );
+     oder: SetProp(P_ATTRIBUTES_MODIFIER, 0 );
+     aber nicht: SetProp(P_ATTRIBUTES_MODIFIER, ([A_STR:0]));
+
+
+BEISPIELE
+=========
+
+   // ein Bonus ... 'ende'-fest (muss also per uid gesichert werden)
+   player->SetProp(P_ATTRIBUTES_MODIFIER,
+                   ({"g_klerus_segen", ([A_CON:5, A_INT:5])}));
+   ...
+   player->SetProp(P_ATTRIBUTES_MODIFIER, ({"g_klerus_segen", 0}));
+
+
+SIEHE AUCH
+==========
+
+   QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+   SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+   SetTimedAttrModifier(), QueryTimedAttrModifier(),
+   DeleteTimedAttrModifier(),
+   P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_TIMED_ATTR_MOD,
+   P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+
 Last modified: Tue Jul 27 20:00:20 2004 by Muadib
diff --git a/doc/props/P_ATTRIBUTES_OFFSETS b/doc/props/P_ATTRIBUTES_OFFSETS
index 3ebe2b7..dfcbb8c 100644
--- a/doc/props/P_ATTRIBUTES_OFFSETS
+++ b/doc/props/P_ATTRIBUTES_OFFSETS
@@ -1,27 +1,46 @@
-NAME:
-	P_ATTRIBUTES_OFFSETS		"attributes_offsets"
 
-DEFINIERT IN:
-	/sys/living/attributes.h
+P_ATTRIBUTES_OFFSETS
+********************
 
-BESCHREIBUNG:
-	Diese Property enthaelt ein Mapping mit Offsets, die zu den
-	Attributen eine Lebewesens addiert werden. Diese koennen auch
-	negativ sein! Realisiert werden damit beispielsweise Rassenboni.
-	Es gibt noch weitere Moeglichkeiten, Attributoffsets anzugeben.
-	Fuer weiteres siehe P_ATTRIBUTES.
 
-BEMKERUNGEN:
-        Keine echte Property, _query_attributes_offsets() und 

-        _set_attributes_offsets() sind in /std/living/attributes.c 

-        implementiert.
+NAME
+====
 
-SIEHE AUCH:
-	QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
-	SetAttribute(), SetRealAttribute(), UpdateAttributes(),
-	SetTimedAttrModifier(), QueryTimedAttrModifier(),
-	DeleteTimedAttrModifier(),
-	P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_TIMED_ATTR_MOD,
-	P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
-----------------------------------------------------------------------------
+   P_ATTRIBUTES_OFFSETS            "attributes_offsets"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/attributes.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt ein Mapping mit Offsets, die zu den
+   Attributen eine Lebewesens addiert werden. Diese koennen auch
+   negativ sein! Realisiert werden damit beispielsweise Rassenboni.
+   Es gibt noch weitere Moeglichkeiten, Attributoffsets anzugeben.
+   Fuer weiteres siehe P_ATTRIBUTES.
+
+
+BEMKERUNGEN
+===========
+
+   Keine echte Property, _query_attributes_offsets() und
+   _set_attributes_offsets() sind in /std/living/attributes.c
+   implementiert.
+
+
+SIEHE AUCH
+==========
+
+   QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+   SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+   SetTimedAttrModifier(), QueryTimedAttrModifier(),
+   DeleteTimedAttrModifier(),
+   P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_TIMED_ATTR_MOD,
+   P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+
 Last modified: Tue Jul 27 20:00:20 2004 by Muadib
diff --git a/doc/props/P_AUTH_INFO b/doc/props/P_AUTH_INFO
index 5ca65c5..953b519 100644
--- a/doc/props/P_AUTH_INFO
+++ b/doc/props/P_AUTH_INFO
@@ -1,8 +1,21 @@
-NAME:
-    P_AUTH_INFO                   "auth_info"                   
 
-DEFINIERT IN:
-    /sys/player.h
+P_AUTH_INFO
+***********
 
-BESCHREIBUNG:
-     Username des Spielers, wenn bei ihm ein AUTHD laeuft
+
+NAME
+====
+
+   P_AUTH_INFO                   "auth_info"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Username des Spielers, wenn bei ihm ein AUTHD laeuft
diff --git a/doc/props/P_AUTOLOAD b/doc/props/P_AUTOLOAD
index 6ea69c9..5e623bb 100644
--- a/doc/props/P_AUTOLOAD
+++ b/doc/props/P_AUTOLOAD
@@ -1,15 +1,31 @@
-NAME:
-    P_AUTOLOAD                    "autoload"                    
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_AUTOLOAD
+**********
 
-BESCHREIBUNG:
-     Mapping mit der Menge der Autoloadobjekte und den zugeh.
-     Properties.
 
-BEMERKUNGEN:
-     Funktioniert momentan nicht. Die Methode wurde entfernt. Doku bleibt
-     hier bis der Fall geklaert ist. (Stand 27.Aug 2006)
+NAME
+====
+
+   P_AUTOLOAD                    "autoload"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Mapping mit der Menge der Autoloadobjekte und den zugeh.
+   Properties.
+
+
+BEMERKUNGEN
+===========
+
+   Funktioniert momentan nicht. Die Methode wurde entfernt. Doku bleibt
+   hier bis der Fall geklaert ist. (Stand 27.Aug 2006)
 
 27.Aug 2006 Gloinson
diff --git a/doc/props/P_AUTOLOADOBJ b/doc/props/P_AUTOLOADOBJ
index 32b433d..3184fff 100644
--- a/doc/props/P_AUTOLOADOBJ
+++ b/doc/props/P_AUTOLOADOBJ
@@ -1,119 +1,141 @@
-NAME:
-    P_AUTOLOADOBJ                 "autoloadobj"
 
-DEFINIERT IN:
-    /sys/player/base.h
-
-BESCHREIBUNG:
-     Hiermit kann prinzipiell angegeben werden ob ein Objekt ueber das
-     Ausloggen eines Spielers (Reboot/ende) behalten werden soll.
-
-     Als Inhalt der Property koennen permanente Eigenschaften des Objektes
-     angegeben werden.
-     Beim Einloggen wird das Objekt neu erzeugt und P_AUTOLOADOBJ auf die
-     gespeicherten Werte gesetzt. Die Werte muessen allerdings selbst
-     verwaltet werden.
-
-     Bitte geht nicht davon aus, dass es waehrend des Setzens/Abfragens dieser
-     Prop einen this_player() oder ein this_interactive() geben muss.
-     Speziell ist this_interactive() nicht == /secure/login!
-     Ebenfalls muss das Objekt beim Setzen/Abfragen nicht in einem Spieler
-     sein.
-
-BEMERKUNGEN:
-     Autoloadobjekte werden beim Ausloggen nicht fallengelassen!
-
-BEISPIELE:
-     ## Variante 1: simples Objekt, bleibt einfach nur erhalten,
-     ##             Variablen werden nicht gesichert ##
-     void create() {
-      ...
-      SetProp(P_AUTOLOADOBJ,1);
-      ...
-     }
+P_AUTOLOADOBJ
+*************
 
 
-     ## Variante 2: Speicherung mehrerer Variablen ueber
-     ##             P_AUTOLOADOBJ (elegante Verwaltung)
+NAME
+====
 
-     // ein paar #defines fuer die Plaetze in der Speichervariablen
-     #define MY_AL_SHORT    0
-     #define MY_AL_ATTRM    1
-     #define MY_AL_OWNER    2
-     #define MY_AL_DESTRUCT 3
-
-     // die Variablen, die erhalten bleiben sollen
-     static object owner;
-     static int destruct_time;
-
-     // diese hier wird gerufen, wenn der Spieler gespeichert wird,
-     // wir packen also alle aktuellen Variablen in eine und geben die
-     // zum Speichern heraus ... wir nehmen hier ein Array (statt
-     // zB eines Mappings), weil das am wenigsten Platz braucht
-     static mixed* _query_autoloadobj() {
-      mixed *ret;
-      ret=allocate(4);
-      ret[MY_AL_SHORT] = QueryProp(P_SHORT);      // SHORT merken
-      ret[MY_AL_ATTRM] = QueryProp(P_M_ATTR_MOD); // einen Modifikator merken
-      ret[MY_AL_OWNER] = getuid(owner);           // ah, ein Besitzer!
-      ret[MY_AL_DESTRUCT]=destruct_time-time();   // und eine Lebensdauer!
-
-      return ret;
-
-      /*
-      // normalerweise wuerde man das einfach so schreiben:
-      return (({QueryProp(P_SHORT),
-                QueryProp(P_M_ATTR_MOD),
-                getuid(owner),
-                destruct_time-time()}));
-      */
-     }
-
-     // diese hier wird gerufen, wenn das Objekt neu im Spieler
-     // erzeugt wurde (Login), also packen wir das Speicherarray wieder
-     // aus und in alle entsprechenden Variablen
-     static mixed* _set_autoloadobj(mixed *new) {
-      // wenn das Format nicht mit dem oben uebereinstimmt ist was
-      // schiefgelaufen
-      if(pointerp(new) && !owner && sizeof(new)>4 &&
-         (owner=find_player(new[MY_AL_OWNER]))) {
-       // los, zuweisen!
-
-       SetProp(P_SHORT,      new[MY_AL_SHORT]);
-       SetProp(P_M_ATTR_MOD, new[MY_AL_ATTRM]);
-       destruct_time=        time()+new[MY_AL_DESTRUCT];
-
-       call_out(#'remove,new[3]);
-      } else call_out(#'remove,0);
-
-      return new;
-     }
+   P_AUTOLOADOBJ                 "autoloadobj"
 
 
-     ## Variante 3: und das gleiche mit Set/Querymethoden ##
-     // Prototypen fuer Set und Query-Methoden -> man Set
-     static mixed *my_query_autoloadobj();
-     static mixed *my_set_autoloadobj(mixed *new);
+DEFINIERT IN
+============
 
-     void create() {
-      // Binden der Methoden
-      Set(P_AUTOLOADOBJ, #'my_query_autoloadobj, F_QUERY_METHOD);
-      Set(P_AUTOLOADOBJ, #'my_set_autoloadobj, F_SET_METHOD);
+   /sys/player/base.h
 
-      // die werden nur von mir veraendert!
-      Set(P_AUTOLOADOBJ, PROTECTED, F_MODE_AS);
-      ...
-     }
 
-     static mixed *my_query_autoloadobj () {
-       // s.o.
-     }
+BESCHREIBUNG
+============
 
-     static mixed *my_set_autoloadobj (mixed *new) {
-       // s.o.
-     }
+   Hiermit kann prinzipiell angegeben werden ob ein Objekt ueber das
+   Ausloggen eines Spielers (Reboot/ende) behalten werden soll.
 
-SIEHE AUCH:
-     P_AUTOLOAD, SetProp
+   Als Inhalt der Property koennen permanente Eigenschaften des Objektes
+   angegeben werden.
+   Beim Einloggen wird das Objekt neu erzeugt und P_AUTOLOADOBJ auf die
+   gespeicherten Werte gesetzt. Die Werte muessen allerdings selbst
+   verwaltet werden.
+
+   Bitte geht nicht davon aus, dass es waehrend des Setzens/Abfragens dieser
+   Prop einen this_player() oder ein this_interactive() geben muss.
+   Speziell ist this_interactive() nicht == /secure/login!
+   Ebenfalls muss das Objekt beim Setzen/Abfragen nicht in einem Spieler
+   sein.
+
+
+BEMERKUNGEN
+===========
+
+   Autoloadobjekte werden beim Ausloggen nicht fallengelassen!
+
+
+BEISPIELE
+=========
+
+   ## Variante 1: simples Objekt, bleibt einfach nur erhalten,
+   ##             Variablen werden nicht gesichert ##
+   void create() {
+    ...
+    SetProp(P_AUTOLOADOBJ,1);
+    ...
+   }
+
+
+   ## Variante 2: Speicherung mehrerer Variablen ueber
+   ##             P_AUTOLOADOBJ (elegante Verwaltung)
+
+   // ein paar #defines fuer die Plaetze in der Speichervariablen
+   #define MY_AL_SHORT    0
+   #define MY_AL_ATTRM    1
+   #define MY_AL_OWNER    2
+   #define MY_AL_DESTRUCT 3
+
+   // die Variablen, die erhalten bleiben sollen
+   static object owner;
+   static int destruct_time;
+
+   // diese hier wird gerufen, wenn der Spieler gespeichert wird,
+   // wir packen also alle aktuellen Variablen in eine und geben die
+   // zum Speichern heraus ... wir nehmen hier ein Array (statt
+   // zB eines Mappings), weil das am wenigsten Platz braucht
+   static mixed* _query_autoloadobj() {
+    mixed *ret;
+    ret=allocate(4);
+    ret[MY_AL_SHORT] = QueryProp(P_SHORT);      // SHORT merken
+    ret[MY_AL_ATTRM] = QueryProp(P_M_ATTR_MOD); // einen Modifikator merken
+    ret[MY_AL_OWNER] = getuid(owner);           // ah, ein Besitzer!
+    ret[MY_AL_DESTRUCT]=destruct_time-time();   // und eine Lebensdauer!
+
+    return ret;
+
+    /*
+    // normalerweise wuerde man das einfach so schreiben:
+    return (({QueryProp(P_SHORT),
+              QueryProp(P_M_ATTR_MOD),
+              getuid(owner),
+              destruct_time-time()}));
+    */
+   }
+
+   // diese hier wird gerufen, wenn das Objekt neu im Spieler
+   // erzeugt wurde (Login), also packen wir das Speicherarray wieder
+   // aus und in alle entsprechenden Variablen
+   static mixed* _set_autoloadobj(mixed *new) {
+    // wenn das Format nicht mit dem oben uebereinstimmt ist was
+    // schiefgelaufen
+    if(pointerp(new) && !owner && sizeof(new)>4 &&
+       (owner=find_player(new[MY_AL_OWNER]))) {
+     // los, zuweisen!
+
+     SetProp(P_SHORT,      new[MY_AL_SHORT]);
+     SetProp(P_M_ATTR_MOD, new[MY_AL_ATTRM]);
+     destruct_time=        time()+new[MY_AL_DESTRUCT];
+
+     call_out(#'remove,new[3]);
+    } else call_out(#'remove,0);
+
+    return new;
+   }
+
+
+   ## Variante 3: und das gleiche mit Set/Querymethoden ##
+   // Prototypen fuer Set und Query-Methoden -> man Set
+   static mixed *my_query_autoloadobj();
+   static mixed *my_set_autoloadobj(mixed *new);
+
+   void create() {
+    // Binden der Methoden
+    Set(P_AUTOLOADOBJ, #'my_query_autoloadobj, F_QUERY_METHOD);
+    Set(P_AUTOLOADOBJ, #'my_set_autoloadobj, F_SET_METHOD);
+
+    // die werden nur von mir veraendert!
+    Set(P_AUTOLOADOBJ, PROTECTED, F_MODE_AS);
+    ...
+   }
+
+   static mixed *my_query_autoloadobj () {
+     // s.o.
+   }
+
+   static mixed *my_set_autoloadobj (mixed *new) {
+     // s.o.
+   }
+
+
+SIEHE AUCH
+==========
+
+   P_AUTOLOAD, SetProp
 
 24.Aug.2006 Gloinson@MG
diff --git a/doc/props/P_AVATAR_URI b/doc/props/P_AVATAR_URI
index 3275399..0a2437c 100644
--- a/doc/props/P_AVATAR_URI
+++ b/doc/props/P_AVATAR_URI
@@ -1,22 +1,44 @@
-NAME:
-    P_AVATAR_URI                    "p_lib_avataruri"
 
-DEFINIERT IN:
-    /sys/living/description.h
+P_AVATAR_URI
+************
 
-BESCHREIBUNG:
-    Lebewesen speichern in der Prop P_AVATAR_URI eine URI (string), welche auf
-    ein Bild im Netz verweist, welches ein Client fuer dieses Lebewesen
-    anzeigen kann.
-    Spieler koennen diese Avatar-URI mit dem Befehl 'avatar' anzeigen,
-    aendern und loeschen.
-    Avatar-URIs anderer Spieler lassen sich mit 'finger -a' ausgeben.
 
-BEMERKUNGEN:
-    Diese Property kann nur vom Spieler oder einem EM modifiziert werden.
+NAME
+====
 
-SIEHE AUCH:
-    avatar
+   P_AVATAR_URI                    "p_lib_avataruri"
 
-LETZTER AENDERUNG:
-    03.9.2011, Zesstra
+
+DEFINIERT IN
+============
+
+   /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+   Lebewesen speichern in der Prop P_AVATAR_URI eine URI (string), welche auf
+   ein Bild im Netz verweist, welches ein Client fuer dieses Lebewesen
+   anzeigen kann.
+   Spieler koennen diese Avatar-URI mit dem Befehl 'avatar' anzeigen,
+   aendern und loeschen.
+   Avatar-URIs anderer Spieler lassen sich mit 'finger -a' ausgeben.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property kann nur vom Spieler oder einem EM modifiziert werden.
+
+
+SIEHE AUCH
+==========
+
+   avatar
+
+
+LETZTER AENDERUNG
+=================
+
+   03.9.2011, Zesstra
diff --git a/doc/props/P_AVERAGE_SIZE b/doc/props/P_AVERAGE_SIZE
index 4a61208..155528f 100644
--- a/doc/props/P_AVERAGE_SIZE
+++ b/doc/props/P_AVERAGE_SIZE
@@ -1,8 +1,21 @@
-NAME:
-    P_AVERAGE_SIZE                "average_size"                
 
-DEFINIERT IN:
-    /sys/player/description.h
+P_AVERAGE_SIZE
+**************
 
-BESCHREIBUNG:
-     Durchschnittliche Groesse eines Wesens dieser Rasse (derzeit nur Player)
+
+NAME
+====
+
+   P_AVERAGE_SIZE                "average_size"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/description.h
+
+
+BESCHREIBUNG
+============
+
+   Durchschnittliche Groesse eines Wesens dieser Rasse (derzeit nur Player)
diff --git a/doc/props/P_AVERAGE_WEIGHT b/doc/props/P_AVERAGE_WEIGHT
index 18557cc..d71c53b 100644
--- a/doc/props/P_AVERAGE_WEIGHT
+++ b/doc/props/P_AVERAGE_WEIGHT
@@ -1,8 +1,21 @@
-NAME:
-    P_AVERAGE_WEIGHT                "average_weight"
 
-DEFINIERT IN:
-    /sys/player/description.h
+P_AVERAGE_WEIGHT
+****************
 
-BESCHREIBUNG:
-     Durchschnittliche Gewicht eines Wesens dieser Rasse (derzeit nur Player)
+
+NAME
+====
+
+   P_AVERAGE_WEIGHT                "average_weight"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/description.h
+
+
+BESCHREIBUNG
+============
+
+   Durchschnittliche Gewicht eines Wesens dieser Rasse (derzeit nur Player)
diff --git a/doc/props/P_AWAY b/doc/props/P_AWAY
index ba2c938..5678440 100644
--- a/doc/props/P_AWAY
+++ b/doc/props/P_AWAY
@@ -1,8 +1,21 @@
-NAME:
-    P_AWAY                        "away"                        
 
-DEFINIERT IN:
-    /sys/properties.h
+P_AWAY
+******
 
-BESCHREIBUNG:
-     String der ausgegeben wird, wenn man weg ist und eine Mitteilung bekommt.
+
+NAME
+====
+
+   P_AWAY                        "away"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   String der ausgegeben wird, wenn man weg ist und eine Mitteilung bekommt.
diff --git a/doc/props/P_BAD_MSG b/doc/props/P_BAD_MSG
index e067f2a..7015a9c 100644
--- a/doc/props/P_BAD_MSG
+++ b/doc/props/P_BAD_MSG
@@ -1,27 +1,48 @@
-NAME:
-     P_BAD_MSG                     "std_food_bad_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_BAD_MSG
+*********
 
-BESCHREIBUNG:
-     Meldung, wenn eine Speise gerade verdirbt.
-     Befindet sich die Speise in einem Spieler, geht die Meldung an genau
-     diesen, liegt die Speise im Raum, geht die Meldung an alle anwesenden
-     Spieler.
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "@WER1 verdirbt."
 
-SIEHE AUCH:
-     P_LIFETIME, P_RESET_LIFETIME, P_NO_BAD,
-     wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_BAD_MSG                     "std_food_bad_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung, wenn eine Speise gerade verdirbt.
+   Befindet sich die Speise in einem Spieler, geht die Meldung an genau
+   diesen, liegt die Speise im Raum, geht die Meldung an alle anwesenden
+   Spieler.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "@WER1 verdirbt."
+
+
+SIEHE AUCH
+==========
+
+   P_LIFETIME, P_RESET_LIFETIME, P_NO_BAD,
+   wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_BLIND b/doc/props/P_BLIND
index a80814b..da86624 100644
--- a/doc/props/P_BLIND
+++ b/doc/props/P_BLIND
@@ -1,35 +1,56 @@
-NAME:
-    P_BLIND                       "blind"                       
 
-DEFINIERT IN:
-    /sys/player/viewcmd.h
+P_BLIND
+*******
 
-BESCHREIBUNG:
-    1, wenn der Spieler blind ist und nichts mehr sehen kann.
 
-    Wird von CannotSee() bei 'schau' und Betreten von Raeumen 
-    u.ae. ausgewertet.
+NAME
+====
 
-    P_BLIND kann auch auf einen String gesetzt werden, der 
-    dann statt des 'Du bist blind' ausgegeben wird.
+   P_BLIND                       "blind"
 
-BEISPIELE:
 
-    this_player()->SetProp(P_BLIND,1);
+DEFINIERT IN
+============
 
-    this_player()->SetProp(P_BLIND,"Du hast Dir vorhin so schoen die "
-                                  +"Augen ausgekratzt ... deswegen "
-                                  +"siehst Du nun nichts mehr.\n");    
-BEMERKUNGEN:
-    Um herauszufinden, ob ein Spieler etwas sehen kann oder nicht,
-    sollte man lieber if(this_player()->CannotSee() != 0) pruefen
-    statt if(this_player()->QueryProp(P_BLIND)).
+   /sys/player/viewcmd.h
 
-    Denn CannotSee() beruecksichtigt auch Nachtsicht (bzw. hier 
-    eine nicht aktivierte) und die Lichtmodifikatoren.
 
-SIEHE AUCH:
-    P_LIGHT_MODIFIER, P_PLAYER_LIGHT, CannotSee
+BESCHREIBUNG
+============
 
-----------------------------------------------------------------------------
+   1, wenn der Spieler blind ist und nichts mehr sehen kann.
+
+   Wird von CannotSee() bei 'schau' und Betreten von Raeumen
+   u.ae. ausgewertet.
+
+   P_BLIND kann auch auf einen String gesetzt werden, der
+   dann statt des 'Du bist blind' ausgegeben wird.
+
+
+BEISPIELE
+=========
+
+   this_player()->SetProp(P_BLIND,1);
+
+   this_player()->SetProp(P_BLIND,"Du hast Dir vorhin so schoen die "
+                                 +"Augen ausgekratzt ... deswegen "
+                                 +"siehst Du nun nichts mehr.\n");
+
+
+BEMERKUNGEN
+===========
+
+   Um herauszufinden, ob ein Spieler etwas sehen kann oder nicht,
+   sollte man lieber if(this_player()->CannotSee() != 0) pruefen
+   statt if(this_player()->QueryProp(P_BLIND)).
+
+   Denn CannotSee() beruecksichtigt auch Nachtsicht (bzw. hier
+   eine nicht aktivierte) und die Lichtmodifikatoren.
+
+
+SIEHE AUCH
+==========
+
+   P_LIGHT_MODIFIER, P_PLAYER_LIGHT, CannotSee
+
 Letzte Aenderung: Sa 02.11.02, 00:30:00 Uhr, von Tilly
diff --git a/doc/props/P_BODY b/doc/props/P_BODY
index 7d04581..5871adb 100644
--- a/doc/props/P_BODY
+++ b/doc/props/P_BODY
@@ -1,9 +1,22 @@
-NAME:
-    P_BODY                        "body"                        
 
-DEFINIERT IN:
-    /sys/properties.h
+P_BODY
+******
 
-BESCHREIBUNG:
-     Numerischer Wert fuer die Abwehrstaerke des blanken Koerpers
-     des Wesens.
+
+NAME
+====
+
+   P_BODY                        "body"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert fuer die Abwehrstaerke des blanken Koerpers
+   des Wesens.
diff --git a/doc/props/P_BRIEF b/doc/props/P_BRIEF
index 33ef486..f6d3769 100644
--- a/doc/props/P_BRIEF
+++ b/doc/props/P_BRIEF
@@ -1,8 +1,21 @@
-NAME:
-    P_BRIEF                       "brief"                       
 
-DEFINIERT IN:
-    /sys/player/viewcmd.h
+P_BRIEF
+*******
 
-BESCHREIBUNG:
-     Ist gesetzt, wenn der Spieler nur die Kurzbeschreibung sehen will.
+
+NAME
+====
+
+   P_BRIEF                       "brief"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/viewcmd.h
+
+
+BESCHREIBUNG
+============
+
+   Ist gesetzt, wenn der Spieler nur die Kurzbeschreibung sehen will.
diff --git a/doc/props/P_BUFFER b/doc/props/P_BUFFER
index 268f719..699f91c 100644
--- a/doc/props/P_BUFFER
+++ b/doc/props/P_BUFFER
@@ -1,9 +1,21 @@
-NAME:
-    P_BUFFER                      "buffer"                      
 
-DEFINIERT IN:
-    /sys/player/comm.h
+P_BUFFER
+********
 
-BESCHREIBUNG:
-    Zeigt an, ob der Kobold des Spielers aktiv oder nicht aktiv ist.
 
+NAME
+====
+
+   P_BUFFER                      "buffer"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+   Zeigt an, ob der Kobold des Spielers aktiv oder nicht aktiv ist.
diff --git a/doc/props/P_BUY_ONLY_PLANTS b/doc/props/P_BUY_ONLY_PLANTS
index 46747c4..0d15a94 100644
--- a/doc/props/P_BUY_ONLY_PLANTS
+++ b/doc/props/P_BUY_ONLY_PLANTS
@@ -1,15 +1,31 @@
-NAME:
-    P_BUY_ONLY_PLANTS              "lib_p_buy_only_plants"
 
-DEFINIERT IN:
-    /sys/room/description.h
+P_BUY_ONLY_PLANTS
+*****************
 
-BESCHREIBUNG:
-    Diese Property kann auf 1 gesetzt werden, wenn ein Laden nur Kraeuter
-    ankaufen darf. Hierzu muss /std/room/kraeuterladen.c geerbt werden,
-    da nur dieses Objekt die Property beruecksichtigt.
 
-SIEHE AUCH:
-    /std/room/kraeuterladen.c
-----------------------------------------------------------------------------
-Last modified: 02.04.2015 Arathorn 
+NAME
+====
+
+   P_BUY_ONLY_PLANTS              "lib_p_buy_only_plants"
+
+
+DEFINIERT IN
+============
+
+   /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property kann auf 1 gesetzt werden, wenn ein Laden nur Kraeuter
+   ankaufen darf. Hierzu muss /std/room/kraeuterladen.c geerbt werden,
+   da nur dieses Objekt die Property beruecksichtigt.
+
+
+SIEHE AUCH
+==========
+
+   /std/room/kraeuterladen.c
+
+Last modified: 02.04.2015 Arathorn
diff --git a/doc/props/P_CALLED_FROM_IP b/doc/props/P_CALLED_FROM_IP
index d9427d2..306241c 100644
--- a/doc/props/P_CALLED_FROM_IP
+++ b/doc/props/P_CALLED_FROM_IP
@@ -1,8 +1,21 @@
-NAME:
-    P_CALLED_FROM_IP              "called_from_ip"              
 
-DEFINIERT IN:
-    /sys/properties.h
+P_CALLED_FROM_IP
+****************
 
-BESCHREIBUNG:
-     Letzte IP-Adr, von der aus sich der Spieler eingeloggt hat.
+
+NAME
+====
+
+   P_CALLED_FROM_IP              "called_from_ip"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Letzte IP-Adr, von der aus sich der Spieler eingeloggt hat.
diff --git a/doc/props/P_CAN_FLAGS b/doc/props/P_CAN_FLAGS
index ba3eb2a..06afe76 100644
--- a/doc/props/P_CAN_FLAGS
+++ b/doc/props/P_CAN_FLAGS
@@ -1,9 +1,22 @@
-NAME:
-    P_CAN_FLAGS                   "can_flags"                   
 
-DEFINIERT IN:
-    /sys/player/can.h
+P_CAN_FLAGS
+***********
 
-BESCHREIBUNG:
-    Flags die bestimmte Befehle freischalten:
-    CAN_EMOTE, CAN_ECHO, CAN_REMOTE, CAN_PRESAY
+
+NAME
+====
+
+   P_CAN_FLAGS                   "can_flags"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/can.h
+
+
+BESCHREIBUNG
+============
+
+   Flags die bestimmte Befehle freischalten:
+   CAN_EMOTE, CAN_ECHO, CAN_REMOTE, CAN_PRESAY
diff --git a/doc/props/P_CAP_NAME b/doc/props/P_CAP_NAME
index 7fbe408..0069948 100644
--- a/doc/props/P_CAP_NAME
+++ b/doc/props/P_CAP_NAME
@@ -1,9 +1,22 @@
-NAME:
-    P_CAP_NAME                    "cap_name"                    
 
-DEFINIERT IN:
-    /sys/properties.h
+P_CAP_NAME
+**********
 
-BESCHREIBUNG:
-     Name des Spielers, der dekliniert und ausgegen wird.
-     NOT YET IMPLEMENTED.
+
+NAME
+====
+
+   P_CAP_NAME                    "cap_name"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Name des Spielers, der dekliniert und ausgegen wird.
+   NOT YET IMPLEMENTED.
diff --git a/doc/props/P_CARRIED_VALUE b/doc/props/P_CARRIED_VALUE
index 7df9b63..8792664 100644
--- a/doc/props/P_CARRIED_VALUE
+++ b/doc/props/P_CARRIED_VALUE
@@ -1,8 +1,21 @@
-NAME:
-    P_CARRIED_VALUE               "carried"                     
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_CARRIED_VALUE
+***************
 
-BESCHREIBUNG:
-     Entschaedigung, die der Spieler beim Einloggen erhaelt.
+
+NAME
+====
+
+   P_CARRIED_VALUE               "carried"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Entschaedigung, die der Spieler beim Einloggen erhaelt.
diff --git a/doc/props/P_CHATS b/doc/props/P_CHATS
index 633cdea..51e1a5e 100644
--- a/doc/props/P_CHATS
+++ b/doc/props/P_CHATS
@@ -1,8 +1,21 @@
-NAME:
-    P_CHATS                       "chats"                       
 
-DEFINIERT IN:
-    /sys/properties.h
+P_CHATS
+*******
 
-BESCHREIBUNG:
-     Alist mit Strings, die das Monster zufaellig ausgibt.
+
+NAME
+====
+
+   P_CHATS                       "chats"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Alist mit Strings, die das Monster zufaellig ausgibt.
diff --git a/doc/props/P_CHAT_CHANCE b/doc/props/P_CHAT_CHANCE
index b6acf08..bd032bf 100644
--- a/doc/props/P_CHAT_CHANCE
+++ b/doc/props/P_CHAT_CHANCE
@@ -1,8 +1,21 @@
-NAME:
-    P_CHAT_CHANCE                 "chat_chance"                 
 
-DEFINIERT IN:
-    /sys/properties.h
+P_CHAT_CHANCE
+*************
 
-BESCHREIBUNG:
-     Wahrscheinlichkeit, mit der die Chats ausgegeben werden.
+
+NAME
+====
+
+   P_CHAT_CHANCE                 "chat_chance"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wahrscheinlichkeit, mit der die Chats ausgegeben werden.
diff --git a/doc/props/P_CLASS b/doc/props/P_CLASS
index e074394..80017cc 100644
--- a/doc/props/P_CLASS
+++ b/doc/props/P_CLASS
@@ -1,19 +1,33 @@
+
 P_CLASS
-NAME:
-     P_CLASS						"class"
+*******
 
-DEFINIERT IN:
-     <thing/description.h>
 
-BESCHREIBUNG:
-     Die Klassifizierung eines Objektes, soweit sie nicht schon ueber die 
-     Rasse oder die IDs des Objektes erfolgt ist. Zum Setzen dieser Property 
-     sollte man AddClass() benutzen, zur Klassenabfrage steht 
-     is_class_member() zur Verfuegung.
-     Die moeglichen Klassen findet man in /sys/class.h
+NAME
+====
 
-SIEHE AUCH:
-     AddClass(), RemoveClass(), is_class_member()
+   P_CLASS                                            "class"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   <thing/description.h>
+
+
+BESCHREIBUNG
+============
+
+   Die Klassifizierung eines Objektes, soweit sie nicht schon ueber die
+   Rasse oder die IDs des Objektes erfolgt ist. Zum Setzen dieser Property
+   sollte man AddClass() benutzen, zur Klassenabfrage steht
+   is_class_member() zur Verfuegung.
+   Die moeglichen Klassen findet man in /sys/class.h
+
+
+SIEHE AUCH
+==========
+
+   AddClass(), RemoveClass(), is_class_member()
+
 Last modified: Sun May 19 20:30:09 1996 by Wargon
diff --git a/doc/props/P_CLOCKMSG b/doc/props/P_CLOCKMSG
index 8b72d68..6f85b56 100644
--- a/doc/props/P_CLOCKMSG
+++ b/doc/props/P_CLOCKMSG
@@ -1,8 +1,21 @@
-NAME:
-    P_CLOCKMSG                    "clockmsg"                    
 
-DEFINIERT IN:
-    /sys/properties.h
+P_CLOCKMSG
+**********
 
-BESCHREIBUNG:
-     Die Meldung wird zur vollen Stunde ausgegeben
+
+NAME
+====
+
+   P_CLOCKMSG                    "clockmsg"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Die Meldung wird zur vollen Stunde ausgegeben
diff --git a/doc/props/P_CLONER b/doc/props/P_CLONER
index 659b614..75e9d02 100644
--- a/doc/props/P_CLONER
+++ b/doc/props/P_CLONER
@@ -1,12 +1,28 @@
-NAME:
-    P_CLONER                      "cloner"                      
 
-DEFINIERT IN:
-    /sys/properties.h
+P_CLONER
+********
 
-BESCHREIBUNG:
-     Enthaelt einen String mit dem Namen desjenigen, der das Objekt gecloned 
-     hat.
 
-SIEHE AUCH:
-     P_CLONE_TIME
+NAME
+====
+
+   P_CLONER                      "cloner"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt einen String mit dem Namen desjenigen, der das Objekt gecloned
+   hat.
+
+
+SIEHE AUCH
+==========
+
+   P_CLONE_TIME
diff --git a/doc/props/P_CLONE_MSG b/doc/props/P_CLONE_MSG
index d9c96a2..d16f42e 100644
--- a/doc/props/P_CLONE_MSG
+++ b/doc/props/P_CLONE_MSG
@@ -1,8 +1,21 @@
-NAME:
-    P_CLONE_MSG                   "clone_msg"                   
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_CLONE_MSG
+***********
 
-BESCHREIBUNG:
-     Meldung, die beim Clonen eines Obj ausgegegen wird (nur Magier)
+
+NAME
+====
+
+   P_CLONE_MSG                   "clone_msg"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Meldung, die beim Clonen eines Obj ausgegegen wird (nur Magier)
diff --git a/doc/props/P_CLONE_TIME b/doc/props/P_CLONE_TIME
index a904846..fb7c3e5 100644
--- a/doc/props/P_CLONE_TIME
+++ b/doc/props/P_CLONE_TIME
@@ -1,14 +1,30 @@
-NAME:
-    P_CLONE_TIME                   "clone_time"                      
 
-DEFINIERT IN:
-    /sys/thing/description.h
+P_CLONE_TIME
+************
 
-BESCHREIBUNG:
-     Enthaelt die Clone-Time eines Objektes.
-     Heutzutage obsolet, bitte stattdessen lieber die Efun object_time()
-     benutzen.
 
-SIEHE AUCH:
-     Verwandt: object_time(E)
-     Aehnlich: program_time(E)
+NAME
+====
+
+   P_CLONE_TIME                   "clone_time"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt die Clone-Time eines Objektes.
+   Heutzutage obsolet, bitte stattdessen lieber die Efun object_time()
+   benutzen.
+
+
+SIEHE AUCH
+==========
+
+   Verwandt: object_time(E)
+   Aehnlich: program_time(E)
diff --git a/doc/props/P_CLOTHING b/doc/props/P_CLOTHING
index 793f098..3458058 100644
--- a/doc/props/P_CLOTHING
+++ b/doc/props/P_CLOTHING
@@ -1,22 +1,42 @@
+
+P_CLOTHING
+**********
+
+
 P_CLOTHINGS
+===========
 
-NAME:
-     P_CLOTHING                     "std:clothing"
 
-DEFINIERT IN:
-     <living/clothing.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Array mit der getragenen nicht-schuetzenden Kleidung des Lebewesen.
-     
-     Falls ihr die Kleidung des Lebewesens, ggf. mit bestimten Kriterien,
-     ermitteln wollt, benutzt hierfuer bitte die Funktion FilterClothing()
-     statt selber ueber dieses Array zu laufen.
+   P_CLOTHING                     "std:clothing"
 
-     Diese Property kann nur vom Lebewesen selber beschrieben werden.
-     
-SIEHE AUCH:
-     Verwandt:		QueryArmourByType(L), FilterClothing(), FilterArmours()
-                  Wear(), Unwear(), P_ARMOURS
+
+DEFINIERT IN
+============
+
+   <living/clothing.h>
+
+
+BESCHREIBUNG
+============
+
+   Array mit der getragenen nicht-schuetzenden Kleidung des Lebewesen.
+
+
+
+   Falls ihr die Kleidung des Lebewesens, ggf. mit bestimten Kriterien,
+   ermitteln wollt, benutzt hierfuer bitte die Funktion FilterClothing()
+   statt selber ueber dieses Array zu laufen.
+
+   Diese Property kann nur vom Lebewesen selber beschrieben werden.
+
+
+SIEHE AUCH
+==========
+
+   Verwandt:          QueryArmourByType(L), FilterClothing(), FilterArmours()
+                Wear(), Unwear(), P_ARMOURS
 
 14.03.2009, Zesstra
diff --git a/doc/props/P_CMSG b/doc/props/P_CMSG
index 9001722..e38f085 100644
--- a/doc/props/P_CMSG
+++ b/doc/props/P_CMSG
@@ -1,8 +1,21 @@
-NAME:
-    P_CMSG                        "clonemsg"                    
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_CMSG
+******
 
-BESCHREIBUNG:
-     *** OBSOLET! *** Siehe P_CLONE_MSG
+
+NAME
+====
+
+   P_CMSG                        "clonemsg"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   *** OBSOLET! *** Siehe P_CLONE_MSG
diff --git a/doc/props/P_CNT_STATUS b/doc/props/P_CNT_STATUS
index cd92324..5bcc584 100644
--- a/doc/props/P_CNT_STATUS
+++ b/doc/props/P_CNT_STATUS
@@ -1,9 +1,22 @@
-NAME:
-    P_CNT_STATUS                  "cnt_status"                  
 
-DEFINIERT IN:
-    /sys/container.h
+P_CNT_STATUS
+************
 
-BESCHREIBUNG:
-     Status des Containers (offen, geschlossen, abgeschlossen)
-     siehe auch /sys/container.h
+
+NAME
+====
+
+   P_CNT_STATUS                  "cnt_status"
+
+
+DEFINIERT IN
+============
+
+   /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+   Status des Containers (offen, geschlossen, abgeschlossen)
+   siehe auch /sys/container.h
diff --git a/doc/props/P_COMBATCMDS b/doc/props/P_COMBATCMDS
index c29a65f..e82336a 100644
--- a/doc/props/P_COMBATCMDS
+++ b/doc/props/P_COMBATCMDS
@@ -1,31 +1,44 @@
-NAME:
-    P_COMBATCMDS                  "combatcmds"                  
 
-DEFINIERT IN:
-    /sys/properties.h
+P_COMBATCMDS
+************
 
-BESCHREIBUNG:
-     Fuer den Kampf gebrauchbare Befehle spezieller Objekte (damit auch
-     Monster sie automatisch richtig anwenden koennen)
-     Der Inhalt von P_COMBATCMDS ist ein Mapping, der Key ist das Kommando,
-     um den Gegenstand zu benutzen (also z.B. "wirf flammenkugel"), und der
-     Value ein weiteres Mapping mit Zusatzinfos (definiert in /sys/combat.h).
-     Folgende Keys sind definiert:
-     - C_MIN, C_AVG, C_MAX:
-       minimaler, mittlerer und maximaler Schaden, den das
-       Objekt macht. Alle Angaben in LEBENSPUNKTEN, d.h. Defend-Einheiten/10.
-       Bei einem Aufruf wie 'enemy->Defend(200+random(200), ...)' ist dann
-       C_MIN=20, C_AVG=30, C_MAX=40.
-     - C_DTYPES:
-       Array mit dem Schadenstyp oder den Schadenstypen. Beim Eisstab
-       wuerde der Eintrag dann 'C_DTYPES:({DT_COLD})' lauten.
-     - C_HEAL:
-       Sollte das Kampfobjekt ueber die Moeglichkeit verfuegen, den Anwender
-       irgendwie zu heilen, so wird hier die Heilung in LP/MP eingetragen.
-       Das funktioniert auch bei Objekten, die nur heilen, also sonst
-       nichts mit Kampf zu tun haben.
-       Im Lupinental z.B. gibt es Pfirsiche, die beim Essen 5LP heilen. Da
-       kann man dann 'SetProp(P_COMBATCMDS, (["iss pfirsich":([C_HEAL:5])]))'
-       eintragen.
-     Es sind auch mehrere Kommandos moeglich, z.B. bei Objekten, die sowohl
-     heilen als auch Kampfwirkung haben.
+
+NAME
+====
+
+   P_COMBATCMDS                  "combatcmds"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Fuer den Kampf gebrauchbare Befehle spezieller Objekte (damit auch
+   Monster sie automatisch richtig anwenden koennen)
+   Der Inhalt von P_COMBATCMDS ist ein Mapping, der Key ist das Kommando,
+   um den Gegenstand zu benutzen (also z.B. "wirf flammenkugel"), und der
+   Value ein weiteres Mapping mit Zusatzinfos (definiert in /sys/combat.h).
+   Folgende Keys sind definiert:
+   - C_MIN, C_AVG, C_MAX:
+     minimaler, mittlerer und maximaler Schaden, den das
+     Objekt macht. Alle Angaben in LEBENSPUNKTEN, d.h. Defend-Einheiten/10.
+     Bei einem Aufruf wie 'enemy->Defend(200+random(200), ...)' ist dann
+     C_MIN=20, C_AVG=30, C_MAX=40.
+   - C_DTYPES:
+     Array mit dem Schadenstyp oder den Schadenstypen. Beim Eisstab
+     wuerde der Eintrag dann 'C_DTYPES:({DT_COLD})' lauten.
+   - C_HEAL:
+     Sollte das Kampfobjekt ueber die Moeglichkeit verfuegen, den Anwender
+     irgendwie zu heilen, so wird hier die Heilung in LP/MP eingetragen.
+     Das funktioniert auch bei Objekten, die nur heilen, also sonst
+     nichts mit Kampf zu tun haben.
+     Im Lupinental z.B. gibt es Pfirsiche, die beim Essen 5LP heilen. Da
+     kann man dann 'SetProp(P_COMBATCMDS, (["iss pfirsich":([C_HEAL:5])]))'
+     eintragen.
+   Es sind auch mehrere Kommandos moeglich, z.B. bei Objekten, die sowohl
+   heilen als auch Kampfwirkung haben.
diff --git a/doc/props/P_COMMANDS b/doc/props/P_COMMANDS
index d0ff99b..5812b35 100644
--- a/doc/props/P_COMMANDS
+++ b/doc/props/P_COMMANDS
@@ -1,58 +1,76 @@
+
 P_COMMANDS
-NAME:
-     P_COMMANDS "commands"
+**********
 
-DEFINIERT IN:
-     <thing/commands.h>
 
-BESCHREIBUNG:
-     Diese Property enthaelt ein Mapping mit den Befehlen, die dem Objekt
-     zugeordnet sind.
+NAME
+====
 
-     Sie sollte nicht von Hand manipuliert werden, sondern nur ueber die
-     Funktionen AddCmd() und RemoveCmd().
+   P_COMMANDS "commands"
 
-     Das Mapping hat folgenden Aufbau:
 
-     ([ befehl : ({funktion1,...});
-                 ({flag1,...});
-                 ({regel1,...});
-                 ({id1, ...}),
-                 ({closure auf fun1, ...}),
-        ... ])
+DEFINIERT IN
+============
 
-     Die Eintraege entsprechen den Parametern des AddCmd()-Aufrufs, sind
-     aber in anderer Form. Als Beispiel:
+   <thing/commands.h>
 
-     AddCmd(verb,fun1,1);
-     AddCmd(verb+syn1a|syn1b&syn2a|syn2b|syn2c, fun2,
-            error1_notify|error2_notify^error2_write);
-     -->
-     ([verb:
-        ({fun1,fun2});                                        // funs
-        ({1,({error1_notify, error2_write^error2_say, 1})});  // flags
-        ({0,({({syn1a,syn1b}),({syn2a,syn2b,syn2c})})});      // rules
-        0;                                                    // IDs
-        ({closure auf fun1, closure auf fun2}) ])             // Cache
 
-     Funs:  ({<fun1> ,...
-              'fun' kann sein: Closure
-                               String: Methodenname - wird etwas geprueft
-                               Objekt: wenn keine Methode, this_object() fuer
-                                       intern, previous_object() fuer extern
-                               0 (erloschenes externes Objekt)
-     Rules: ({<Regelsatz fuer fun1>, ({<1. Synonymgruppe>,
-                                       <2. Synonymgruppe, ...}), ...})
-     Flags: ({<Flag fuer fun1>, ({<Fehlermeldung 1. Synonymgruppe>, ... ,
-                                  [, Index fuer write anstatt notify_fail]}),
-             ... })
-     IDs:   0 oder ({<ID fuer fun1>}) oder ({0, <ID fuer fun2>}) ...
-     Cache: ({<closure fuer fun1>, ...
+BESCHREIBUNG
+============
 
-BEMERKUNGEN:
-     Cache-Closures sind bei Export immer genullt
+   Diese Property enthaelt ein Mapping mit den Befehlen, die dem Objekt
+   zugeordnet sind.
 
-SIEHE AUCH:
-     /std/thing/commands.c, AddCmd(), RemoveCmd()
+   Sie sollte nicht von Hand manipuliert werden, sondern nur ueber die
+   Funktionen AddCmd() und RemoveCmd().
 
-16. Dez 2016 Gloinson
\ No newline at end of file
+   Das Mapping hat folgenden Aufbau:
+
+   ([ befehl : ({funktion1,...});
+               ({flag1,...});
+               ({regel1,...});
+               ({id1, ...}),
+               ({closure auf fun1, ...}),
+      ... ])
+
+   Die Eintraege entsprechen den Parametern des AddCmd()-Aufrufs, sind
+   aber in anderer Form. Als Beispiel:
+
+   AddCmd(verb,fun1,1);
+   AddCmd(verb+syn1a|syn1b&syn2a|syn2b|syn2c, fun2,
+          error1_notify|error2_notify^error2_write);
+   -->
+   ([verb:
+      ({fun1,fun2});                                        // funs
+      ({1,({error1_notify, error2_write^error2_say, 1})});  // flags
+      ({0,({({syn1a,syn1b}),({syn2a,syn2b,syn2c})})});      // rules
+      0;                                                    // IDs
+      ({closure auf fun1, closure auf fun2}) ])             // Cache
+
+   Funs:  ({<fun1> ,...
+            'fun' kann sein: Closure
+                             String: Methodenname - wird etwas geprueft
+                             Objekt: wenn keine Methode, this_object() fuer
+                                     intern, previous_object() fuer extern
+                             0 (erloschenes externes Objekt)
+   Rules: ({<Regelsatz fuer fun1>, ({<1. Synonymgruppe>,
+                                     <2. Synonymgruppe, ...}), ...})
+   Flags: ({<Flag fuer fun1>, ({<Fehlermeldung 1. Synonymgruppe>, ... ,
+                                [, Index fuer write anstatt notify_fail]}),
+           ... })
+   IDs:   0 oder ({<ID fuer fun1>}) oder ({0, <ID fuer fun2>}) ...
+   Cache: ({<closure fuer fun1>, ...
+
+
+BEMERKUNGEN
+===========
+
+   Cache-Closures sind bei Export immer genullt
+
+
+SIEHE AUCH
+==========
+
+   /std/thing/commands.c, AddCmd(), RemoveCmd()
+
+16. Dez 2016 Gloinson
diff --git a/doc/props/P_COMPILER_PATH b/doc/props/P_COMPILER_PATH
index ecd2743..e67d01f 100644
--- a/doc/props/P_COMPILER_PATH
+++ b/doc/props/P_COMPILER_PATH
@@ -1,21 +1,40 @@
-NAME:
-    P_COMPILER_PATH               "compiler_path"               
 
-DEFINIERT IN:
-    /sys/v_compiler.h
+P_COMPILER_PATH
+***************
 
-BESCHREIBUNG:
-    Directory in dem ein Virtual Compiler Objekte erzeugt.
-    Muss im virtual_compiler.c gesetzt werden.
 
-    Der VirtualCompiler muss nicht zwingend in diesem Verzeichnis
-    liegen, um zu funktionieren, sollte es aber, um die Zuordnung des VCs zu
-    "seinen" Objekten zu erleichern.
+NAME
+====
 
-BEISPIEL:
-    SetProp(P_COMPILER_PATH,"/d/region/magier/vc/");
+   P_COMPILER_PATH               "compiler_path"
 
-SIEHE AUCH:
-    P_STD_OBJECT, virtual_compiler
--------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/v_compiler.h
+
+
+BESCHREIBUNG
+============
+
+   Directory in dem ein Virtual Compiler Objekte erzeugt.
+   Muss im virtual_compiler.c gesetzt werden.
+
+   Der VirtualCompiler muss nicht zwingend in diesem Verzeichnis
+   liegen, um zu funktionieren, sollte es aber, um die Zuordnung des VCs zu
+   "seinen" Objekten zu erleichern.
+
+
+BEISPIEL
+========
+
+   SetProp(P_COMPILER_PATH,"/d/region/magier/vc/");
+
+
+SIEHE AUCH
+==========
+
+   P_STD_OBJECT, virtual_compiler
+
 Letzte Aenderung: 23.10.2007, von Zesstra
diff --git a/doc/props/P_CONSUME_MSG b/doc/props/P_CONSUME_MSG
index 8b8a05a..0300037 100644
--- a/doc/props/P_CONSUME_MSG
+++ b/doc/props/P_CONSUME_MSG
@@ -1,24 +1,45 @@
-NAME:
-     P_CONSUME_MSG                 "std_food_consume_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_CONSUME_MSG
+*************
 
-BESCHREIBUNG:
-     Meldung an den Raum exklusive Konsument, wenn eine Speise konsumiert
-     wird.
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "@WER2 konsumiert @WEN1."
 
-SIEHE AUCH:
-     /std/food.c, wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_CONSUME_MSG                 "std_food_consume_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Raum exklusive Konsument, wenn eine Speise konsumiert
+   wird.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "@WER2 konsumiert @WEN1."
+
+
+SIEHE AUCH
+==========
+
+   /std/food.c, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_CONTAINER b/doc/props/P_CONTAINER
index ed15ca5..e779f75 100644
--- a/doc/props/P_CONTAINER
+++ b/doc/props/P_CONTAINER
@@ -1,8 +1,21 @@
-NAME:
-    P_CONTAINER                   "container"                   
 
-DEFINIERT IN:
-    /sys/properties.h
+P_CONTAINER
+***********
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_CONTAINER                   "container"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_CONTENTS b/doc/props/P_CONTENTS
index 1212da7..fc9f20e 100644
--- a/doc/props/P_CONTENTS
+++ b/doc/props/P_CONTENTS
@@ -1,8 +1,21 @@
-NAME:
-    P_CONTENTS                    "contents"                    
 
-DEFINIERT IN:
-    /sys/container.h
+P_CONTENTS
+**********
 
-BESCHREIBUNG:
-     *** OBSOLET! ***
+
+NAME
+====
+
+   P_CONTENTS                    "contents"
+
+
+DEFINIERT IN
+============
+
+   /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+   *** OBSOLET! ***
diff --git a/doc/props/P_CORPSE b/doc/props/P_CORPSE
index bcb0ab6..762f03c 100644
--- a/doc/props/P_CORPSE
+++ b/doc/props/P_CORPSE
@@ -1,25 +1,43 @@
-NAME:
-    P_CORPSE		"corpse"
 
-DEFINIERT IN:
-    /sys/properties.h
+P_CORPSE
+********
 
-BESCHREIBUNG:
-    Hier kann man angeben, welche Art von Leiche beim Tod des NPCs
-    hinterlassen wird. Damit die Leiche auf dem Moerder-Kanal senden
-    kann, muss das Leichen-Objekt /std/corpse sein oder erben.
 
-BEISPIELE:
-    Die uebliche Standardleiche befindet sich unter "/std/corpse.c",
-    welches auch die Defaulteinstellung fuer diese Property darstellt:
-      SetProp(P_CORPSE,"/std/corpse");
-    Man koennte aber auch einen Zombie entstehen lassen:
-      SetProp(P_CORPSE,PATH("zombie"));
-    PATH kennzeichnet hierbei den Pfad, unter welchem "zombie.c" zu
-    finden ist.
+NAME
+====
 
-SIEHE AUCH:
-    P_NOCORPSE, P_ZAP_MSG, P_DIE_MSG, P_MURDER_MSG, P_KILL_MSG
+   P_CORPSE            "corpse"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Hier kann man angeben, welche Art von Leiche beim Tod des NPCs
+   hinterlassen wird. Damit die Leiche auf dem Moerder-Kanal senden
+   kann, muss das Leichen-Objekt /std/corpse sein oder erben.
+
+
+BEISPIELE
+=========
+
+   Die uebliche Standardleiche befindet sich unter "/std/corpse.c",
+   welches auch die Defaulteinstellung fuer diese Property darstellt:
+     SetProp(P_CORPSE,"/std/corpse");
+   Man koennte aber auch einen Zombie entstehen lassen:
+     SetProp(P_CORPSE,PATH("zombie"));
+   PATH kennzeichnet hierbei den Pfad, unter welchem "zombie.c" zu
+   finden ist.
+
+
+SIEHE AUCH
+==========
+
+   P_NOCORPSE, P_ZAP_MSG, P_DIE_MSG, P_MURDER_MSG, P_KILL_MSG
+
 Last modified: Mon Apr 07 11:02:06 2003 by Mandragon
diff --git a/doc/props/P_CURRENTDIR b/doc/props/P_CURRENTDIR
index 87bbd5c..b1dc2a4 100644
--- a/doc/props/P_CURRENTDIR
+++ b/doc/props/P_CURRENTDIR
@@ -1,15 +1,28 @@
-NAME:
-    P_CURRENTDIR                  "currentdir"
 
-DEFINIERT IN:
-    /sys/shells.h
+P_CURRENTDIR
+************
 
-BESCHREIBUNG:
-    Momentanes Verzeichnis in dem der Magier ist.
-    (nur fuer Magier von Belang)
+
+NAME
+====
+
+   P_CURRENTDIR                  "currentdir"
+
+
+DEFINIERT IN
+============
+
+   /sys/shells.h
+
+
+BESCHREIBUNG
+============
+
+   Momentanes Verzeichnis in dem der Magier ist.
+   (nur fuer Magier von Belang)
 
 Siehe auch:
-    P_CURRENTDIR
+   P_CURRENTDIR
 
 Letzte Aenderung:
-    03.06.2015, Bugfix
+   03.06.2015, Bugfix
diff --git a/doc/props/P_CURSED b/doc/props/P_CURSED
index 9253890..c3a9061 100644
--- a/doc/props/P_CURSED
+++ b/doc/props/P_CURSED
@@ -1,39 +1,56 @@
+
 P_CURSED
+********
 
-NAME:
-     P_CURSED "cursed"
 
-DEFINIERT IN:
-     <properties.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Ruestungen und Waffen, die sich, einmal angezogen bzw. gezueckt, nicht
-     wieder entfernen lassen sollen, kann man ueber diese Property
-     realisieren. Die Waffe oder Ruestung hat dann in der Regel negative
-     Auswirkungen auf den Traeger...
+   P_CURSED "cursed"
 
-     Setzt man diese Property auf eine Zahl ungleich 0, so bekommt man bei
-     dem Versuch, den verfluchten Gegenstand auszuziehen bzw. wegzustecken
-     eine Defaultmeldung.
 
-     Traegt man dagegen einen String ein, so wird dieser beim Versuch, den
-     Gegenstand loszuwerden, ausgegeben.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Der 'Fluch' wird erst wirksam, wenn das Opfer die Waffe zueckt bzw. die
-     Ruestung anzieht. Ist dies erst einmal geschehen, helfen nur noch
-     Zaubersprueche oder fluchbrechende Institutionen.
+   <properties.h>
 
-     Moechte man, dass der Gegenstand entfluchbar ist, dann sollte er auch
-     ansprechbar sein (gueltige ID, nicht unsichtbar), da das durch derzeitige
-     Entfluchmoeglichkeiten vorausgesetzt wird.
 
-     Flueche koennen ein P_LEVEL 1-100 haben, welches die Schwierigkeit des
-     Enfluchens festlegt. Der Klerus behandelt das nicht linear.
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-     Eigenschaften: P_LEVEL
-     Aehnlich:      AddClass (CL_CURSE)
-     Code:         /std/armour, /std/weapon, /gilden/files.klerus/prayermaster
+   Ruestungen und Waffen, die sich, einmal angezogen bzw. gezueckt, nicht
+   wieder entfernen lassen sollen, kann man ueber diese Property
+   realisieren. Die Waffe oder Ruestung hat dann in der Regel negative
+   Auswirkungen auf den Traeger...
+
+   Setzt man diese Property auf eine Zahl ungleich 0, so bekommt man bei
+   dem Versuch, den verfluchten Gegenstand auszuziehen bzw. wegzustecken
+   eine Defaultmeldung.
+
+   Traegt man dagegen einen String ein, so wird dieser beim Versuch, den
+   Gegenstand loszuwerden, ausgegeben.
+
+
+BEMERKUNGEN
+===========
+
+   Der 'Fluch' wird erst wirksam, wenn das Opfer die Waffe zueckt bzw. die
+   Ruestung anzieht. Ist dies erst einmal geschehen, helfen nur noch
+   Zaubersprueche oder fluchbrechende Institutionen.
+
+   Moechte man, dass der Gegenstand entfluchbar ist, dann sollte er auch
+   ansprechbar sein (gueltige ID, nicht unsichtbar), da das durch derzeitige
+   Entfluchmoeglichkeiten vorausgesetzt wird.
+
+   Flueche koennen ein P_LEVEL 1-100 haben, welches die Schwierigkeit des
+   Enfluchens festlegt. Der Klerus behandelt das nicht linear.
+
+
+SIEHE AUCH
+==========
+
+   Eigenschaften: P_LEVEL
+   Aehnlich:      AddClass (CL_CURSE)
+   Code:         /std/armour, /std/weapon, /gilden/files.klerus/prayermaster
 
 25. Aug 2016 Gloinson
diff --git a/doc/props/P_DAMAGED b/doc/props/P_DAMAGED
index 671e0e0..91d5324 100644
--- a/doc/props/P_DAMAGED
+++ b/doc/props/P_DAMAGED
@@ -1,28 +1,41 @@
+
 P_DAMAGED
+*********
 
-NAME:
-     P_DAMAGED "item_damaged"
 
-DEFINIERT IN:
-     <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Ruestungen und Waffen koennen im Eifer des Gefechts beschaedigt werden.
-     Der Grad der Beschaedigung sollte in dieser Property festgehalten
-     werden.
+   P_DAMAGED "item_damaged"
 
-     Bei Waffen ergibt sich die urspruengliche Waffenklasse aus der Summe
-     von aktueller Waffenklasse und dem Wert von P_DAMAGED:
-     altes P_WC = aktuelles P_WC + P_DAMAGED.
 
-     Analoges gilt fuer die Ruestungsklasse einer beschaedigten Ruestung:
-     altes P_AC = aktuelles P_AC + P_DAMAGED.
+DEFINIERT IN
+============
 
-     P_DAMAGED bitte niemals direkt setzen, sondern immer ueber
-     die Funktion Damage() manipulieren!
+   <combat.h>
 
-SIEHE AUCH:
-     /std/armour.c, /std/weapon.c, TakeFlaw(), QueryFlaw(), Damage()
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Ruestungen und Waffen koennen im Eifer des Gefechts beschaedigt werden.
+   Der Grad der Beschaedigung sollte in dieser Property festgehalten
+   werden.
+
+   Bei Waffen ergibt sich die urspruengliche Waffenklasse aus der Summe
+   von aktueller Waffenklasse und dem Wert von P_DAMAGED:
+   altes P_WC = aktuelles P_WC + P_DAMAGED.
+
+   Analoges gilt fuer die Ruestungsklasse einer beschaedigten Ruestung:
+   altes P_AC = aktuelles P_AC + P_DAMAGED.
+
+   P_DAMAGED bitte niemals direkt setzen, sondern immer ueber
+   die Funktion Damage() manipulieren!
+
+
+SIEHE AUCH
+==========
+
+   /std/armour.c, /std/weapon.c, TakeFlaw(), QueryFlaw(), Damage()
+
 02.10.2007, Zesstra
diff --git a/doc/props/P_DAMAGE_MSG b/doc/props/P_DAMAGE_MSG
index 5906a3b..e9c71a8 100644
--- a/doc/props/P_DAMAGE_MSG
+++ b/doc/props/P_DAMAGE_MSG
@@ -1,44 +1,58 @@
+
 P_DAMAGE_MSG
+************
 
-NAME:
-     P_DAMAGE_MSG      "std_p_dam_msg"
 
-DEFINIERT IN:
-     /sys/living/combat.h
+NAME
+====
 
-BESCHREIBUNG:
-     In dieser Property lassen sich individuelle Treffer-/Schadensmeldungen
-     fuer dieses Lebewesen festlegen. Sie werden verwendet, falls bei
-     eingehendem Schaden der Aufrufer von Defend() Schadensmeldungen wuenscht
-     (d.h. SP_SHOW_DAMAGE != 0), jedoch keine eigenen Meldungen vorgibt.
+   P_DAMAGE_MSG      "std_p_dam_msg"
 
-     Enthaelt diese Property kein Array, werden ggf. die Standardmeldungen
-     ausgegeben.
 
-     Datenstruktur der Property:
-       ({
-        ({ int lphit1, string mess_me,
-                       string mess_en,
-                       string mess_room }),
-        ({ lphit2, mess_me, mess_en, mess_room }),
-        ...
-        ({ lphitn, mess_me, mess_en, mess_room }),
-       })
-       wobei lphit1<lphit2<...<lphitn sein muss, d.h. das Array-
-       Array ist aufsteigend sortiert.
+DEFINIERT IN
+============
 
-     Ist ein Treffer x LP hart, werden die Meldungen des lphit-
-     Arrays ausgegeben, dessen Wert am naechsten unter dem Schaden
-     liegt.
+   /sys/living/combat.h
 
-     In den Meldungen mess_me (an den Getroffenen), mess_en (an
-     den Feind), mess_room (an die restlichen Umstehenden) koennen
-     Ersatzstrings wie folgt verwendet werden:
-     @WER1/@WESSEN1/@WEM1/@WEN1 - name(casus) des Getroffenen (TO)
-     @WER2/@WESSEN2/@WEM2/@WEN2 - name(casus) des Feindes (enemy)
 
-SIEHE AUCH:
-     Defend()
-     /std/living/combat.c
+BESCHREIBUNG
+============
+
+   In dieser Property lassen sich individuelle Treffer-/Schadensmeldungen
+   fuer dieses Lebewesen festlegen. Sie werden verwendet, falls bei
+   eingehendem Schaden der Aufrufer von Defend() Schadensmeldungen wuenscht
+   (d.h. SP_SHOW_DAMAGE != 0), jedoch keine eigenen Meldungen vorgibt.
+
+   Enthaelt diese Property kein Array, werden ggf. die Standardmeldungen
+   ausgegeben.
+
+   Datenstruktur der Property:
+     ({
+      ({ int lphit1, string mess_me,
+                     string mess_en,
+                     string mess_room }),
+      ({ lphit2, mess_me, mess_en, mess_room }),
+      ...
+      ({ lphitn, mess_me, mess_en, mess_room }),
+     })
+     wobei lphit1<lphit2<...<lphitn sein muss, d.h. das Array-
+     Array ist aufsteigend sortiert.
+
+   Ist ein Treffer x LP hart, werden die Meldungen des lphit-
+   Arrays ausgegeben, dessen Wert am naechsten unter dem Schaden
+   liegt.
+
+   In den Meldungen mess_me (an den Getroffenen), mess_en (an
+   den Feind), mess_room (an die restlichen Umstehenden) koennen
+   Ersatzstrings wie folgt verwendet werden:
+   @WER1/@WESSEN1/@WEM1/@WEN1 - name(casus) des Getroffenen (TO)
+   @WER2/@WESSEN2/@WEM2/@WEN2 - name(casus) des Feindes (enemy)
+
+
+SIEHE AUCH
+==========
+
+   Defend()
+   /std/living/combat.c
 
 15.09.2010, Zesstra
diff --git a/doc/props/P_DAM_DESC b/doc/props/P_DAM_DESC
index 59938c7..151f555 100644
--- a/doc/props/P_DAM_DESC
+++ b/doc/props/P_DAM_DESC
@@ -1,35 +1,56 @@
+
 P_DAM_DESC
+**********
 
-NAME:
-     P_DAM_DESC "dam_desc"
 
-DEFINIERT IN:
-     <weapon/description.h>
+NAME
+====
 
-BESCHREIBUNG:
-     In dieser Property befindet sich ein String oder String-Array, durch 
-     den die Langbeschreibung einer Ruestung oder Waffe ergaenzt wird,
-     wenn diese Beschaedigt ist.
+   P_DAM_DESC "dam_desc"
 
-BEMERKUNGEN:
-     Wird ein String gesetzt, so wird dieser angezeigt, wenn die Waffe
-     mehr als die Haelfte beschaedigt ist. Bei einem Array wird der
-     Text entsprechend dem Grad der Beschaedigung ausgewaehlt; das Array
-     muss in der Reihenfolge zunehmender Beschaedigung sortiert sein.
-     
-     Bei Waffen ist P_DAM_DESC defaultmaessig auf DFLT_DAM_DESC gesetzt,
-     bei Ruestungen auf 0.
 
-BEISPIELE:
-     SetProp(P_DAM_DESC,"ist beschaedigt");
-     SetProp(P_DAM_DESC,({
-         "ist etwas beschaedigt",
-         "ist beschaedigt",
-         "ist beschaedigt",
-         "ist sehr beschaedigt"}) );
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     /std/weapon/description.c
+   <weapon/description.h>
 
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   In dieser Property befindet sich ein String oder String-Array, durch
+   den die Langbeschreibung einer Ruestung oder Waffe ergaenzt wird,
+   wenn diese Beschaedigt ist.
+
+
+BEMERKUNGEN
+===========
+
+   Wird ein String gesetzt, so wird dieser angezeigt, wenn die Waffe
+   mehr als die Haelfte beschaedigt ist. Bei einem Array wird der
+   Text entsprechend dem Grad der Beschaedigung ausgewaehlt; das Array
+   muss in der Reihenfolge zunehmender Beschaedigung sortiert sein.
+
+
+
+   Bei Waffen ist P_DAM_DESC defaultmaessig auf DFLT_DAM_DESC gesetzt,
+   bei Ruestungen auf 0.
+
+
+BEISPIELE
+=========
+
+   SetProp(P_DAM_DESC,"ist beschaedigt");
+   SetProp(P_DAM_DESC,({
+       "ist etwas beschaedigt",
+       "ist beschaedigt",
+       "ist beschaedigt",
+       "ist sehr beschaedigt"}) );
+
+
+SIEHE AUCH
+==========
+
+   /std/weapon/description.c
+
 Last modified: Mon Oct 14 15:29:00 1996 by Paracelsus
diff --git a/doc/props/P_DAM_TYPE b/doc/props/P_DAM_TYPE
index 56fb4bb..e5088d2 100644
--- a/doc/props/P_DAM_TYPE
+++ b/doc/props/P_DAM_TYPE
@@ -1,22 +1,35 @@
+
 P_DAM_TYPE
+**********
 
-NAME:
-     P_DAM_TYPE "dam_type"
 
-DEFINIERT IN:
-     <weapon.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Was fuer eine Art von Schaden richtet die Waffe an? Hier kann man einen
-     String oder ein Array von Strings angeben, je nachdem, welche Effekte
-     die Waffe ausloesen kann. Man sollte hier nur die in <combat.h>
-     definierten Schadenstypen verwenden.
+   P_DAM_TYPE "dam_type"
 
-     Fragt man diese Property ab, bekommt man uebrigens immer ein Array von
-     Strings zurueck.
 
-SIEHE AUCH:
-     /std/weapon.c
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   <weapon.h>
+
+
+BESCHREIBUNG
+============
+
+   Was fuer eine Art von Schaden richtet die Waffe an? Hier kann man einen
+   String oder ein Array von Strings angeben, je nachdem, welche Effekte
+   die Waffe ausloesen kann. Man sollte hier nur die in <combat.h>
+   definierten Schadenstypen verwenden.
+
+   Fragt man diese Property ab, bekommt man uebrigens immer ein Array von
+   Strings zurueck.
+
+
+SIEHE AUCH
+==========
+
+   /std/weapon.c
+
 Last modified: Sun May 19 15:23:43 1996 by Wargon
diff --git a/doc/props/P_DEADS b/doc/props/P_DEADS
index ca44cd7..03f0c07 100644
--- a/doc/props/P_DEADS
+++ b/doc/props/P_DEADS
@@ -1,9 +1,22 @@
-NAME:
-    P_DEADS                       "deads"                       
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_DEADS
+*******
 
-BESCHREIBUNG:
-     Anzahl der Tode des Spielers seit Einfuehrung dieser Property (irgendwann
-     im Dezember 94)
+
+NAME
+====
+
+   P_DEADS                       "deads"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der Tode des Spielers seit Einfuehrung dieser Property (irgendwann
+   im Dezember 94)
diff --git a/doc/props/P_DEAF b/doc/props/P_DEAF
index 8745dfd..570ac06 100644
--- a/doc/props/P_DEAF
+++ b/doc/props/P_DEAF
@@ -1,10 +1,23 @@
-NAME:
-    P_DEAF                        "deaf"                        
 
-DEFINIERT IN:
-    /sys/player/comm.h
+P_DEAF
+******
 
-BESCHREIBUNG:
-     Der Spieler ist taub. Falls hier ein String steht, wird dieser bei
-     "teile ... mit" an den Mitteilenden ausgegeben, ansonsten kommt nur
-     "Soundso ist leider gerade taub.\n"
+
+NAME
+====
+
+   P_DEAF                        "deaf"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+   Der Spieler ist taub. Falls hier ein String steht, wird dieser bei
+   "teile ... mit" an den Mitteilenden ausgegeben, ansonsten kommt nur
+   "Soundso ist leider gerade taub.\n"
diff --git a/doc/props/P_DEATH_MSG b/doc/props/P_DEATH_MSG
index 4e044bf..d5de007 100644
--- a/doc/props/P_DEATH_MSG
+++ b/doc/props/P_DEATH_MSG
@@ -1,48 +1,79 @@
-DEFINIERT IN:

-        /sys/living/combat.h

-

-BESCHREIBUNG:

-        In dieser Property kann man ein Array ablegen, das beim Tod eines

-        Spielers ausgewertet und der darin enthaltene String

-        anschliessend auf dem Todeskanal gesendet wird.

-        Der Array muss folgenden Aufbau haben:

-

-          SetProp( P_DEATH_MSG, ({ Text, Flag }) )

-          

-        Text: Der Text kann beliebig eingegeben werde. Allerdings darf 

-              er nicht mit einem '\n' abgeschlossen werden.

-        

-        Flag: Hier kann man drei Arten von Sendemethoden waehlen.

-              1. MSG_SAY      Normales Senden

-              2. MSG_GEMOTE   Genitiv-Emote

-              3. MSG_EMOTE    Emote

-

-

-BEISPIEL:

-        Der Spieler soll direkt nach seinem Tod eine Meldung auf dem 

-        Todeskanal senden.

-        

-        Nachricht auf dem Todes-Kanal:

-	

-        [Tod:Spieler] Ich will keine Beleidsbekundungen!

-        

-        void spieler_stirbt()

-	{

-         this_player()->SetProp( P_DEATH_MSG, ({ "Ich will keine "

-                                        "Beleidsbekundungen!", MSG_SAY}) );

-         this_player()->die();

-        }

-        

-        Nachricht auf dem Todes-Kanal:

-	

-        [Tod:Spieler liebt es zu sterben.]

-        

-        void spieler_stirbt()

-        {

-         this_player()->SetProp( P_DEATH_MSG, ({ "liebt es zu sterben.",

-                                                 MSG_EMOTE }) );

-         this_player()->die();

-        }

-

-SIEHE AUCH:

-        P_MURDER_MSG, P_FORCE_MURDER_MSG

+
+P_DEATH_MSG
+***********
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property kann man ein Array ablegen, das beim Tod eines
+   Spielers ausgewertet und der darin enthaltene String
+   anschliessend auf dem Todeskanal gesendet wird.
+   Der Array muss folgenden Aufbau haben:
+
+     SetProp( P_DEATH_MSG, ({ Text, Flag }) )
+
+
+
+   Text: Der Text kann beliebig eingegeben werde. Allerdings darf
+         er nicht mit einem '\n' abgeschlossen werden.
+
+
+
+   Flag: Hier kann man drei Arten von Sendemethoden waehlen.
+         1. MSG_SAY      Normales Senden
+         2. MSG_GEMOTE   Genitiv-Emote
+         3. MSG_EMOTE    Emote
+
+
+BEISPIEL
+========
+
+   Der Spieler soll direkt nach seinem Tod eine Meldung auf dem
+   Todeskanal senden.
+
+
+
+   Nachricht auf dem Todes-Kanal:
+
+
+
+   [Tod:Spieler] Ich will keine Beleidsbekundungen!
+
+
+
+   void spieler_stirbt()
+   {
+    this_player()->SetProp( P_DEATH_MSG, ({ "Ich will keine "
+                                   "Beleidsbekundungen!", MSG_SAY}) );
+    this_player()->die();
+   }
+
+
+
+   Nachricht auf dem Todes-Kanal:
+
+
+
+   [Tod:Spieler liebt es zu sterben.]
+
+
+
+   void spieler_stirbt()
+   {
+    this_player()->SetProp( P_DEATH_MSG, ({ "liebt es zu sterben.",
+                                            MSG_EMOTE }) );
+    this_player()->die();
+   }
+
+
+SIEHE AUCH
+==========
+
+   P_MURDER_MSG, P_FORCE_MURDER_MSG
diff --git a/doc/props/P_DEATH_SPONSORED_BY b/doc/props/P_DEATH_SPONSORED_BY
index 4f86a36..cae8532 100644
--- a/doc/props/P_DEATH_SPONSORED_BY
+++ b/doc/props/P_DEATH_SPONSORED_BY
@@ -1,25 +1,42 @@
-NAME:
-    P_DEATH_SPONSORED_BY          "responsible_wizard_for_death"
 
-DEFINIERT IN:
-    /sys/living/combat.h
+P_DEATH_SPONSORED_BY
+********************
 
-BESCHREIBUNG:
-    Diese Property hat fuer den Spielverlauf keinerlei Bedeutung.
-    Doch gibt es Magier, die ihren Namen gern in /log/KILLS lesen.
-    Wird ein Spieler durch einen Npc getoetet, ist normalerweise der
-    Magier fuer den Tod verantwortlich, in dessen Verzeichnis sich 
-    das Monster befindet. 
-    Doch gibt es nun auch den Fall, dass sich das Monster in einem 
-    Verzeichnis /alle/mon/ befindet, oder der Spieler durch eine
-    Aktion im Raum oder an einem Objekt stirbt.
 
-    Ist in einem solchen Monster, Raum oder Objekt diese Property
-    gesetzt, wird der dort angebene String an das Log-File ueber-
-    geben.
+NAME
+====
 
-BEISPIEL:
-    SetProp(P_DEATH_SPONSORED_BY,"tilly");
- 
+   P_DEATH_SPONSORED_BY          "responsible_wizard_for_death"
 
-Last modified: Don Feb 15 14:01:00 2001 von Tilly
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property hat fuer den Spielverlauf keinerlei Bedeutung.
+   Doch gibt es Magier, die ihren Namen gern in /log/KILLS lesen.
+   Wird ein Spieler durch einen Npc getoetet, ist normalerweise der
+   Magier fuer den Tod verantwortlich, in dessen Verzeichnis sich
+   das Monster befindet.
+   Doch gibt es nun auch den Fall, dass sich das Monster in einem
+   Verzeichnis /alle/mon/ befindet, oder der Spieler durch eine
+   Aktion im Raum oder an einem Objekt stirbt.
+
+   Ist in einem solchen Monster, Raum oder Objekt diese Property
+   gesetzt, wird der dort angebene String an das Log-File ueber-
+   geben.
+
+
+BEISPIEL
+========
+
+   SetProp(P_DEATH_SPONSORED_BY,"tilly");
+
+
+Last modified Don Feb 15 140100 2001 von Tilly
+==============================================
diff --git a/doc/props/P_DEFAULT_GUILD b/doc/props/P_DEFAULT_GUILD
index 28ca4e6..55abd50 100644
--- a/doc/props/P_DEFAULT_GUILD
+++ b/doc/props/P_DEFAULT_GUILD
@@ -1,25 +1,43 @@
-NAME:
-	P_DEFAULT_GUILD			"default_guild"
 
-DEFINIERT IN:
-	/sys/new_skills.h
+P_DEFAULT_GUILD
+***************
 
-BESCHREIBUNG:
-	Diese Property enthaelt den Namen der Gilde, welcher der Spieler
-	standardmaessig angehoert. Der Name wird hierbei in Form eines
-	kleingeschriebenen Strings angegeben. Ist P_GUILD gleich Null, so
-	wird bei der Abfrage selbiger Property hierfuer der Eintrag von
-	P_DEFAULT_GUILD eingesetzt.
 
-BEMERKUNGEN:
-	Nach dem ersten Einloggen des Spielers wird ebenfalls dieser Eintrag
-	genutzt, um die Gildenzugehoerigkeit festzulegen. Dies kann dazu
-	genutzt werden, um eine rassenabhaengige Bestimmung der
-	Standardgilde zu gewaehrleisten
-	 (Felinen -> Katzenkrieger, andere Rassen -> Abenteurer).
+NAME
+====
 
-SIEHE AUCH:
-	P_GUILD, P_VISIBLE_GUILD
+   P_DEFAULT_GUILD                 "default_guild"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt den Namen der Gilde, welcher der Spieler
+   standardmaessig angehoert. Der Name wird hierbei in Form eines
+   kleingeschriebenen Strings angegeben. Ist P_GUILD gleich Null, so
+   wird bei der Abfrage selbiger Property hierfuer der Eintrag von
+   P_DEFAULT_GUILD eingesetzt.
+
+
+BEMERKUNGEN
+===========
+
+   Nach dem ersten Einloggen des Spielers wird ebenfalls dieser Eintrag
+   genutzt, um die Gildenzugehoerigkeit festzulegen. Dies kann dazu
+   genutzt werden, um eine rassenabhaengige Bestimmung der
+   Standardgilde zu gewaehrleisten
+    (Felinen -> Katzenkrieger, andere Rassen -> Abenteurer).
+
+
+SIEHE AUCH
+==========
+
+   P_GUILD, P_VISIBLE_GUILD
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_DEFAULT_NOTIFY_FAIL b/doc/props/P_DEFAULT_NOTIFY_FAIL
index 611e8df..351c96c 100644
--- a/doc/props/P_DEFAULT_NOTIFY_FAIL
+++ b/doc/props/P_DEFAULT_NOTIFY_FAIL
@@ -1,8 +1,21 @@
-NAME:
-    P_DEFAULT_NOTIFY_FAIL         "default_notify_fail"         
 
-DEFINIERT IN:
-    /sys/player.h
+P_DEFAULT_NOTIFY_FAIL
+*********************
 
-BESCHREIBUNG:
-     Welche Fehlermeldung kommt, wenn kein Objekt ein notify_fail macht?
+
+NAME
+====
+
+   P_DEFAULT_NOTIFY_FAIL         "default_notify_fail"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Welche Fehlermeldung kommt, wenn kein Objekt ein notify_fail macht?
diff --git a/doc/props/P_DEFENDERS b/doc/props/P_DEFENDERS
index b471d45..a54134a 100644
--- a/doc/props/P_DEFENDERS
+++ b/doc/props/P_DEFENDERS
@@ -1,30 +1,45 @@
-NAME:
-	P_DEFENDERS			"defenders"
 
-DEFINIERT IN:
-	/sys/new_skills.h
+P_DEFENDERS
+***********
 
-BESCHREIBUNG:
-	Diese Property wird in Lebewesen gesetzt, welche zum Beispiel durch
-	andere Lebewesen verteidigt werden. Die Verteidiger muessen
-	natuerlich bekannt sein, damit sie per InformDefend() ueber Angriffe
-	informiert werden und per DefendOther() in den laufenden Angriff
-	eingreifen koennen (zum Beispiel Schaeden abwehren oder umwandeln).
-	Es muessen jedoch nicht unbedingt Lebewesen oder echte Verteidiger
-	sein, auch beliebige Objekte koennen ueber Angriffe informiert
-	werden und in diese eingreifen. Allerdings besteht die
-	Einschraenkung, dass diese Objekte in der gleichen Umgebung sein
-	muessen, wie das zu verteidigende Lebewesen oder im zu verteidigenden
-	Lebewesen selbst.
-	Die Objekte, welche dies betrifft, sind in Form eines Arrays in
-	der Property P_DEFENDERS abgelegt.
-	Gesetzt und geloescht werden sollten die Eintraege dieses Arrays
-	jedoch nur mittels der dafuer bereitgestellten Funktionen
-	AddDefender() und RemoveDefender().
 
-SIEHE AUCH:
-	AddDefender(), RemoveDefender(), InformDefend(), DefendOther(),
-	/std/living/combat.c
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_DEFENDERS                     "defenders"
+
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property wird in Lebewesen gesetzt, welche zum Beispiel durch
+   andere Lebewesen verteidigt werden. Die Verteidiger muessen
+   natuerlich bekannt sein, damit sie per InformDefend() ueber Angriffe
+   informiert werden und per DefendOther() in den laufenden Angriff
+   eingreifen koennen (zum Beispiel Schaeden abwehren oder umwandeln).
+   Es muessen jedoch nicht unbedingt Lebewesen oder echte Verteidiger
+   sein, auch beliebige Objekte koennen ueber Angriffe informiert
+   werden und in diese eingreifen. Allerdings besteht die
+   Einschraenkung, dass diese Objekte in der gleichen Umgebung sein
+   muessen, wie das zu verteidigende Lebewesen oder im zu verteidigenden
+   Lebewesen selbst.
+   Die Objekte, welche dies betrifft, sind in Form eines Arrays in
+   der Property P_DEFENDERS abgelegt.
+   Gesetzt und geloescht werden sollten die Eintraege dieses Arrays
+   jedoch nur mittels der dafuer bereitgestellten Funktionen
+   AddDefender() und RemoveDefender().
+
+
+SIEHE AUCH
+==========
+
+   AddDefender(), RemoveDefender(), InformDefend(), DefendOther(),
+   /std/living/combat.c
+
 Last modified: 21.09.2007, Zesstra
diff --git a/doc/props/P_DEFEND_FUNC b/doc/props/P_DEFEND_FUNC
index 02f1e8c..a9939e1 100644
--- a/doc/props/P_DEFEND_FUNC
+++ b/doc/props/P_DEFEND_FUNC
@@ -1,31 +1,50 @@
+
 P_DEFEND_FUNC
+*************
 
-NAME:
-     P_DEFEND_FUNC "defend_func"
 
-DEFINIERT IN:
-     <armour.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Falls ein Objekt eine DefendFunc() fuer die Ruestung definiert, so muss
-     dieses Objekt in dieser Property eingetragen sein.
+   P_DEFEND_FUNC "defend_func"
 
-     Die Auswertung dieser Property erfolgt in QueryDefend().
 
-BEMERKUNGEN:
-     1. Es funktioniert _nicht_ hier eine Closure reinzuschreiben.
-     2. Diese Prop laesst sich _nicht_ sinnvoll mit Set() setzen, also z.B.
-        keine Query-Methoden hier reinzuschreiben.
-     3. Definieren von _set_defend_func() oder Set-Methoden via Set()
-        funktioniert auch nicht, zumindest nicht mit dem gewuenschten
-        Ergebnis. ;-)
-     4. Bei Verwendung bitte Balance-Richtlinien beachten!
+DEFINIERT IN
+============
 
-BEISPIELE:
-     Siehe das Beispiel zu DefendFunc()
+   <armour.h>
 
-SIEHE AUCH:
-     /std/armour.c, DefendFunc(), balance, grenzwerte
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Falls ein Objekt eine DefendFunc() fuer die Ruestung definiert, so muss
+   dieses Objekt in dieser Property eingetragen sein.
+
+   Die Auswertung dieser Property erfolgt in QueryDefend().
+
+
+BEMERKUNGEN
+===========
+
+   1. Es funktioniert _nicht_ hier eine Closure reinzuschreiben.
+   2. Diese Prop laesst sich _nicht_ sinnvoll mit Set() setzen, also z.B.
+      keine Query-Methoden hier reinzuschreiben.
+   3. Definieren von _set_defend_func() oder Set-Methoden via Set()
+      funktioniert auch nicht, zumindest nicht mit dem gewuenschten
+      Ergebnis. ;-)
+   4. Bei Verwendung bitte Balance-Richtlinien beachten!
+
+
+BEISPIELE
+=========
+
+   Siehe das Beispiel zu DefendFunc()
+
+
+SIEHE AUCH
+==========
+
+   /std/armour.c, DefendFunc(), balance, grenzwerte
+
 Last modified: Sat May 18 15:26:17 1996 by Wargon
diff --git a/doc/props/P_DEFUEL_AMOUNT_DRINK b/doc/props/P_DEFUEL_AMOUNT_DRINK
index 558e261..79dcfa5 100644
--- a/doc/props/P_DEFUEL_AMOUNT_DRINK
+++ b/doc/props/P_DEFUEL_AMOUNT_DRINK
@@ -1,20 +1,36 @@
-NAME:
-    P_DEFUEL_AMOUNT_DRINK                          "defuel_amount_drink"
 
-DEFINIERT IN:
-    /sys/defuel.h
+P_DEFUEL_AMOUNT_DRINK
+*********************
 
-BESCHREIBUNG:
-    Enthaelt die rassenabhaengige Enttankvorgabe fuer Trinken.
-    
-SIEHE AUCH:
-     Aehnlich:  P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
-                P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
-                P_DEFUEL_AMOUNT_FOOD
-     Methoden:  defuel_drink, defuel_food
-     Tanken:    consume, drink_alcohol, drink_soft, eat_food
-     Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
-                P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
-     Konzepte:  heilung, enttanken, food
+
+NAME
+====
+
+   P_DEFUEL_AMOUNT_DRINK                          "defuel_amount_drink"
+
+
+DEFINIERT IN
+============
+
+   /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt die rassenabhaengige Enttankvorgabe fuer Trinken.
+
+
+SIEHE AUCH
+==========
+
+   Aehnlich:  P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+              P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
+              P_DEFUEL_AMOUNT_FOOD
+   Methoden:  defuel_drink, defuel_food
+   Tanken:    consume, drink_alcohol, drink_soft, eat_food
+   Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+              P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+   Konzepte:  heilung, enttanken, food
 
 9. August 2015 Gloinson
diff --git a/doc/props/P_DEFUEL_AMOUNT_FOOD b/doc/props/P_DEFUEL_AMOUNT_FOOD
index a8554be..f61a23e 100644
--- a/doc/props/P_DEFUEL_AMOUNT_FOOD
+++ b/doc/props/P_DEFUEL_AMOUNT_FOOD
@@ -1,20 +1,36 @@
-NAME:
-    P_DEFUEL_AMOUNT_FOOD                          "defuel_amount_food"
 
-DEFINIERT IN:
-    /sys/defuel.h
+P_DEFUEL_AMOUNT_FOOD
+********************
 
-BESCHREIBUNG:
-    Enthaelt die rassenabhaengige Enttankvorgabe fuer Essen.
-    
-SIEHE AUCH:
-     Aehnlich:  P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
-                P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
-                P_DEFUEL_AMOUNT_DRINK
-     Methoden:  defuel_drink, defuel_food
-     Tanken:    consume, drink_alcohol, drink_soft, eat_food
-     Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
-                P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
-     Konzepte:  heilung, enttanken, food
+
+NAME
+====
+
+   P_DEFUEL_AMOUNT_FOOD                          "defuel_amount_food"
+
+
+DEFINIERT IN
+============
+
+   /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt die rassenabhaengige Enttankvorgabe fuer Essen.
+
+
+SIEHE AUCH
+==========
+
+   Aehnlich:  P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+              P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
+              P_DEFUEL_AMOUNT_DRINK
+   Methoden:  defuel_drink, defuel_food
+   Tanken:    consume, drink_alcohol, drink_soft, eat_food
+   Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+              P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+   Konzepte:  heilung, enttanken, food
 
 9. August 2015 Gloinson
diff --git a/doc/props/P_DEFUEL_LIMIT_DRINK b/doc/props/P_DEFUEL_LIMIT_DRINK
index 0a59df4..d3a2c3c 100644
--- a/doc/props/P_DEFUEL_LIMIT_DRINK
+++ b/doc/props/P_DEFUEL_LIMIT_DRINK
@@ -1,21 +1,37 @@
-NAME:
-    P_DEFUEL_LIMIT_DRINK                          "defuel_limit_drink"
 
-DEFINIERT IN:
-    /sys/defuel.h
+P_DEFUEL_LIMIT_DRINK
+********************
 
-BESCHREIBUNG:
-    Enthaelt die rassenabhaengige minimale Menge an Trinken, ab dem ein
-    Enttankvorgang fuer den Spieler moeglich ist.
-    
-SIEHE AUCH:
-     Aehnlich:  P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
-                P_DEFUEL_LIMIT_FOOD,
-                P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
-     Methoden:  defuel_drink, defuel_food
-     Tanken:    consume, drink_alcohol, drink_soft, eat_food
-     Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
-                P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
-     Konzepte:  heilung, enttanken, food
+
+NAME
+====
+
+   P_DEFUEL_LIMIT_DRINK                          "defuel_limit_drink"
+
+
+DEFINIERT IN
+============
+
+   /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt die rassenabhaengige minimale Menge an Trinken, ab dem ein
+   Enttankvorgang fuer den Spieler moeglich ist.
+
+
+SIEHE AUCH
+==========
+
+   Aehnlich:  P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+              P_DEFUEL_LIMIT_FOOD,
+              P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
+   Methoden:  defuel_drink, defuel_food
+   Tanken:    consume, drink_alcohol, drink_soft, eat_food
+   Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+              P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+   Konzepte:  heilung, enttanken, food
 
 9. August 2015 Gloinson
diff --git a/doc/props/P_DEFUEL_LIMIT_FOOD b/doc/props/P_DEFUEL_LIMIT_FOOD
index 26e33fd..bb012a3 100644
--- a/doc/props/P_DEFUEL_LIMIT_FOOD
+++ b/doc/props/P_DEFUEL_LIMIT_FOOD
@@ -1,21 +1,37 @@
-NAME:
-    P_DEFUEL_LIMIT_FOOD                          "defuel_limit_food"
 
-DEFINIERT IN:
-    /sys/defuel.h
+P_DEFUEL_LIMIT_FOOD
+*******************
 
-BESCHREIBUNG:
-    Enthaelt die rassenabhaengige minimale Menge an Essen, ab dem ein
-    Enttankvorgang fuer den Spieler moeglich ist.
-    
-SIEHE AUCH:
-     Aehnlich:  P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
-                P_DEFUEL_LIMIT_DRINK,
-                P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
-     Methoden:  defuel_drink, defuel_food
-     Tanken:    consume, drink_alcohol, drink_soft, eat_food
-     Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
-                P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
-     Konzepte:  heilung, enttanken, food
+
+NAME
+====
+
+   P_DEFUEL_LIMIT_FOOD                          "defuel_limit_food"
+
+
+DEFINIERT IN
+============
+
+   /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt die rassenabhaengige minimale Menge an Essen, ab dem ein
+   Enttankvorgang fuer den Spieler moeglich ist.
+
+
+SIEHE AUCH
+==========
+
+   Aehnlich:  P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+              P_DEFUEL_LIMIT_DRINK,
+              P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
+   Methoden:  defuel_drink, defuel_food
+   Tanken:    consume, drink_alcohol, drink_soft, eat_food
+   Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+              P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+   Konzepte:  heilung, enttanken, food
 
 9. August 2015 Gloinson
diff --git a/doc/props/P_DEFUEL_TIME_DRINK b/doc/props/P_DEFUEL_TIME_DRINK
index de5eaf0..3ff3b74 100644
--- a/doc/props/P_DEFUEL_TIME_DRINK
+++ b/doc/props/P_DEFUEL_TIME_DRINK
@@ -1,21 +1,37 @@
-NAME:
-    P_DEFUEL_TIME_DRINK                          "defuel_time_drink"
 
-DEFINIERT IN:
-    /sys/defuel.h
+P_DEFUEL_TIME_DRINK
+*******************
 
-BESCHREIBUNG:
-    Enthaelt die rassenabhaengige minimale Zeit zwischen einzelnen
-    Enttankvorgaengen fuer Trinken eines Spielers.
-    
-SIEHE AUCH:
-     Aehnlich:  P_DEFUEL_TIME_FOOD,
-                P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
-                P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
-     Methoden:  defuel_drink, defuel_food
-     Tanken:    consume, drink_alcohol, drink_soft, eat_food
-     Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
-                P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
-     Konzepte:  heilung, enttanken, food
+
+NAME
+====
+
+   P_DEFUEL_TIME_DRINK                          "defuel_time_drink"
+
+
+DEFINIERT IN
+============
+
+   /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt die rassenabhaengige minimale Zeit zwischen einzelnen
+   Enttankvorgaengen fuer Trinken eines Spielers.
+
+
+SIEHE AUCH
+==========
+
+   Aehnlich:  P_DEFUEL_TIME_FOOD,
+              P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
+              P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
+   Methoden:  defuel_drink, defuel_food
+   Tanken:    consume, drink_alcohol, drink_soft, eat_food
+   Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+              P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+   Konzepte:  heilung, enttanken, food
 
 9. August 2015 Gloinson
diff --git a/doc/props/P_DEFUEL_TIME_FOOD b/doc/props/P_DEFUEL_TIME_FOOD
index d7bdd79..fcd80d0 100644
--- a/doc/props/P_DEFUEL_TIME_FOOD
+++ b/doc/props/P_DEFUEL_TIME_FOOD
@@ -1,21 +1,37 @@
-NAME:
-    P_DEFUEL_TIME_FOOD                          "defuel_time_food"
 
-DEFINIERT IN:
-    /sys/defuel.h
+P_DEFUEL_TIME_FOOD
+******************
 
-BESCHREIBUNG:
-    Enthaelt die rassenabhaengige minimale Zeit zwischen einzelnen
-    Enttankvorgaengen fuer Essen eines Spielers.
-    
-SIEHE AUCH:
-     Aehnlich:  P_DEFUEL_TIME_DRINK,
-                P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
-                P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
-     Methoden:  defuel_drink, defuel_food
-     Tanken:    consume, drink_alcohol, drink_soft, eat_food
-     Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
-                P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
-     Konzepte:  heilung, enttanken, food
+
+NAME
+====
+
+   P_DEFUEL_TIME_FOOD                          "defuel_time_food"
+
+
+DEFINIERT IN
+============
+
+   /sys/defuel.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt die rassenabhaengige minimale Zeit zwischen einzelnen
+   Enttankvorgaengen fuer Essen eines Spielers.
+
+
+SIEHE AUCH
+==========
+
+   Aehnlich:  P_DEFUEL_TIME_DRINK,
+              P_DEFUEL_LIMIT_FOOD, P_DEFUEL_LIMIT_DRINK,
+              P_DEFUEL_AMOUNT_FOOD, P_DEFUEL_AMOUNT_DRINK
+   Methoden:  defuel_drink, defuel_food
+   Tanken:    consume, drink_alcohol, drink_soft, eat_food
+   Weitere:   P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+              P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
+   Konzepte:  heilung, enttanken, food
 
 9. August 2015 Gloinson
diff --git a/doc/props/P_DEPARTMSG b/doc/props/P_DEPARTMSG
index 515c8bd..917e01c 100644
--- a/doc/props/P_DEPARTMSG
+++ b/doc/props/P_DEPARTMSG
@@ -1,8 +1,21 @@
-NAME:
-    P_DEPARTMSG                   "departmsg"                   
 
-DEFINIERT IN:
-    /sys/transport.h
+P_DEPARTMSG
+***********
 
-BESCHREIBUNG:
-     Meldung, mit der ein Transporter ablegt.
+
+NAME
+====
+
+   P_DEPARTMSG                   "departmsg"
+
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Meldung, mit der ein Transporter ablegt.
diff --git a/doc/props/P_DESCRIPTION b/doc/props/P_DESCRIPTION
index d275cc7..4d32999 100644
--- a/doc/props/P_DESCRIPTION
+++ b/doc/props/P_DESCRIPTION
@@ -1,8 +1,21 @@
-NAME:
-    P_DESCRIPTION                 "description"                 
 
-DEFINIERT IN:
-    /sys/properties.h
+P_DESCRIPTION
+*************
 
-BESCHREIBUNG:
-     Beschreibung des Spielers
+
+NAME
+====
+
+   P_DESCRIPTION                 "description"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Beschreibung des Spielers
diff --git a/doc/props/P_DESTROY_BAD b/doc/props/P_DESTROY_BAD
index d563af9..94f00e5 100644
--- a/doc/props/P_DESTROY_BAD
+++ b/doc/props/P_DESTROY_BAD
@@ -1,29 +1,52 @@
-NAME:
-     P_DESTROY_BAD                 "std_food_destroy_bad"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_DESTROY_BAD
+*************
 
-BESCHREIBUNG:
-     Speichert den Wert fuer das Verhalten, wenn eine Speise verdirbt.
-     Dieses Verhalten wird in make_bad() umgesetzt.
-     
-     DESTROY_BAD   : Die Speise wird beim Verderben zerstoert
-                     bzw. der Behaelter wird geleert
-     DESTROY_NEVER : Die Speise wird beim Verderben nicht zerstoert
-     pos. Integer  : Anzahl der Sekunden, die zwischen Verderben
-                     und Zerstoeren der Speise liegen sollen
-     
-BEMERKUNGEN:
-     Ist ein positiver Integer-Wert in dieser Property gespeichert, wird nach
-     Ausfuehren der Methode make_bad() nach Ablauf der angegebenen Sekunden
-     ein weiterer Reset ausgeloest, der make_destroy() aufruft.
-     
-DEFAULT:
-     Initial ist diese Property auf DESTROY_BAD gesetzt.
 
-SIEHE AUCH:
-     /std/food.c, wiz/food
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_DESTROY_BAD                 "std_food_destroy_bad"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Speichert den Wert fuer das Verhalten, wenn eine Speise verdirbt.
+   Dieses Verhalten wird in make_bad() umgesetzt.
+
+
+
+   DESTROY_BAD   : Die Speise wird beim Verderben zerstoert
+                   bzw. der Behaelter wird geleert
+   DESTROY_NEVER : Die Speise wird beim Verderben nicht zerstoert
+   pos. Integer  : Anzahl der Sekunden, die zwischen Verderben
+                   und Zerstoeren der Speise liegen sollen
+
+
+BEMERKUNGEN
+===========
+
+   Ist ein positiver Integer-Wert in dieser Property gespeichert, wird nach
+   Ausfuehren der Methode make_bad() nach Ablauf der angegebenen Sekunden
+   ein weiterer Reset ausgeloest, der make_destroy() aufruft.
+
+
+DEFAULT
+=======
+
+   Initial ist diese Property auf DESTROY_BAD gesetzt.
+
+
+SIEHE AUCH
+==========
+
+   /std/food.c, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_DESTRUCT_MSG b/doc/props/P_DESTRUCT_MSG
index 4b7e7e9..334c374 100644
--- a/doc/props/P_DESTRUCT_MSG
+++ b/doc/props/P_DESTRUCT_MSG
@@ -1,8 +1,21 @@
-NAME:
-    P_DESTRUCT_MSG                "destruct_msg"                
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_DESTRUCT_MSG
+**************
 
-BESCHREIBUNG:
-     Meldung, die beim Destructen Obj ausgegegen wird (nur Magier)
+
+NAME
+====
+
+   P_DESTRUCT_MSG                "destruct_msg"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Meldung, die beim Destructen Obj ausgegegen wird (nur Magier)
diff --git a/doc/props/P_DETAILS b/doc/props/P_DETAILS
index e23513a..e14c15c 100644
--- a/doc/props/P_DETAILS
+++ b/doc/props/P_DETAILS
@@ -1,25 +1,44 @@
-NAME:
-    P_DETAILS            "details"
 
-DEFINIERT IN:
-    /sys/thing/description.h
+P_DETAILS
+*********
 
-BESCHREIBUNG:
-    Diese Property enthaelt ein Mapping, in der Details im Objekt
-    definiert werden und Beschreibungen, die ausgegeben werden, wenn man
-    sich diese Details anschaut.
 
-BEMERKUNGEN:
-    Man kann diese Property nicht per SetProp() veraendern, sondern muss die
-    entsprechenden Funktionen nutzen.
-    AddSpecialDetail() und RemoveSpecialDetail() sollten nicht mehr
-    verwendet werden.
+NAME
+====
 
-SIEHE AUCH:
-    Setzen:    AddDetail()
-    Loeschen:  RemoveDetail()
-    Aehnlich:  P_SPECIAL_DETAILS
-    Veraltet:  AddSpecialDetail(), RemoveSpecialDetail()
-    Sonstiges: GetDetail(), break_string()
+   P_DETAILS            "details"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt ein Mapping, in der Details im Objekt
+   definiert werden und Beschreibungen, die ausgegeben werden, wenn man
+   sich diese Details anschaut.
+
+
+BEMERKUNGEN
+===========
+
+   Man kann diese Property nicht per SetProp() veraendern, sondern muss die
+   entsprechenden Funktionen nutzen.
+   AddSpecialDetail() und RemoveSpecialDetail() sollten nicht mehr
+   verwendet werden.
+
+
+SIEHE AUCH
+==========
+
+   Setzen:    AddDetail()
+   Loeschen:  RemoveDetail()
+   Aehnlich:  P_SPECIAL_DETAILS
+   Veraltet:  AddSpecialDetail(), RemoveSpecialDetail()
+   Sonstiges: GetDetail(), break_string()
 
 27. Jan 2013 Gloinson
diff --git a/doc/props/P_DIE_MSG b/doc/props/P_DIE_MSG
index 99f1d7c..0bd5d17 100644
--- a/doc/props/P_DIE_MSG
+++ b/doc/props/P_DIE_MSG
@@ -1,40 +1,56 @@
+
 P_DIE_MSG
+*********
 
-NAME:
-     P_DIE_MSG			"die_msg"
 
-DEFINIERT IN:
-     /sys/properties.h
+NAME
+====
 
-BESCHREIBUNG:
-     In dieser Property uebergibt man einen String, der ausgegeben wird, wenn
-     das Lebewesen stirbt. Ist die Property nicht gesetzt, so wird als String
-     benutzt:
-	" faellt tot zu Boden.\n".
+   P_DIE_MSG                  "die_msg"
 
-     Der Name des Lebewesens wird dem String vor der Ausgabe vorangestellt.
-     Der Satzumbruch am Zeilenende und das Leerzeichen nach dem Namen des
-     Lebewesens muss man selbst angegeben. Es sollte allerdings beachtet
-     werden, dass ein Lebewesen, das durch Gift getoetet wird, eine spezielle
-     nicht zu beeinflussende Meldung erhaelt. Es wird dann als String
-     benutzt:
-	" wird von Gift hinweggerafft und kippt um.\n".
 
-BEISPIELE:
-     Bei einem mitkaempfenden Schatten waere es eher unlogisch, wenn nach
-     dessen 'Tod' eine Leiche zurueckbliebe. Eine logische Konsequenz waere
-     folgende Meldung:
-	SetProp(P_DIE_MSG," loest sich auf.\n");
-	SetProp(P_NOCORPSE,1);
+DEFINIERT IN
+============
 
-     Damit dann auch wirklich keine Leiche zurueckbleibt, wird zusaetzlich
-     die Property P_NOCORPSE gesetzt.
+   /sys/properties.h
 
-SIEHE AUCH:
-     Tod:		die(L)
-     Todesmeldungen:	P_KILL_NAME, P_KILL_MSG, P_MURDER_MSG
-			P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
-     Sonstiges:		P_CORPSE, P_NOCORPSE, /std/corpse.c
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   In dieser Property uebergibt man einen String, der ausgegeben wird, wenn
+   das Lebewesen stirbt. Ist die Property nicht gesetzt, so wird als String
+   benutzt:
+      " faellt tot zu Boden.\n".
+
+   Der Name des Lebewesens wird dem String vor der Ausgabe vorangestellt.
+   Der Satzumbruch am Zeilenende und das Leerzeichen nach dem Namen des
+   Lebewesens muss man selbst angegeben. Es sollte allerdings beachtet
+   werden, dass ein Lebewesen, das durch Gift getoetet wird, eine spezielle
+   nicht zu beeinflussende Meldung erhaelt. Es wird dann als String
+   benutzt:
+      " wird von Gift hinweggerafft und kippt um.\n".
+
+
+BEISPIELE
+=========
+
+   Bei einem mitkaempfenden Schatten waere es eher unlogisch, wenn nach
+   dessen 'Tod' eine Leiche zurueckbliebe. Eine logische Konsequenz waere
+   folgende Meldung:
+      SetProp(P_DIE_MSG," loest sich auf.\n");
+      SetProp(P_NOCORPSE,1);
+
+   Damit dann auch wirklich keine Leiche zurueckbleibt, wird zusaetzlich
+   die Property P_NOCORPSE gesetzt.
+
+
+SIEHE AUCH
+==========
+
+   Tod:               die(L)
+   Todesmeldungen:    P_KILL_NAME, P_KILL_MSG, P_MURDER_MSG
+                      P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
+   Sonstiges:         P_CORPSE, P_NOCORPSE, /std/corpse.c
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_DISABLE_ATTACK b/doc/props/P_DISABLE_ATTACK
index 25e051d..37544ae 100644
--- a/doc/props/P_DISABLE_ATTACK
+++ b/doc/props/P_DISABLE_ATTACK
@@ -1,46 +1,64 @@
-NAME:
-    P_DISABLE_ATTACK              "disable_attack"              
 
-DEFINIERT IN:
-    /sys/properties.h
+P_DISABLE_ATTACK
+****************
 
-BESCHREIBUNG:
-    Das Lebewesen kann nicht angreifen. Beim Setzen der Property ist es
-    wichtig, SetProp() zu benutzen und die Anzahl der Kampfrunden anzugeben,
-    die das Lebewesen paralysiert sein soll.
 
-    Ein negativer Wert ist nicht gueltig. Bei mehr als 30 Kampfrunden wird
-    die Paralyse auf 30 Kampfrunden gekappt.
+NAME
+====
 
-    Fuer jede Paralyse bekommt ein Living eine ebenso lange Schutzzeit nach
-    der Paralyse gewaehrt. Versucht man, vor Ablauf der Paralyse
-    P_DISABLE_ATTACK hoeher zu setzen (oder setzt man innerhalb der folgenden
-    Schutzzeit P_DISABLE_ATTACK auf > 0), wird DISABLE_TOO_EARLY von SetProp
-    zurueck gegeben.
-    Eine Reduktion von einem P_DISABLE_ATTACK ist moeglich, allerdings
-    reduziert dies _nicht_ eine einmal gesetzte Schutzzeit.
+   P_DISABLE_ATTACK              "disable_attack"
 
-    Einen Gegner,der nie paralysiert werden koennen soll, kann man einfach
-    per 
 
-    Set(P_DISABLE_ATTACK, function int () {return 0;}, F_SET_METHOD);
+DEFINIERT IN
+============
 
-    erstellen, da bei diesem der Wert von P_DISABLE_ATTACK nicht mehr mit
-    einem normalen SetProp()-Aufruf geaendert werden kann.
+   /sys/properties.h
 
-BEISPIELE:
-    // Gegner 17 Runden lang paralysieren, ohne Ruecksicht auf fruehere P.
-    // (in diesem Moment ist das Living bis time() + 4 * 17 vor laengerer
-    //  oder erneuter Paralyse geschuetzt)
-    en->SetProp(P_DISABLE_ATTACK, 17);
-    // Der Gegner kann jetzt fuer 34 Kampfrunden nicht erneut paralysiert
-    // werden.
-    // Paralyse reduzieren auf 10 Kampfrunden
-    en->SetProp(P_DISABLE_ATTACK, 10);
-    // Die Schutzzeit ist immer noch bei 34 Kampfrunden, nicht bei 20.
 
-SIEHE AUCH:
-    P_NEXT_DISABLE_ATTACK
+BESCHREIBUNG
+============
+
+   Das Lebewesen kann nicht angreifen. Beim Setzen der Property ist es
+   wichtig, SetProp() zu benutzen und die Anzahl der Kampfrunden anzugeben,
+   die das Lebewesen paralysiert sein soll.
+
+   Ein negativer Wert ist nicht gueltig. Bei mehr als 30 Kampfrunden wird
+   die Paralyse auf 30 Kampfrunden gekappt.
+
+   Fuer jede Paralyse bekommt ein Living eine ebenso lange Schutzzeit nach
+   der Paralyse gewaehrt. Versucht man, vor Ablauf der Paralyse
+   P_DISABLE_ATTACK hoeher zu setzen (oder setzt man innerhalb der folgenden
+   Schutzzeit P_DISABLE_ATTACK auf > 0), wird DISABLE_TOO_EARLY von SetProp
+   zurueck gegeben.
+   Eine Reduktion von einem P_DISABLE_ATTACK ist moeglich, allerdings
+   reduziert dies _nicht_ eine einmal gesetzte Schutzzeit.
+
+   Einen Gegner,der nie paralysiert werden koennen soll, kann man einfach
+   per
+
+   Set(P_DISABLE_ATTACK, function int () {return 0;}, F_SET_METHOD);
+
+   erstellen, da bei diesem der Wert von P_DISABLE_ATTACK nicht mehr mit
+   einem normalen SetProp()-Aufruf geaendert werden kann.
+
+
+BEISPIELE
+=========
+
+   // Gegner 17 Runden lang paralysieren, ohne Ruecksicht auf fruehere P.
+   // (in diesem Moment ist das Living bis time() + 4 * 17 vor laengerer
+   //  oder erneuter Paralyse geschuetzt)
+   en->SetProp(P_DISABLE_ATTACK, 17);
+   // Der Gegner kann jetzt fuer 34 Kampfrunden nicht erneut paralysiert
+   // werden.
+   // Paralyse reduzieren auf 10 Kampfrunden
+   en->SetProp(P_DISABLE_ATTACK, 10);
+   // Die Schutzzeit ist immer noch bei 34 Kampfrunden, nicht bei 20.
+
+
+SIEHE AUCH
+==========
+
+   P_NEXT_DISABLE_ATTACK
 
 19.08.2014, Zesstra
-
diff --git a/doc/props/P_DISABLE_COMMANDS b/doc/props/P_DISABLE_COMMANDS
index f0318e0..e66910a 100644
--- a/doc/props/P_DISABLE_COMMANDS
+++ b/doc/props/P_DISABLE_COMMANDS
@@ -1,74 +1,100 @@
+
 P_DISABLE_COMMANDS
+******************
 
-NAME:
-     P_DISABLE_COMMANDS             "p_lib_disablecommands"
 
-DEFINIERT IN:
-     /sys/player/command.h
+NAME
+====
 
-BESCHREIBUNG:
-    Mit dieser Prop kann man verhindern, dass Kommandos eines Spielers
-    verarbeitet werden. Dies ist z.B. in Sequenzen nuetzlich, wo der Spieler
-    rein passiv konsumieren soll.
-    In diese Property muss ein Array mit 2 oder 3 Elementen geschrieben 
-    werden:
-       1) Endzeitpunkt in Sekunden seit 1.1.1970 (int)
-       2) Meldung (String oder Closure)
-       3) (optional) Array von trotzdem erlaubten Verben (string*)
-         (nur ausgewertet, wenn die Meldung ein String ist)
-    
-    Ist die Meldung ein String, wird dieser einfach bei jedem Kommando so wie
-    er ist an den Spieler ausgegeben und das Kommando abgebrochen.
-    Ist die Meldung eine Closure wird diese bei jedem Kommando aufgerufen und
-    das Kommando abgebrochen, wenn sie einen Rueckgabewert != 0 zurueckgibt.
-    In diesem Fall ist die gerufene Funktion dafuer verantwortlich, geeignete
-    Meldungen an den Spieler auszugeben!
-    Der Funktion wird der vom Spieler eingebene Befehl (string) als erstes
-    Argument uebergeben. Zu diesem Zeitpunkt wurde alle Aliase schon
-    ausgewertet. Die Funktion kann den Kommandogeber via this_player()
-    ermitteln.
-    Fuer weitere Informationen steht auch command_stack() zur Verfuegung,
-    allerdings ist dort die Alias-Ersetzung nicht beruecksichtigt.
+   P_DISABLE_COMMANDS             "p_lib_disablecommands"
 
-    Die Ausnahmeliste wird nur fuer simple Strings als Meldung ausgewertet,
-    wird eine Closure verwendet, kann diese besser selber die Ausnahmen
-    bestimmen.
-    
-    Fragt man diese Prop ab, erhaelt man ein Array mit 4 Elementen: setzendes
-    Objekt (object), Ablaufzeit (int), Meldung (String oder Closure) und
-    Liste von Ausnahmen (string*).
 
-BEMERKUNGEN:
-    1. Die Prop wird fuer Magier mit eingeschaltetem P_WANTS_TO_LEARN
-       ignoriert.
-    2. Wenn das Objekt zerstoert wird, was die Prop gesetzt hat, wird der
-       Eintrag unwirksam.
-    3. Wenn diese Prop gesetzt und nicht abgelaufen ist, kann nur das gleiche
-       Objekt sie mit neuen Daten ueberschreiben. Alle anderen Objekte koennen
-       die Prop nur loeschen. Dies soll verhindern, dass Magier unabsichtlich
-       einfach anderer Leute Eintraege ueberschreiben. Dementsprechend: Lasst
-       die Finger davon, wenn die schon gesetzt ist. ;-)
-    4. Diese Prop darf _ausschliesslich_ mit SetProp() und QueryProp() benutzt
-       werden, Set() und Query() funktionieren _nicht_.
-    5. Es gibt einige Verben, die NIE blockiert werden. Zur Zeit sind dies
-       "mrufe", "mschau", "bug", "idee", "typo" und "detail".
-    6. Bitte nicht missbrauchen, speziell nicht dazu, die Kommandos von
-       Spieler zu ueberwachen/mitzuschreiben. Das Setzen dieser Prop wird 
-       geloggt.
+DEFINIERT IN
+============
 
-BEISPIEL:
+   /sys/player/command.h
+
+
+BESCHREIBUNG
+============
+
+   Mit dieser Prop kann man verhindern, dass Kommandos eines Spielers
+   verarbeitet werden. Dies ist z.B. in Sequenzen nuetzlich, wo der Spieler
+   rein passiv konsumieren soll.
+   In diese Property muss ein Array mit 2 oder 3 Elementen geschrieben
+   werden:
+      1) Endzeitpunkt in Sekunden seit 1.1.1970 (int)
+      2) Meldung (String oder Closure)
+      3) (optional) Array von trotzdem erlaubten Verben (string*)
+        (nur ausgewertet, wenn die Meldung ein String ist)
+
+
+
+   Ist die Meldung ein String, wird dieser einfach bei jedem Kommando so wie
+   er ist an den Spieler ausgegeben und das Kommando abgebrochen.
+   Ist die Meldung eine Closure wird diese bei jedem Kommando aufgerufen und
+   das Kommando abgebrochen, wenn sie einen Rueckgabewert != 0 zurueckgibt.
+   In diesem Fall ist die gerufene Funktion dafuer verantwortlich, geeignete
+   Meldungen an den Spieler auszugeben!
+   Der Funktion wird der vom Spieler eingebene Befehl (string) als erstes
+   Argument uebergeben. Zu diesem Zeitpunkt wurde alle Aliase schon
+   ausgewertet. Die Funktion kann den Kommandogeber via this_player()
+   ermitteln.
+   Fuer weitere Informationen steht auch command_stack() zur Verfuegung,
+   allerdings ist dort die Alias-Ersetzung nicht beruecksichtigt.
+
+   Die Ausnahmeliste wird nur fuer simple Strings als Meldung ausgewertet,
+   wird eine Closure verwendet, kann diese besser selber die Ausnahmen
+   bestimmen.
+
+
+
+   Fragt man diese Prop ab, erhaelt man ein Array mit 4 Elementen: setzendes
+   Objekt (object), Ablaufzeit (int), Meldung (String oder Closure) und
+   Liste von Ausnahmen (string*).
+
+
+BEMERKUNGEN
+===========
+
+   1. Die Prop wird fuer Magier mit eingeschaltetem P_WANTS_TO_LEARN
+      ignoriert.
+   2. Wenn das Objekt zerstoert wird, was die Prop gesetzt hat, wird der
+      Eintrag unwirksam.
+   3. Wenn diese Prop gesetzt und nicht abgelaufen ist, kann nur das gleiche
+      Objekt sie mit neuen Daten ueberschreiben. Alle anderen Objekte koennen
+      die Prop nur loeschen. Dies soll verhindern, dass Magier unabsichtlich
+      einfach anderer Leute Eintraege ueberschreiben. Dementsprechend: Lasst
+      die Finger davon, wenn die schon gesetzt ist. ;-)
+   4. Diese Prop darf _ausschliesslich_ mit SetProp() und QueryProp() benutzt
+      werden, Set() und Query() funktionieren _nicht_.
+   5. Es gibt einige Verben, die NIE blockiert werden. Zur Zeit sind dies
+      "mrufe", "mschau", "bug", "idee", "typo" und "detail".
+   6. Bitte nicht missbrauchen, speziell nicht dazu, die Kommandos von
+      Spieler zu ueberwachen/mitzuschreiben. Das Setzen dieser Prop wird
+      geloggt.
+
+
+BEISPIEL
+========
+
    In einem Raum startet eine Sequenz, in der der Spieler nichts machen soll:
 
    if (!pl->QueryProp(P_DISABLE_COMMANDS))
       pl->SetProp(P_DISABLE_COMMANDS,
             ({ time() + 120, "Du bist tief in Deinem Traum gefangen!\n" }) );
    else // ... Fehlerbehandlung, falls Prop schon gesetzt ...
-   
+
+
+
    Soll die Prop aus irgendeinem Grund (vorzeitig) geloescht werden:
    pl->SetProp(P_DISABLE_COMMANDS, 0);
 
-SIEHE AUCH:
-     command(), query_command(), command_stack(), modify_command(), 
-     this_player()
+
+SIEHE AUCH
+==========
+
+   command(), query_command(), command_stack(), modify_command(),
+   this_player()
 
 01.12.2012, Zesstra
diff --git a/doc/props/P_DISTRIBUTION b/doc/props/P_DISTRIBUTION
index 529c53e..51140ae 100644
--- a/doc/props/P_DISTRIBUTION
+++ b/doc/props/P_DISTRIBUTION
@@ -1,16 +1,31 @@
-NAME:

-     P_DISTRIBUTION                "std_food_distribution"

-

-DEFINIERT IN:

-     /sys/food.h

-

-BESCHREIBUNG:

-     Verteilung der Heilung ueber mehrere Heartbeats.

-     Dieser Wert wird im entry_info als H_DISTRIBUTION dem consume() im

-     Living uebergeben.

-     

-SIEHE AUCH:

-     consume

-

-------------------------------------------------------------------------------

-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+P_DISTRIBUTION
+**************
+
+
+NAME
+====
+
+   P_DISTRIBUTION                "std_food_distribution"
+
+
+DEFINIERT IN
+============
+
+   /sys/food.h
+
+
+BESCHREIBUNG
+============
+
+   Verteilung der Heilung ueber mehrere Heartbeats.
+   Dieser Wert wird im entry_info als H_DISTRIBUTION dem consume() im
+   Living uebergeben.
+
+
+SIEHE AUCH
+==========
+
+   consume
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_DMSG b/doc/props/P_DMSG
index f43fbb4..40af065 100644
--- a/doc/props/P_DMSG
+++ b/doc/props/P_DMSG
@@ -1,8 +1,21 @@
-NAME:
-    P_DMSG                        "destmsg"                     
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_DMSG
+******
 
-BESCHREIBUNG:
-     *** OBSOLET! *** Siehe P_DESTRUCT_MSG
+
+NAME
+====
+
+   P_DMSG                        "destmsg"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   *** OBSOLET! *** Siehe P_DESTRUCT_MSG
diff --git a/doc/props/P_DOMAIN b/doc/props/P_DOMAIN
index 80fd1f7..aad5288 100644
--- a/doc/props/P_DOMAIN
+++ b/doc/props/P_DOMAIN
@@ -1,31 +1,50 @@
-NAME:
-    P_DOMAIN                                        "lib_p_domain"
 
-DEFINIERT IN:
-    /sys/room/description.h
+P_DOMAIN
+********
 
-BESCHREIBUNG:
-     Diese Property enthaelt die Region, in der ein Raum liegt, sofern er
-     in /d/ liegt.
 
-     Falls ein Raum nicht in /d/ liegt, aber es eigentlich ein Gebiet ist,
-     welches eindeutig in einer Region zugeordnet ist, kann der Magier
-     hier gezielt einen anderen Wert setzen.
-     
-     Bitte keine Regionen faelschen!
+NAME
+====
 
-BEISPIEL:
-     In /d/inseln/zesstra/vulkanweg/room/r1 liefert
-     QueryProp(P_DOMAIN)
-     ein "Inseln" zurueck.
+   P_DOMAIN                                        "lib_p_domain"
 
-     In einem Raum der Chaosgilde:
-     SetProp(P_DOMAIN, "Polar");
-     damit der Raum als Raum der Region Polar angezeigt wird.
 
-SIEHE AUCH:
-     gmcp
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt die Region, in der ein Raum liegt, sofern er
+   in /d/ liegt.
+
+   Falls ein Raum nicht in /d/ liegt, aber es eigentlich ein Gebiet ist,
+   welches eindeutig in einer Region zugeordnet ist, kann der Magier
+   hier gezielt einen anderen Wert setzen.
+
+
+
+   Bitte keine Regionen faelschen!
+
+
+BEISPIEL
+========
+
+   In /d/inseln/zesstra/vulkanweg/room/r1 liefert
+   QueryProp(P_DOMAIN)
+   ein "Inseln" zurueck.
+
+   In einem Raum der Chaosgilde:
+   SetProp(P_DOMAIN, "Polar");
+   damit der Raum als Raum der Region Polar angezeigt wird.
+
+
+SIEHE AUCH
+==========
+
+   gmcp
+
 23.02.2013, Zesstra
-
diff --git a/doc/props/P_DOOR_INFOS b/doc/props/P_DOOR_INFOS
index 8b5f71b..dc393da 100644
--- a/doc/props/P_DOOR_INFOS
+++ b/doc/props/P_DOOR_INFOS
@@ -1,44 +1,58 @@
-NAME:
-    P_DOOR_INFOS                  "door_infos"
 
-DEFINIERT IN:
-    /sys/doorroom.h
-
-BESCHREIBUNG:
-    Mapping mit Informationen ueber eine im Raum per NewDoor() definierte
-    Tuer. Diese Infos werden ueber /std/room/doors.c an den /obj/doormaster.c
-    weitergegeben und dem Raum, der die Tuer besitzt, als Property gesetzt.
-    Werden mehrere Tueren in einem Raum eingebunden, enthaelt das Mapping
-    entsprechend viele Eintraege.
-
-    Dieses Mapping dient zur internen Verwaltung der Tueren im
-    /obj/doormaster.c und sollte nicht per Hand veraendert werden!
-
-    Die Eintraege im Mapping haben folgende keys (definiert in
-    /sys/doorroom.h):
-
-    D_DEST : Zielraum (string)
-    D_CMDS : Befehl(e), um durch die Tuer zu gehen (string oder *string)
-    D_IDS  : IDs der Tuer (string oder *string)
-    D_FLAGS : Besondere Eigenschaften der Tuer (Tuer braucht Schluessel etc.)
-    D_LONG  : Langbeschreibung (string)
-    D_SHORT : Kurzbeschreibung (string)
-    D_NAME  : Name (string oder *string)
-    D_GENDER  : Geschlecht
-    D_FUNC    : Funktion, die VOR dem Durchschreiten der Tuer aufgerufen wird
-    D_MSGS    : Bewegungsmeldungen
-    D_FUNC2   : Funktion, die NACH dem Durchschreiten der Tuer aufgerufen wird
-    D_TESTFUNC  : Funktion die im Sartraum testet, ob die Tuer durchschritten
-                  werden darf
-    D_RESET_MSG : Meldungen beim Tuer-Reset
-    D_OPEN_WITH_MOVE : Falls gesetzt, wird die Tuer auch mit dem
-                       Bewegungsbefehl geoeffnet und durchschritten, falls
-                       Oeffnen erfolgreich
+P_DOOR_INFOS
+************
 
 
-SIEHE AUCH:
-    NewDoor(), QueryDoorKey(), QueryDoorStatus(), SetDoorStatus(),
-    /std/room/doors.c, /obj/doormaster.c, GetPhiolenInfos(), QueryAllDoors()
+NAME
+====
 
------------------------------------------------------------------------------
+   P_DOOR_INFOS                  "door_infos"
+
+
+DEFINIERT IN
+============
+
+   /sys/doorroom.h
+
+
+BESCHREIBUNG
+============
+
+   Mapping mit Informationen ueber eine im Raum per NewDoor() definierte
+   Tuer. Diese Infos werden ueber /std/room/doors.c an den /obj/doormaster.c
+   weitergegeben und dem Raum, der die Tuer besitzt, als Property gesetzt.
+   Werden mehrere Tueren in einem Raum eingebunden, enthaelt das Mapping
+   entsprechend viele Eintraege.
+
+   Dieses Mapping dient zur internen Verwaltung der Tueren im
+   /obj/doormaster.c und sollte nicht per Hand veraendert werden!
+
+   Die Eintraege im Mapping haben folgende keys (definiert in
+   /sys/doorroom.h):
+
+   D_DEST : Zielraum (string)
+   D_CMDS : Befehl(e), um durch die Tuer zu gehen (string oder *string)
+   D_IDS  : IDs der Tuer (string oder *string)
+   D_FLAGS : Besondere Eigenschaften der Tuer (Tuer braucht Schluessel etc.)
+   D_LONG  : Langbeschreibung (string)
+   D_SHORT : Kurzbeschreibung (string)
+   D_NAME  : Name (string oder *string)
+   D_GENDER  : Geschlecht
+   D_FUNC    : Funktion, die VOR dem Durchschreiten der Tuer aufgerufen wird
+   D_MSGS    : Bewegungsmeldungen
+   D_FUNC2   : Funktion, die NACH dem Durchschreiten der Tuer aufgerufen wird
+   D_TESTFUNC  : Funktion die im Sartraum testet, ob die Tuer durchschritten
+                 werden darf
+   D_RESET_MSG : Meldungen beim Tuer-Reset
+   D_OPEN_WITH_MOVE : Falls gesetzt, wird die Tuer auch mit dem
+                      Bewegungsbefehl geoeffnet und durchschritten, falls
+                      Oeffnen erfolgreich
+
+
+SIEHE AUCH
+==========
+
+   NewDoor(), QueryDoorKey(), QueryDoorStatus(), SetDoorStatus(),
+   /std/room/doors.c, /obj/doormaster.c, GetPhiolenInfos(), QueryAllDoors()
+
 Letzte Aenderung: Don, 08.05.2014, Gabylon
diff --git a/doc/props/P_DO_DESTRUCT b/doc/props/P_DO_DESTRUCT
index 7e9a230..6aa9384 100644
--- a/doc/props/P_DO_DESTRUCT
+++ b/doc/props/P_DO_DESTRUCT
@@ -1,17 +1,36 @@
-NAME:
-    P_DO_DESTRUCT                 "do_destruct"                 
 
-DEFINIERT IN:
-    /sys/properties.h
+P_DO_DESTRUCT
+*************
 
-BESCHREIBUNG:
-     Flag, ob sich die Lichtquelle am Ende der Leuchtzeit selbst
-     zerstoert. 
 
-SIEHE AUCH:
-     Basisklassen: /std/lightsource.c
-     Properties: P_FUEL, P_LIGHTDESC, P_LIGHT
-     Methoden: AddFuel(L)
+NAME
+====
 
-LETZTE AENDERUNG:
-    22. Dez. 2015, Arathorn
+   P_DO_DESTRUCT                 "do_destruct"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Flag, ob sich die Lichtquelle am Ende der Leuchtzeit selbst
+   zerstoert.
+
+
+SIEHE AUCH
+==========
+
+   Basisklassen: /std/lightsource.c
+   Properties: P_FUEL, P_LIGHTDESC, P_LIGHT
+   Methoden: AddFuel(L)
+
+
+LETZTE AENDERUNG
+================
+
+   22. Dez. 2015, Arathorn
diff --git a/doc/props/P_DRINK b/doc/props/P_DRINK
index f2fe982..028e987 100644
--- a/doc/props/P_DRINK
+++ b/doc/props/P_DRINK
@@ -1,25 +1,39 @@
-NAME:
-     P_DRINK                       "drink"
 
-DEFINIERT IN:
-     /sys/living/life.h
+P_DRINK
+*******
 
-BESCHREIBUNG:
 
-     - Lebewesen
-       Numerischer Wert fuer den Saettigungsgrad eines Lebewesens mit
-       Getraenken. Der maximale Wert steht in P_MAX_DRINK.
+NAME
+====
 
-     - Speisen/Kneipen
-       Numerischer Wert fuer den Saettigungsgrad einer Portion eines
-       Getraenkes. Ist diese Property nicht gesetzt oder zusaetzlich
-       P_FOOD gesetzt, kann man diese Speise nicht trinken. Eine
-       funktionierende Speise _muss_ entweder P_FOOD oder P_DRINK
-       groesser 0 gesetzt haben.
-     
-SIEHE AUCH:
-     P_MAX_DRINK, P_DRINK_DELAY, consume
-     P_FOOD, P_ALCOHOL, wiz/food
+   P_DRINK                       "drink"
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   - Lebewesen
+     Numerischer Wert fuer den Saettigungsgrad eines Lebewesens mit
+     Getraenken. Der maximale Wert steht in P_MAX_DRINK.
+
+   - Speisen/Kneipen
+     Numerischer Wert fuer den Saettigungsgrad einer Portion eines
+     Getraenkes. Ist diese Property nicht gesetzt oder zusaetzlich
+     P_FOOD gesetzt, kann man diese Speise nicht trinken. Eine
+     funktionierende Speise _muss_ entweder P_FOOD oder P_DRINK
+     groesser 0 gesetzt haben.
+
+
+SIEHE AUCH
+==========
+
+   P_MAX_DRINK, P_DRINK_DELAY, consume
+   P_FOOD, P_ALCOHOL, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_DRINK_DELAY b/doc/props/P_DRINK_DELAY
index 0118843..1617b47 100644
--- a/doc/props/P_DRINK_DELAY
+++ b/doc/props/P_DRINK_DELAY
@@ -1,10 +1,23 @@
-NAME:
-    P_DRINK_DELAY                 "drink_delay"                     
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_DRINK_DELAY
+*************
 
-BESCHREIBUNG:
-     Anzahl der heart_beats, bis P_DRINK um einen Punkt sinkt.
-     Aenderungen dieser Property in Spielern beduerfen der 
-     Genehmigung des EM fuer Balance.
+
+NAME
+====
+
+   P_DRINK_DELAY                 "drink_delay"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der heart_beats, bis P_DRINK um einen Punkt sinkt.
+   Aenderungen dieser Property in Spielern beduerfen der
+   Genehmigung des EM fuer Balance.
diff --git a/doc/props/P_DRINK_FULL_MSG b/doc/props/P_DRINK_FULL_MSG
index 2903af3..1e5c2ce 100644
--- a/doc/props/P_DRINK_FULL_MSG
+++ b/doc/props/P_DRINK_FULL_MSG
@@ -1,24 +1,45 @@
-NAME:
-     P_DRINK_FULL_MSG              "std_food_drink_full_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_DRINK_FULL_MSG
+****************
 
-BESCHREIBUNG:
-     Meldung an den Konsumenten, wenn ein Getraenk getrunken werden soll,
-     obwohl dieser nichts mehr trinken kann.
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "So viel kannst Du im Moment nicht trinken."
 
-SIEHE AUCH:
-     P_DRINK, P_MAX_DRINK, wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_DRINK_FULL_MSG              "std_food_drink_full_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Konsumenten, wenn ein Getraenk getrunken werden soll,
+   obwohl dieser nichts mehr trinken kann.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "So viel kannst Du im Moment nicht trinken."
+
+
+SIEHE AUCH
+==========
+
+   P_DRINK, P_MAX_DRINK, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_DROP_MSG b/doc/props/P_DROP_MSG
index 5a4c9d7..9ccb875 100644
--- a/doc/props/P_DROP_MSG
+++ b/doc/props/P_DROP_MSG
@@ -1,62 +1,96 @@
+
 P_DROP_MSG
-NAME:
-     P_DROP_MSG				"drop_message" 
+**********
 
-DEFINIERT IN:
-     /sys/living/put_and_get.h
 
-BESCHREIBUNG:
-     Mit P_DROP_MSG kann man die Meldung, die man beim Ablegen eines
-     Objektes bekommt, modifizieren.
+NAME
+====
 
-     Folgende Werte sind moeglich:
-	
-     o 0
-       Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung. 
-	  
-     o NO_PNG_MSG       == -1
-       Es wird keinerlei Meldung ausgegeben
-	  
-     o Ein Array aus Strings 
-       Der erste String wird an den Spieler ausgegeben, der zweite 
-       (optionale) an den Raum. 
-	  
-       Die Strings werden durch die Funktion replace_personal() geparst.
-	Objekt1 - Spieler
-        Objekt2 - das Objekt, das fallengelassen wird
-	  
-       Wird der zweite String nicht angegeben, erfolgt keine Meldung an
-       den Raum.
-				
-BEISPIEL:
-     void create() {
-      ...
-      SetProp( P_SHORT, "Ugars Handaxt" );
-      SetProp( P_LONG, break_string(
-       "Dieses ist eine Kampfaxt, wie sie Orks normalerweise benutzen. "
-       "Da Du Zeit hast, sie Dir anzuschauen, ist der Besitzer wohl "
-       "bereits bei Lars.",78 ));
-	  
-      SetProp( P_NAME, "Axt" );
-      AddId( ({"handaxt","axt"}) );
-      SetProp( P_GENDER, FEMALE );
-	  
-      SetProp( P_DROP_MSG, ({
-       "Du schmeisst @WEN2 hin.",
-       "@WER1 schmeisst Dir @WENU2 vor die Fuesse.\n"}));
-      ...
-     }
+   P_DROP_MSG                         "drop_message"
 
-     Will Ugar seine Axt ablegen und gibt "lasse axt fallen" ein, werden 
-     folgende Meldungen ausgegeben:
-	
-     Ugar: "Du schmeisst die Axt hin."
-     Raum: "Ugar schmeisst Dir eine Axt vor die Fuesse."
-	
-SIEHE AUCH:
-     Aehnliches: P_PICK_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
-     Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
-                 P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET 
-     Sonstiges:  replace_personal(E), drop_obj(L), /std/living/put_and_get.c
+
+DEFINIERT IN
+============
+
+   /sys/living/put_and_get.h
+
+
+BESCHREIBUNG
+============
+
+   Mit P_DROP_MSG kann man die Meldung, die man beim Ablegen eines
+   Objektes bekommt, modifizieren.
+
+   Folgende Werte sind moeglich:
+
+
+
+   o 0
+     Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
+
+
+
+   o NO_PNG_MSG       == -1
+     Es wird keinerlei Meldung ausgegeben
+
+
+
+   o Ein Array aus Strings
+     Der erste String wird an den Spieler ausgegeben, der zweite
+     (optionale) an den Raum.
+
+
+
+     Die Strings werden durch die Funktion replace_personal() geparst.
+      Objekt1 - Spieler
+      Objekt2 - das Objekt, das fallengelassen wird
+
+
+
+     Wird der zweite String nicht angegeben, erfolgt keine Meldung an
+     den Raum.
+
+
+BEISPIEL
+========
+
+   void create() {
+    ...
+    SetProp( P_SHORT, "Ugars Handaxt" );
+    SetProp( P_LONG, break_string(
+     "Dieses ist eine Kampfaxt, wie sie Orks normalerweise benutzen. "
+     "Da Du Zeit hast, sie Dir anzuschauen, ist der Besitzer wohl "
+     "bereits bei Lars.",78 ));
+
+
+
+    SetProp( P_NAME, "Axt" );
+    AddId( ({"handaxt","axt"}) );
+    SetProp( P_GENDER, FEMALE );
+
+
+
+    SetProp( P_DROP_MSG, ({
+     "Du schmeisst @WEN2 hin.",
+     "@WER1 schmeisst Dir @WENU2 vor die Fuesse.\n"}));
+    ...
+   }
+
+   Will Ugar seine Axt ablegen und gibt "lasse axt fallen" ein, werden
+   folgende Meldungen ausgegeben:
+
+
+
+   Ugar: "Du schmeisst die Axt hin."
+   Raum: "Ugar schmeisst Dir eine Axt vor die Fuesse."
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_PICK_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
+   Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+               P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
+   Sonstiges:  replace_personal(E), drop_obj(L), /std/living/put_and_get.c
 
 14. Maerz 2004 Gloinson
diff --git a/doc/props/P_EARMUFFS b/doc/props/P_EARMUFFS
index 97e6b1c..e5b4bbb 100644
--- a/doc/props/P_EARMUFFS
+++ b/doc/props/P_EARMUFFS
@@ -1,9 +1,22 @@
-NAME:
-    P_EARMUFFS                    "earmuffs"                    
 
-DEFINIERT IN:
-    /sys/properties.h
+P_EARMUFFS
+**********
 
-BESCHREIBUNG:
-     Shouts von Spielern und Magiern mit Magierlevel < earmuffs werden
-     abgeblockt (Nur fuer Magier).
+
+NAME
+====
+
+   P_EARMUFFS                    "earmuffs"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Shouts von Spielern und Magiern mit Magierlevel < earmuffs werden
+   abgeblockt (Nur fuer Magier).
diff --git a/doc/props/P_EATER_MSG b/doc/props/P_EATER_MSG
index 99ae4d3..132469d 100644
--- a/doc/props/P_EATER_MSG
+++ b/doc/props/P_EATER_MSG
@@ -1,23 +1,44 @@
-NAME:
-     P_EATER_MSG                   "std_food_eater_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_EATER_MSG
+***********
 
-BESCHREIBUNG:
-     Meldung an den Konsumenten, wenn eine Speise konsumiert wird.
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "Du konsumierst @WEN1."
 
-SIEHE AUCH:
-     /std/food.c, wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_EATER_MSG                   "std_food_eater_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Konsumenten, wenn eine Speise konsumiert wird.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "Du konsumierst @WEN1."
+
+
+SIEHE AUCH
+==========
+
+   /std/food.c, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_EFFECTIVE_AC b/doc/props/P_EFFECTIVE_AC
index ff7dd53..5473d5d 100644
--- a/doc/props/P_EFFECTIVE_AC
+++ b/doc/props/P_EFFECTIVE_AC
@@ -1,87 +1,107 @@
+
 P_EFFECTIVE_AC
+**************
 
-NAME:
-     P_EFFECTIVE_AC      "effective_ac"
 
-DEFINIERT IN:
-     <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Property kommt sowohl in Ruestungen als auch in Waffen, die
-     schuetzen sollen, zum Einsatz.
+   P_EFFECTIVE_AC      "effective_ac"
 
-     In Ruestungen kann hier der Effektivwert der Ruestungsklasse vermerkt
-     werden, wenn diese noch durch eine DefendFunc() modifiziert wird
-     (soweit sich ein solcher Effektivwert angeben laesst).
 
-     In einigen Gilden koennen Waffen auch als Ruestung eingesetzt werden
-     (z.B. beim Parieren eines Angriffs). In dieser Property kann man die
-     Ruestungsklasse eintragen, die die Waffe bei solchen Aktionen aufweisen
-     soll. Dabei ist man an die ueblichen Beschraenkungen der
-     Ruestungsklasse gebunden! (s. /sys/combat.h)
+DEFINIERT IN
+============
 
-BERMERKUNGEN:
-     Das Kaempferspellbook verwendet fuer Paraden etc. P_EFFECTIVE_AC anstatt
-     P_AC, wenn verfuegbar.
+   <combat.h>
 
-BEISPIELE:
-     * DefendFuncs: 
-       Der doppelte Mittelwert der DefendFunc wird zur Basis-AC dazuaddiert,
-       da sich der 'Schutzwert = random(Basis-AC) + absolut(DefendFunc-Wert)'
-       berechnet.
 
-     // #1 Eine Ruestung mit P_AC von 35 und randomisierter DefendFunc
-        SetProp(P_AC, 35);
-        SetProp(P_DEFEND_FUNC, this_object());
+BESCHREIBUNG
+============
 
-        int DefendFunc(...) {
-          return random(20);                       // Mittelwert: 10
-        }
-        -> SetProp(P_EFFECTIVE_AC, 55);            // 35 + 2*10 = 55
+   Diese Property kommt sowohl in Ruestungen als auch in Waffen, die
+   schuetzen sollen, zum Einsatz.
 
-     // #2 Eine Ruestung mit P_AC von 35 und teilrandomisierter DefendFunc
-        SetProp(P_AC, 35);
-        SetProp(P_DEFEND_FUNC, this_object());
+   In Ruestungen kann hier der Effektivwert der Ruestungsklasse vermerkt
+   werden, wenn diese noch durch eine DefendFunc() modifiziert wird
+   (soweit sich ein solcher Effektivwert angeben laesst).
 
-        int DefendFunc(...) {
-          return 20 + random(10);                  // Mittelwert: 20 + 5
-        }
-        -> SetProp(P_EFFECTIVE_AC, 85);            // 35 + 2*(20+5) = 85
+   In einigen Gilden koennen Waffen auch als Ruestung eingesetzt werden
+   (z.B. beim Parieren eines Angriffs). In dieser Property kann man die
+   Ruestungsklasse eintragen, die die Waffe bei solchen Aktionen aufweisen
+   soll. Dabei ist man an die ueblichen Beschraenkungen der
+   Ruestungsklasse gebunden! (s. /sys/combat.h)
 
-     * Sonderfunktion im Kontext der Kaempfergilde:
-       Auch wenn der eigentliche AC-Wert durch keine DefendFunc oAe
-       modifiziert wird, sind abweichende Werte in P_EFFECTIVE_AC zB in der
-       Kaempfergilde fuer Paraden oder aehnliches sinnvoll. Maximalwert ist
-       dafuer der doppelte Wert des Basis-AC-Wertes.
 
-     // #3 Ein schon sehr gutes Schild, welches bei der Schildparade aber
-     //    noch besser schuetzen soll.
-        SetProp(P_ARMOUR_TYPE, AT_SHIELD);
-        SetProp(P_AC, 38);
-        SetProp(P_EFFECTIVE_AC, 55);
+BERMERKUNGEN
+============
 
-     // #4 Ein sehr labbriges Schild schuetzt zwar gegen normale Schlaege,
-     //    ist zum Parieren aber irgendwie ungeeignet weil unkontrollierbar.
-        SetProp(P_ARMOUR_TYPE, AT_SHIELD);
-        SetProp(P_AC, 38);
-        SetProp(P_EFFECTIVE_AC, 20);
+   Das Kaempferspellbook verwendet fuer Paraden etc. P_EFFECTIVE_AC anstatt
+   P_AC, wenn verfuegbar.
 
-     * Waffen:
-       P_EFFECTIVE_AC wird im Kaempferspellbook als Bonus dazugezaehlt! Daher
-       sollten gute Parierwaffen auch einen niedrigeren P_WC-Wert haben.
-       Reine Parierwaffen duerfen den maximalen AC-Wert von Schilden als
-       Maximum gesetzt haben - die Balance klaert ggf, ob das auch auf den
-       Gildenparierwert anwendbar ist.
 
-     // #5 Eine maessige Hellebarde/Axtwaffe mit Parierhaken.
-        SetProp(P_WEAPON_TYPE, WT_AXE);
-        SetProp(P_WC, 100);
-        SetProp(P_EFFECTIVE_AC, 25);
+BEISPIELE
+=========
 
-SIEHE AUCH:
-     Waffen:     P_WC, P_TOTAL_WC, P_EFFECTIVE_WC, HitFunc()
-     Ruestungen: P_AC, P_TOTAL_AC, DefendFunc()
-     Files:      /std/weapon.c, /std/weapon/combat.c
-     Balance:    waffen, ruestungen, properties, kaempferboni
+   * DefendFuncs:
+     Der doppelte Mittelwert der DefendFunc wird zur Basis-AC dazuaddiert,
+     da sich der 'Schutzwert = random(Basis-AC) + absolut(DefendFunc-Wert)'
+     berechnet.
+
+   // #1 Eine Ruestung mit P_AC von 35 und randomisierter DefendFunc
+      SetProp(P_AC, 35);
+      SetProp(P_DEFEND_FUNC, this_object());
+
+      int DefendFunc(...) {
+        return random(20);                       // Mittelwert: 10
+      }
+      -> SetProp(P_EFFECTIVE_AC, 55);            // 35 + 2*10 = 55
+
+   // #2 Eine Ruestung mit P_AC von 35 und teilrandomisierter DefendFunc
+      SetProp(P_AC, 35);
+      SetProp(P_DEFEND_FUNC, this_object());
+
+      int DefendFunc(...) {
+        return 20 + random(10);                  // Mittelwert: 20 + 5
+      }
+      -> SetProp(P_EFFECTIVE_AC, 85);            // 35 + 2*(20+5) = 85
+
+   * Sonderfunktion im Kontext der Kaempfergilde:
+     Auch wenn der eigentliche AC-Wert durch keine DefendFunc oAe
+     modifiziert wird, sind abweichende Werte in P_EFFECTIVE_AC zB in der
+     Kaempfergilde fuer Paraden oder aehnliches sinnvoll. Maximalwert ist
+     dafuer der doppelte Wert des Basis-AC-Wertes.
+
+   // #3 Ein schon sehr gutes Schild, welches bei der Schildparade aber
+   //    noch besser schuetzen soll.
+      SetProp(P_ARMOUR_TYPE, AT_SHIELD);
+      SetProp(P_AC, 38);
+      SetProp(P_EFFECTIVE_AC, 55);
+
+   // #4 Ein sehr labbriges Schild schuetzt zwar gegen normale Schlaege,
+   //    ist zum Parieren aber irgendwie ungeeignet weil unkontrollierbar.
+      SetProp(P_ARMOUR_TYPE, AT_SHIELD);
+      SetProp(P_AC, 38);
+      SetProp(P_EFFECTIVE_AC, 20);
+
+   * Waffen:
+     P_EFFECTIVE_AC wird im Kaempferspellbook als Bonus dazugezaehlt! Daher
+     sollten gute Parierwaffen auch einen niedrigeren P_WC-Wert haben.
+     Reine Parierwaffen duerfen den maximalen AC-Wert von Schilden als
+     Maximum gesetzt haben - die Balance klaert ggf, ob das auch auf den
+     Gildenparierwert anwendbar ist.
+
+   // #5 Eine maessige Hellebarde/Axtwaffe mit Parierhaken.
+      SetProp(P_WEAPON_TYPE, WT_AXE);
+      SetProp(P_WC, 100);
+      SetProp(P_EFFECTIVE_AC, 25);
+
+
+SIEHE AUCH
+==========
+
+   Waffen:     P_WC, P_TOTAL_WC, P_EFFECTIVE_WC, HitFunc()
+   Ruestungen: P_AC, P_TOTAL_AC, DefendFunc()
+   Files:      /std/weapon.c, /std/weapon/combat.c
+   Balance:    waffen, ruestungen, properties, kaempferboni
 
 6. Nov 2011 Gloinson
diff --git a/doc/props/P_EFFECTIVE_WC b/doc/props/P_EFFECTIVE_WC
index 0328629..aa16980 100644
--- a/doc/props/P_EFFECTIVE_WC
+++ b/doc/props/P_EFFECTIVE_WC
@@ -1,86 +1,112 @@
+
 P_EFFECTIVE_WC
+**************
 
-NAME:
-     P_EFFECTIVE_WC     "effective_wc"
 
-DEFINIERT IN:
-     <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Property kommt sowohl in Waffen als auch Ruestungen, die Schaden
-     machen sollen, zum Einsatz.
+   P_EFFECTIVE_WC     "effective_wc"
 
-     Falls die Staerke einer Waffe noch durch eine HitFunc() modifiziert
-     wird, sollte hier der Effektivwert der Waffenklasse vermerkt werden,
-     soweit er sich angeben laesst.
-     Diese Property dient vor allem dazu, eine Waffe mit HitFunc() korrekt
-     einzuschaetzen.
 
-     In einigen Gilden koennen Ruestungen auch als Waffen eingesetzt werden
-     (z.B. ein Paar Schuhe zum Treten). In dieser Property kann man die
-     Waffenklasse eintragen, die die Ruestung bei solchen Aktionen aufweisen
-     soll. Dabei ist man an die ueblichen Beschraenkungen der Waffenklasse
-     gebunden! (s. /sys/combat.h)
-     Der Ruestung kann man dann auch einen Schadenstyp mit auf den Weg
-     geben.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Das Kaempferspellbook verwendet bei Ruestungen P_AC, wenn
-     P_EFFECTIVE_WC nicht gesetzt ist.
+   <combat.h>
 
-BEISPIELE:
-     * HitFuncs:
-       Der doppelte Mittelwert der HitFunc wird zur Basis-WC dazuaddiert,
-       da sich der 'Angriffswert = random(Basis-WC) + absolut(HitFunc-Wert)'
-       berechnet.
 
-     // #1 Waffe mit Basis-WC 120 und randomisierter HitFunc
-        SetProp(P_WC, 120);
-        SetProp(P_HIT_FUNC, this_object());
-       
-        int HitFunc(...) {
-          return random(30);                       // Mittelwert: 15
-        }
-        -> SetProp(P_EFFECTIVE_WC, 150);           // 120 + 2*15 = 150
-     
-     // #2 Waffe mit Basis-WC 120 und teilweise absoluter HitFunc
-        SetProp(P_WC, 120);
-        SetProp(P_HIT_FUNC, this_object());
-       
-        int HitFunc(...) {
-          return 30 + random(10);                  // Mittelwert: 30 + 5
-        }
-        -> SetProp(P_EFFECTIVE_WC, 190);           // 120 + 2*(30+5) = 190
+BESCHREIBUNG
+============
 
-     * Ruestungen (zB Gildennutzung):
-       Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der jeweils
-       doppelte maximale P_AC-Wert. Angabe eines Schadenstyps ist sinnvoll.
+   Diese Property kommt sowohl in Waffen als auch Ruestungen, die Schaden
+   machen sollen, zum Einsatz.
 
-     // #3 Ein paar Schuhe, mit maximalem Schlag-/Saeureschaden.
-        SetProp(P_ARMOUR_TYPE, AT_BOOT);
-        SetProp(P_AC, 2);
-        SetProp(P_DAM_TYPE, ({DT_BLUDGEON,DT_ACID}));
-        -> SetProp(P_EFFECTIVE_WC, 12);  // hoechstmoeglicher Wert bei
-                                         // Schuhen, da deren max. P_AC = 6
-     // aequivalent und zukunftssicher:
-        -> SetProp(P_EFFECTIVE_WC, 2 * VALID_ARMOUR_CLASS[AT_BOOT]);
+   Falls die Staerke einer Waffe noch durch eine HitFunc() modifiziert
+   wird, sollte hier der Effektivwert der Waffenklasse vermerkt werden,
+   soweit er sich angeben laesst.
+   Diese Property dient vor allem dazu, eine Waffe mit HitFunc() korrekt
+   einzuschaetzen.
 
-     // #4 Ein Schild mit spitzem Dorn. (Stichschaden beim Schildstoss.)
-        SetProp(P_ARMOUR_TYPE, AT_SHIELD);
-        SetProp(P_AC, 5);
-        SetProp(P_DAM_TYPE, ({DT_PIERCE}));
-        SetProp(P_EFFECTIVE_WC, 55);
+   In einigen Gilden koennen Ruestungen auch als Waffen eingesetzt werden
+   (z.B. ein Paar Schuhe zum Treten). In dieser Property kann man die
+   Waffenklasse eintragen, die die Ruestung bei solchen Aktionen aufweisen
+   soll. Dabei ist man an die ueblichen Beschraenkungen der Waffenklasse
+   gebunden! (s. /sys/combat.h)
+   Der Ruestung kann man dann auch einen Schadenstyp mit auf den Weg
+   geben.
 
-     // #5 Ein Gummischild ist schlecht fuer Angriffe. BOING!
-        SetProp(P_ARMOUR_TYPE, AT_SHIELD);
-        SetProp(P_AC, 30);
-        SetProp(P_DAM_TYPE, ({DT_BLUDGEON}));
-        SetProp(P_EFFECTIVE_WC, 10);
 
-SIEHE AUCH:
-     Waffen:     P_WC, P_TOTAL_WC, HitFunc()
-     Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc()
-     Files:      /std/weapon.c, /std/weapon/combat.c
-     Balance:    waffen, ruestungen, properties, kaempferboni
+BEMERKUNGEN
+===========
+
+   Das Kaempferspellbook verwendet bei Ruestungen P_AC, wenn
+   P_EFFECTIVE_WC nicht gesetzt ist.
+
+
+BEISPIELE
+=========
+
+   * HitFuncs:
+     Der doppelte Mittelwert der HitFunc wird zur Basis-WC dazuaddiert,
+     da sich der 'Angriffswert = random(Basis-WC) + absolut(HitFunc-Wert)'
+     berechnet.
+
+   // #1 Waffe mit Basis-WC 120 und randomisierter HitFunc
+      SetProp(P_WC, 120);
+      SetProp(P_HIT_FUNC, this_object());
+
+
+
+      int HitFunc(...) {
+        return random(30);                       // Mittelwert: 15
+      }
+      -> SetProp(P_EFFECTIVE_WC, 150);           // 120 + 2*15 = 150
+
+
+
+   // #2 Waffe mit Basis-WC 120 und teilweise absoluter HitFunc
+      SetProp(P_WC, 120);
+      SetProp(P_HIT_FUNC, this_object());
+
+
+
+      int HitFunc(...) {
+        return 30 + random(10);                  // Mittelwert: 30 + 5
+      }
+      -> SetProp(P_EFFECTIVE_WC, 190);           // 120 + 2*(30+5) = 190
+
+   * Ruestungen (zB Gildennutzung):
+     Der Maximalwert fuer die P_EFFECTIVE_WC bei Kaempfern ist der jeweils
+     doppelte maximale P_AC-Wert. Angabe eines Schadenstyps ist sinnvoll.
+
+   // #3 Ein paar Schuhe, mit maximalem Schlag-/Saeureschaden.
+      SetProp(P_ARMOUR_TYPE, AT_BOOT);
+      SetProp(P_AC, 2);
+      SetProp(P_DAM_TYPE, ({DT_BLUDGEON,DT_ACID}));
+      -> SetProp(P_EFFECTIVE_WC, 12);  // hoechstmoeglicher Wert bei
+                                       // Schuhen, da deren max. P_AC = 6
+   // aequivalent und zukunftssicher:
+      -> SetProp(P_EFFECTIVE_WC, 2 * VALID_ARMOUR_CLASS[AT_BOOT]);
+
+   // #4 Ein Schild mit spitzem Dorn. (Stichschaden beim Schildstoss.)
+      SetProp(P_ARMOUR_TYPE, AT_SHIELD);
+      SetProp(P_AC, 5);
+      SetProp(P_DAM_TYPE, ({DT_PIERCE}));
+      SetProp(P_EFFECTIVE_WC, 55);
+
+   // #5 Ein Gummischild ist schlecht fuer Angriffe. BOING!
+      SetProp(P_ARMOUR_TYPE, AT_SHIELD);
+      SetProp(P_AC, 30);
+      SetProp(P_DAM_TYPE, ({DT_BLUDGEON}));
+      SetProp(P_EFFECTIVE_WC, 10);
+
+
+SIEHE AUCH
+==========
+
+   Waffen:     P_WC, P_TOTAL_WC, HitFunc()
+   Ruestungen: P_AC, P_TOTAL_AC, P_EFFECTIVE_AC, DefendFunc()
+   Files:      /std/weapon.c, /std/weapon/combat.c
+   Balance:    waffen, ruestungen, properties, kaempferboni
 
 6. Nov 2011 Gloinson
diff --git a/doc/props/P_EMPTY_MSG b/doc/props/P_EMPTY_MSG
index 7248d8e..e91d622 100644
--- a/doc/props/P_EMPTY_MSG
+++ b/doc/props/P_EMPTY_MSG
@@ -1,24 +1,45 @@
-NAME:
-     P_EMPTY_MSG                   "std_food_eater_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_EMPTY_MSG
+***********
 
-BESCHREIBUNG:
-     Meldung an den Konsumenten, wenn versucht wird, eine aufgebrauchte Speise
-     (also einen leeren Behaelter) zu konsumieren.
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise (also den leeren Behaelter)
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "@WER1 ist bereits leer."
 
-SIEHE AUCH:
-     /std/food.c, wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_EMPTY_MSG                   "std_food_eater_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Konsumenten, wenn versucht wird, eine aufgebrauchte Speise
+   (also einen leeren Behaelter) zu konsumieren.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise (also den leeren Behaelter)
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "@WER1 ist bereits leer."
+
+
+SIEHE AUCH
+==========
+
+   /std/food.c, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_EMPTY_PROPS b/doc/props/P_EMPTY_PROPS
index a8156d7..6f5c126 100644
--- a/doc/props/P_EMPTY_PROPS
+++ b/doc/props/P_EMPTY_PROPS
@@ -1,33 +1,54 @@
-NAME:
-     P_EMPTY_PROPS                 "std_food_empty_props"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_EMPTY_PROPS
+*************
 
-BESCHREIBUNG:
-     Mapping mit Properties fuer den leeren Behaelter, der uebrig bleibt,wenn
-     eine Speise aufgebraucht ist. Alle enthaltenen Properties werden gesetzt,
-     wenn keine Portionen mehr vorhanden sind.
-     Bereits in diesen Properties eingetragene Werte werden ueberschrieben!
-     Wenn diese Property nicht gesetzt ist, wird die Speise zerstoert, wenn
-     alle Portionen aufgebraucht ist - es bleibt also kein Behaelter zurueck.
-     Achtung: Es werden keine closures in diesem Mapping unterstuetzt!
-     
-BEMERKUNGEN:
-     Bei der Abfrage von P_VALUE und P_WEIGHT in der Speise, werden die dazu
-     in P_EMPTY_PROPS gespeicherten Werte verwendet, um das Gewicht/Wert des
-     leeren Behaelters zum Gesamtwert der Speise zu addieren.
-     Man kann alle Properties in dieses Mapping eintragen, die sich in der
-     Speise per SetProp setzen lassen. Zusaetzlich kann man Arrays in P_IDS
-     und P_ADJECTIVES speichern, die per Add-Methode in der Speise
-     hinzugefuegt werden, nachdem die im create() der Speise hinzugefuegten
-     Ids/Adjectives dort entfernt wurden.
-     
-BEISPIELE:
-     Beispiele zur Verwendung findet man unter /doc/beispiele/food
 
-SIEHE AUCH:
-     /std/food.c, wiz/food
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_EMPTY_PROPS                 "std_food_empty_props"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Mapping mit Properties fuer den leeren Behaelter, der uebrig bleibt,wenn
+   eine Speise aufgebraucht ist. Alle enthaltenen Properties werden gesetzt,
+   wenn keine Portionen mehr vorhanden sind.
+   Bereits in diesen Properties eingetragene Werte werden ueberschrieben!
+   Wenn diese Property nicht gesetzt ist, wird die Speise zerstoert, wenn
+   alle Portionen aufgebraucht ist - es bleibt also kein Behaelter zurueck.
+   Achtung: Es werden keine closures in diesem Mapping unterstuetzt!
+
+
+BEMERKUNGEN
+===========
+
+   Bei der Abfrage von P_VALUE und P_WEIGHT in der Speise, werden die dazu
+   in P_EMPTY_PROPS gespeicherten Werte verwendet, um das Gewicht/Wert des
+   leeren Behaelters zum Gesamtwert der Speise zu addieren.
+   Man kann alle Properties in dieses Mapping eintragen, die sich in der
+   Speise per SetProp setzen lassen. Zusaetzlich kann man Arrays in P_IDS
+   und P_ADJECTIVES speichern, die per Add-Methode in der Speise
+   hinzugefuegt werden, nachdem die im create() der Speise hinzugefuegten
+   Ids/Adjectives dort entfernt wurden.
+
+
+BEISPIELE
+=========
+
+   Beispiele zur Verwendung findet man unter /doc/beispiele/food
+
+
+SIEHE AUCH
+==========
+
+   /std/food.c, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_ENABLE_IN_ATTACK_OUT b/doc/props/P_ENABLE_IN_ATTACK_OUT
index d60a807..0a64c74 100644
--- a/doc/props/P_ENABLE_IN_ATTACK_OUT
+++ b/doc/props/P_ENABLE_IN_ATTACK_OUT
@@ -1,33 +1,51 @@
-NAME:
-	P_ENABLE_IN_ATTACK_OUT		"enable_in_attack_out"
 
-DEFINIERT IN:
-	/sys/combat.h
+P_ENABLE_IN_ATTACK_OUT
+**********************
 
-BESCHREIBUNG:
-	Normalerweise wird die bekannte Taktik Rein-Angriff-Raus
-	standardmaessig unterbunden, damit NPCs auch eine Chance haben, sich
-	zu verteidigen. Hierzu wird der Schaden innerhalb do_damage()
-	durch einen Wert geteilt, der sich aus der Verweildauer des
-	Angreifers im Raum ergibt (bis zu 3 Sekunden).
-	Da manche NPCs so konzeptioniert wurden, dass man sie nur mit der
-	erwaehnten Taktik toeten kann, kann man sie auch explizit erlauben
-	(manche NPCs verwenden auch eigene Methoden, diese Taktik zu
-	 verbieten, und sie waere dann doppelt abgefangen).
-	Hierzu setzt man einfach die Property P_ENABLE_IN_ATTACK_OUT im NPC.
 
-BEISPIEL:
-	Das folgende Beispiel erlaubt einfach mal die angesprochene Taktik:
-	  void create()
-	  { ...
-	    SetProp(P_ENABLE_IN_ATTACK_OUT,1);
-	    ...
-	  }
-	Jetzt kann man den NPC mit Rein-Angriff-Raus auch wirkungsvoll
-	bekaempfen.
+NAME
+====
 
-SIEHE AUCH:
-	do_damage(), P_LAST_MOVE, /std/living/life.c
+   P_ENABLE_IN_ATTACK_OUT          "enable_in_attack_out"
 
------------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Normalerweise wird die bekannte Taktik Rein-Angriff-Raus
+   standardmaessig unterbunden, damit NPCs auch eine Chance haben, sich
+   zu verteidigen. Hierzu wird der Schaden innerhalb do_damage()
+   durch einen Wert geteilt, der sich aus der Verweildauer des
+   Angreifers im Raum ergibt (bis zu 3 Sekunden).
+   Da manche NPCs so konzeptioniert wurden, dass man sie nur mit der
+   erwaehnten Taktik toeten kann, kann man sie auch explizit erlauben
+   (manche NPCs verwenden auch eigene Methoden, diese Taktik zu
+    verbieten, und sie waere dann doppelt abgefangen).
+   Hierzu setzt man einfach die Property P_ENABLE_IN_ATTACK_OUT im NPC.
+
+
+BEISPIEL
+========
+
+   Das folgende Beispiel erlaubt einfach mal die angesprochene Taktik:
+     void create()
+     { ...
+       SetProp(P_ENABLE_IN_ATTACK_OUT,1);
+       ...
+     }
+   Jetzt kann man den NPC mit Rein-Angriff-Raus auch wirkungsvoll
+   bekaempfen.
+
+
+SIEHE AUCH
+==========
+
+   do_damage(), P_LAST_MOVE, /std/living/life.c
+
 Last modified: Sat Jan 30 12:53:00 1999 by Patryn
diff --git a/doc/props/P_ENEMY_DAMAGE b/doc/props/P_ENEMY_DAMAGE
index 216339d..bad9c99 100644
--- a/doc/props/P_ENEMY_DAMAGE
+++ b/doc/props/P_ENEMY_DAMAGE
@@ -1,31 +1,48 @@
+
 P_ENEMY_DAMAGE
+**************
 
-NAME:
-     P_ENEMY_DAMAGE "enemy_damage"
 
-DEFINIERT IN:
-     <living/life.h>
+NAME
+====
 
-BESCHREIBUNG:
-     In dieser Property ist vermerkt, welches Wesen diesem Wesen wieviel
-     Schaden zugefuegt hat.
+   P_ENEMY_DAMAGE "enemy_damage"
 
-     Die Property enthaelt ein Mapping, das den Angreifern den
-     errechten Schaden zuordnet:
-     ([ <obname1>: <damage>; <owner>, ... ])
 
-       <obname1>: Name des Objekts, das den Schaden verursacht hat (string),
-                  z.B. "/magier:zesstra"
-       <damage> : Schadensmenge (int)
-       <owner>  : wenn das schadensverursachende Wesen ein NPC war/ist,
-                  welches P_HELPER_NPC gesetzt hatte und somit einem Spieler
-                  hilft, steht hier das Objekt des jeweiligen Spielers
-                  (object)
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Diese Property laesst sich nur abfragen!
+   <living/life.h>
 
-SIEHE AUCH:
-     P_HELPER_NPC
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   In dieser Property ist vermerkt, welches Wesen diesem Wesen wieviel
+   Schaden zugefuegt hat.
+
+   Die Property enthaelt ein Mapping, das den Angreifern den
+   errechten Schaden zuordnet:
+   ([ <obname1>: <damage>; <owner>, ... ])
+
+     <obname1>: Name des Objekts, das den Schaden verursacht hat (string),
+                z.B. "/magier:zesstra"
+     <damage> : Schadensmenge (int)
+     <owner>  : wenn das schadensverursachende Wesen ein NPC war/ist,
+                welches P_HELPER_NPC gesetzt hatte und somit einem Spieler
+                hilft, steht hier das Objekt des jeweiligen Spielers
+                (object)
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property laesst sich nur abfragen!
+
+
+SIEHE AUCH
+==========
+
+   P_HELPER_NPC
+
 26.10.2009, Zesstra
diff --git a/doc/props/P_ENEMY_DEATH_SEQUENCE b/doc/props/P_ENEMY_DEATH_SEQUENCE
index 260d325..03b2bec 100644
--- a/doc/props/P_ENEMY_DEATH_SEQUENCE
+++ b/doc/props/P_ENEMY_DEATH_SEQUENCE
@@ -1,44 +1,61 @@
+
 P_ENEMY_DEATH_SEQUENCE
+**********************
 
-NAME:
-     P_ENEMY_DEATH_SEQUENCE        "enemy_death_sequence"
 
-DEFINIERT IN:
-     /sys/living/combat.h
+NAME
+====
 
-BESCHREIBUNG:
-     Ueber diese Property kann Einfluss auf die Todessequenz eines getoeten
-     Spielers genommen werden. Sie muss im toetenden Objekt, d.h. dem
-     Objekt welches die()/do_damage()/Defend() im Spieler gerufen hat,
-     gesetzt sein.
+   P_ENEMY_DEATH_SEQUENCE        "enemy_death_sequence"
 
-     Es gibt folgende gueltige Werte:
-     - string: Pfad zu einer eigenen Todessequenz im gueltigen Format
-     - mixed*  Eine Todessequenz im Format des Todesraumes:
-               ({<int gesamtlaenge>,
-                 ([<int index1>: <string umgebrochene Meldung1>,
-                   <int index2>: <string umgebrochene Meldung2>,
-                   ...])
-               })
-     - mapping In die Standard-Lars-Todessequenz einzufuegende Zeilen:
-               ([<int zeitindex>: <string umgebrochener Text>])
 
-BEISPIELE:
-     // Pfad zu einer eigenen DSQ
-     SetProp(P_ENEMY_DEATH_SEQUENCE,  ".../passende_dsq.txt");
+DEFINIERT IN
+============
 
-     // eigene DSQ im Todesraumformat:
-     SetProp(P_ENEMY_DEATH_SEQUENCE,
-             ({ 2, ([1: "DU LERNST AUS DEINEM FEHLER.\n"])}));
+   /sys/living/combat.h
 
-     // Einfuegen einer Meldung (des NPCs) in die Standard-Todessequenz
-     SetProp(P_ENEMY_DEATH_SEQUENCE,
-             ([5: "Du hoerst "+name(WEN)+" hoehnisch kichern.\n"]));
 
-SIEHE AUCH:
-     Tod:            die(L)
-     Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
-                     P_ZAP_MSG, P_NEXT_DEATH_SEQUENCE
-     Sonstiges:      P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+BESCHREIBUNG
+============
 
-10. Nov 2011 Gloinson
\ No newline at end of file
+   Ueber diese Property kann Einfluss auf die Todessequenz eines getoeten
+   Spielers genommen werden. Sie muss im toetenden Objekt, d.h. dem
+   Objekt welches die()/do_damage()/Defend() im Spieler gerufen hat,
+   gesetzt sein.
+
+   Es gibt folgende gueltige Werte:
+   - string: Pfad zu einer eigenen Todessequenz im gueltigen Format
+   - mixed*  Eine Todessequenz im Format des Todesraumes:
+             ({<int gesamtlaenge>,
+               ([<int index1>: <string umgebrochene Meldung1>,
+                 <int index2>: <string umgebrochene Meldung2>,
+                 ...])
+             })
+   - mapping In die Standard-Lars-Todessequenz einzufuegende Zeilen:
+             ([<int zeitindex>: <string umgebrochener Text>])
+
+
+BEISPIELE
+=========
+
+   // Pfad zu einer eigenen DSQ
+   SetProp(P_ENEMY_DEATH_SEQUENCE,  ".../passende_dsq.txt");
+
+   // eigene DSQ im Todesraumformat:
+   SetProp(P_ENEMY_DEATH_SEQUENCE,
+           ({ 2, ([1: "DU LERNST AUS DEINEM FEHLER.\n"])}));
+
+   // Einfuegen einer Meldung (des NPCs) in die Standard-Todessequenz
+   SetProp(P_ENEMY_DEATH_SEQUENCE,
+           ([5: "Du hoerst "+name(WEN)+" hoehnisch kichern.\n"]));
+
+
+SIEHE AUCH
+==========
+
+   Tod:            die(L)
+   Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
+                   P_ZAP_MSG, P_NEXT_DEATH_SEQUENCE
+   Sonstiges:      P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+
+10. Nov 2011 Gloinson
diff --git a/doc/props/P_ENTERCMDS b/doc/props/P_ENTERCMDS
index 0f7e3d9..fc6f72f 100644
--- a/doc/props/P_ENTERCMDS
+++ b/doc/props/P_ENTERCMDS
@@ -1,33 +1,57 @@
-NAME:
-    P_ENTERCMDS                   "leavecmds"                   
 
-DEFINIERT IN:
-    /sys/transport.h
+P_ENTERCMDS
+***********
 
-BESCHREIBUNG:
-    Ein Array mit Befehlen, die zum Betreten des Transporters fuehren. 
 
-BEISPIEL:
-    SetProp(P_ENTERCMDS,({ "betrete","betritt" }) );
+NAME
+====
 
-    Gibt der Spieler nun 'betrete xxx' ein, so sorgt /std/transport.c 
-    dafuer, das der Spieler auch auf oder in den Transporter bewegt 
-    wird. Vorausgesetzt natuerlich, er ist an einem Haltepunkt ange-
-    langt und es ist genuegend Platz dort.
+   P_ENTERCMDS                   "leavecmds"
 
-BEMERKUNGEN:
-    Um /std/transport.c nicht aufzublaehen, werden weitere Argumente wie
-    etwa 'betrete das|die|den xxx' _nicht_ unterstuetzt!
 
-    Hier muss der verantwortliche Magier schon eine eigene Loesung finden
-    und in seinen Transporter schreiben.
+DEFINIERT IN
+============
 
-    Sollen Kommandos zum Betreten UND Verlassen eines Transporters ver-
-    wendet werden koennen, muessen diese in P_TRAVEL_CMDS gesetzt werden.
+   /sys/transport.h
 
-SIEHE AUCH:
-    P_LEAVEFAIL, P_ENTERFAIL, P_LEAVECMDS, P_TRAVEL_CMDS, transporter,
 
-LETZTE AENDERUNG:
-    Don, 24.01.2002, 10:15:07h von Tilly
-    
\ No newline at end of file
+BESCHREIBUNG
+============
+
+   Ein Array mit Befehlen, die zum Betreten des Transporters fuehren.
+
+
+BEISPIEL
+========
+
+   SetProp(P_ENTERCMDS,({ "betrete","betritt" }) );
+
+   Gibt der Spieler nun 'betrete xxx' ein, so sorgt /std/transport.c
+   dafuer, das der Spieler auch auf oder in den Transporter bewegt
+   wird. Vorausgesetzt natuerlich, er ist an einem Haltepunkt ange-
+   langt und es ist genuegend Platz dort.
+
+
+BEMERKUNGEN
+===========
+
+   Um /std/transport.c nicht aufzublaehen, werden weitere Argumente wie
+   etwa 'betrete das|die|den xxx' _nicht_ unterstuetzt!
+
+   Hier muss der verantwortliche Magier schon eine eigene Loesung finden
+   und in seinen Transporter schreiben.
+
+   Sollen Kommandos zum Betreten UND Verlassen eines Transporters ver-
+   wendet werden koennen, muessen diese in P_TRAVEL_CMDS gesetzt werden.
+
+
+SIEHE AUCH
+==========
+
+   P_LEAVEFAIL, P_ENTERFAIL, P_LEAVECMDS, P_TRAVEL_CMDS, transporter,
+
+
+LETZTE AENDERUNG
+================
+
+   Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_ENTERFAIL b/doc/props/P_ENTERFAIL
index 2ecd1e6..5291065 100644
--- a/doc/props/P_ENTERFAIL
+++ b/doc/props/P_ENTERFAIL
@@ -1,24 +1,48 @@
-NAME:
-    P_ENTERFAIL                   "enterfail"                   
 
-DEFINIERT IN:
-    /sys/transport.h
+P_ENTERFAIL
+***********
 
-BESCHREIBUNG:
-     Meldung an den Spieler, wenn er einen vollen Transporter betreten 
-     will. Ist die Propertie ein Array, so wird das erste Element als
-     Meldung an den Spieler, das zweite als Meldung an die Mitspieler 
-     im Raum geschickt.
 
-BEISPIEL:
-     SetProp(P_ENTERFAIL,"Dort ist wirklich kein Platz mehr fuer Dich");
-     
-     SetProp(P_ENTERFAIL, ({ "Dort ist wirklich kein Platz mehr fuer Dich",
-                             "versucht, auf die Kutsche zu klettern, wird "
-                            +"aber wieder heruntergeschickt" }) );
+NAME
+====
 
-SIEHE AUCH:
-     P_ENTERMSG, P_LEAVEFAIL, P_LEAVEMSG, transporter
+   P_ENTERFAIL                   "enterfail"
 
-LETZTE AENDERUNG:
-    Don, 24.01.2002, 10:15:07h von Tilly
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Spieler, wenn er einen vollen Transporter betreten
+   will. Ist die Propertie ein Array, so wird das erste Element als
+   Meldung an den Spieler, das zweite als Meldung an die Mitspieler
+   im Raum geschickt.
+
+
+BEISPIEL
+========
+
+   SetProp(P_ENTERFAIL,"Dort ist wirklich kein Platz mehr fuer Dich");
+
+
+
+   SetProp(P_ENTERFAIL, ({ "Dort ist wirklich kein Platz mehr fuer Dich",
+                           "versucht, auf die Kutsche zu klettern, wird "
+                          +"aber wieder heruntergeschickt" }) );
+
+
+SIEHE AUCH
+==========
+
+   P_ENTERMSG, P_LEAVEFAIL, P_LEAVEMSG, transporter
+
+
+LETZTE AENDERUNG
+================
+
+   Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_ENTERMSG b/doc/props/P_ENTERMSG
index 2a2128e..9ba314d 100644
--- a/doc/props/P_ENTERMSG
+++ b/doc/props/P_ENTERMSG
@@ -1,18 +1,40 @@
-NAME:
-    P_ENTERMSG                    "entermsg"                    
 
-DEFINIERT IN:
-    /sys/transport.h
+P_ENTERMSG
+**********
 
-BESCHREIBUNG:
-     Array mit zwei Meldungen, eine fuer den Raum, den der Spieler
-     verlaesst, und eine fuer den Transporter, in den er geht.
 
-BEISPIEL:
-     SetProp(P_ENTERMSG, ({ "klettert in die Kutsche","klettert herein" }) );
+NAME
+====
 
-SIEHE AUCH:
-     P_ENTERFAIL, P_LEAVEFAIL, P_LEAVEMSG, transporter
+   P_ENTERMSG                    "entermsg"
 
-LETZTER AENDERUNG:
-    Don, 24.01.2002, 10:15:07h von Tilly
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Array mit zwei Meldungen, eine fuer den Raum, den der Spieler
+   verlaesst, und eine fuer den Transporter, in den er geht.
+
+
+BEISPIEL
+========
+
+   SetProp(P_ENTERMSG, ({ "klettert in die Kutsche","klettert herein" }) );
+
+
+SIEHE AUCH
+==========
+
+   P_ENTERFAIL, P_LEAVEFAIL, P_LEAVEMSG, transporter
+
+
+LETZTER AENDERUNG
+=================
+
+   Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_ENV_MSG b/doc/props/P_ENV_MSG
index b39e2c1..e969399 100644
--- a/doc/props/P_ENV_MSG
+++ b/doc/props/P_ENV_MSG
@@ -1,26 +1,47 @@
-NAME:
-     P_ENV_MSG                     "std_food_env_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_ENV_MSG
+*********
 
-BESCHREIBUNG:
-     Meldung an den Konsumenten, wenn eine Speise konsumiert werden soll,
-     die nicht im eigenen Inventory liegt.
-     Wenn diese Property leer ist, kann man die Speise dann sogar
-     konsumieren!
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "Vielleicht solltest Du @WEN1 vorher nehmen."
 
-SIEHE AUCH:
-     wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_ENV_MSG                     "std_food_env_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Konsumenten, wenn eine Speise konsumiert werden soll,
+   die nicht im eigenen Inventory liegt.
+   Wenn diese Property leer ist, kann man die Speise dann sogar
+   konsumieren!
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "Vielleicht solltest Du @WEN1 vorher nehmen."
+
+
+SIEHE AUCH
+==========
+
+   wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_ENV_TOO_HEAVY_MSG b/doc/props/P_ENV_TOO_HEAVY_MSG
index 8c73ac1..23c1d6c 100644
--- a/doc/props/P_ENV_TOO_HEAVY_MSG
+++ b/doc/props/P_ENV_TOO_HEAVY_MSG
@@ -1,31 +1,50 @@
-NAME:
-    P_ENV_TOO_HEAVY_MSG                      "env_too_heavy_msg"                      
 
-DEFINIERT IN:
-    /sys/thing/moving.h
+P_ENV_TOO_HEAVY_MSG
+*******************
 
-BESCHREIBUNG:
-     Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
-     versucht, ein Objekt in einen Behaelter zu legen, und dieser dann fuer
-     sein Environment zu schwer wird.
-     Die Property ist im Behaelter zu setzen.
-     Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
-     so wird die Standardmeldung ausgegeben.
-     ("<Behaelter> wuerde dir dann zu schwer werden.")
-     Der String in der Property wird noch durch replace_personal()
-     verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
-     zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
-     umgebrochen.
-     Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
-     ganz.
 
-BEISPIELE:
-     SetProp(P_ENV_TOO_HEAVY_MSG, "Mit @WEM1 koenntest du den Rucksack nicht"
-                                  " mehr tragen.");
+NAME
+====
 
-SIEHE AUCH:
-     Aehnliches: P_TOO_HEAVY_MSG, P_TOO_MANY_MSG, P_NOINSERT_MSG,
-                 P_NOLEAVE_MSG, P_NODROP, P_NOGET 
-     Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
-                 P_WEAR_MSG, P_WIELD_MSG
-     Sonstiges:  replace_personal(E), /std/living/put_and_get.c
+   P_ENV_TOO_HEAVY_MSG                      "env_too_heavy_msg"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
+   versucht, ein Objekt in einen Behaelter zu legen, und dieser dann fuer
+   sein Environment zu schwer wird.
+   Die Property ist im Behaelter zu setzen.
+   Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
+   so wird die Standardmeldung ausgegeben.
+   ("<Behaelter> wuerde dir dann zu schwer werden.")
+   Der String in der Property wird noch durch replace_personal()
+   verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
+   zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
+   umgebrochen.
+   Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
+   ganz.
+
+
+BEISPIELE
+=========
+
+   SetProp(P_ENV_TOO_HEAVY_MSG, "Mit @WEM1 koenntest du den Rucksack nicht"
+                                " mehr tragen.");
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_TOO_HEAVY_MSG, P_TOO_MANY_MSG, P_NOINSERT_MSG,
+               P_NOLEAVE_MSG, P_NODROP, P_NOGET
+   Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+               P_WEAR_MSG, P_WIELD_MSG
+   Sonstiges:  replace_personal(E), /std/living/put_and_get.c
diff --git a/doc/props/P_EQUIP_TIME b/doc/props/P_EQUIP_TIME
index 71b2f35..ee0d07f 100644
--- a/doc/props/P_EQUIP_TIME
+++ b/doc/props/P_EQUIP_TIME
@@ -1,26 +1,39 @@
+
 P_EQUIP_TIME
+************
 
-NAME:
-      P_EQUIP_TIME			"equip_time"
 
-DEFINIERT IN:
-      /sys/combat.h
+NAME
+====
 
-BESCHREIBUNG:
-      Innerhalb von Waffen und Ruestungen wird in dieser Property

-      registriert, wann diese zuletzt gezueckt bzw. angezogen wurden.
-      Innerhalb der Funktionen wield_me() in '/std/weapon/combat' bzw.

-      DoWear() in '/std/armour/combat' wird hierbei jeweils folgende Aktion

-      ausgefuehrt:
-	SetProp(P_EQUIP_TIME,time());
+   P_EQUIP_TIME                      "equip_time"
 
-SIEHE AUCH:
-      Verwandt:		P_LAST_USE
-      Waffen:		P_UNWIELD_TIME
-			DoWield()
-      Ruestungen:	DoWear()
-      Sonstiges:	time()
-			/std/weapon/combat.c, /std/armour/combat.c
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Innerhalb von Waffen und Ruestungen wird in dieser Property
+   registriert, wann diese zuletzt gezueckt bzw. angezogen wurden.
+   Innerhalb der Funktionen wield_me() in '/std/weapon/combat' bzw.
+   DoWear() in '/std/armour/combat' wird hierbei jeweils folgende Aktion
+   ausgefuehrt:
+     SetProp(P_EQUIP_TIME,time());
+
+
+SIEHE AUCH
+==========
+
+   Verwandt:         P_LAST_USE
+   Waffen:           P_UNWIELD_TIME
+                     DoWield()
+   Ruestungen:       DoWear()
+   Sonstiges:        time()
+                     /std/weapon/combat.c, /std/armour/combat.c
+
 Last modified: Sun Jul 26 23:59:12 1998 by Patryn
diff --git a/doc/props/P_EVAL_FACTORS b/doc/props/P_EVAL_FACTORS
index 04e881e..ed83d4e 100644
--- a/doc/props/P_EVAL_FACTORS
+++ b/doc/props/P_EVAL_FACTORS
@@ -1,8 +1,21 @@
-NAME:
-    P_EVAL_FACTORS                "inpc_eval_factors"           
 
-DEFINIERT IN:
-    /sys/inpc/eval.h
+P_EVAL_FACTORS
+**************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_EVAL_FACTORS                "inpc_eval_factors"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/eval.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_EVAL_OFFSETS b/doc/props/P_EVAL_OFFSETS
index d82ef39..e571f51 100644
--- a/doc/props/P_EVAL_OFFSETS
+++ b/doc/props/P_EVAL_OFFSETS
@@ -1,8 +1,21 @@
-NAME:
-    P_EVAL_OFFSETS                "inpc_eval_offsets"           
 
-DEFINIERT IN:
-    /sys/inpc/eval.h
+P_EVAL_OFFSETS
+**************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_EVAL_OFFSETS                "inpc_eval_offsets"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/eval.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_EXITS b/doc/props/P_EXITS
index 9a90c60..c31bac3 100644
--- a/doc/props/P_EXITS
+++ b/doc/props/P_EXITS
@@ -1,24 +1,45 @@
-NAME:
-    P_EXITS                       "exits"                       
 
-DEFINIERT IN:
-    /sys/properties.h
+P_EXITS
+*******
 
-BESCHREIBUNG:
-    Mapping (der Breite 2) aller unmittelbar sichtbaren Ausgaenge mit
-    zugehoerigen Nachbarraeumen und der jeweiligen Bewegungsmeldung.
 
-BEMERKUNG:
-    Enthaelt auch SpecialExits, bei der Abfrage mit QueryProp() werden
-    diese jedoch ausgefiltert.
-    
-    Zugriff nur mit den dafuer vorgesehenen Funktionen, bitte nicht aendern.
-  
-SIEHE AUCH:
-     AddExit(), AddSpecialExit(), GetExits(),
-     RemoveExit(), RemoveSpecialExit(),
-     GuardExit(),
-     H_HOOK_EXIT_USE, P_SPECIAL_EXITS, P_HIDE_EXITS, /std/room/exits.c
-     ausgaenge
+NAME
+====
+
+   P_EXITS                       "exits"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Mapping (der Breite 2) aller unmittelbar sichtbaren Ausgaenge mit
+   zugehoerigen Nachbarraeumen und der jeweiligen Bewegungsmeldung.
+
+
+BEMERKUNG
+=========
+
+   Enthaelt auch SpecialExits, bei der Abfrage mit QueryProp() werden
+   diese jedoch ausgefiltert.
+
+
+
+   Zugriff nur mit den dafuer vorgesehenen Funktionen, bitte nicht aendern.
+
+
+SIEHE AUCH
+==========
+
+   AddExit(), AddSpecialExit(), GetExits(),
+   RemoveExit(), RemoveSpecialExit(),
+   GuardExit(),
+   H_HOOK_EXIT_USE, P_SPECIAL_EXITS, P_HIDE_EXITS, /std/room/exits.c
+   ausgaenge
 
 Letzte Aenderung: 22.12.2016, Bugfix
diff --git a/doc/props/P_EXTRA_LOOK b/doc/props/P_EXTRA_LOOK
new file mode 100644
index 0000000..e4f050e
--- /dev/null
+++ b/doc/props/P_EXTRA_LOOK
@@ -0,0 +1,52 @@
+
+P_EXTRA_LOOK
+************
+
+
+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, 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
+=========
+
+   NUR dann benutzen, wenn ihr auch unabhaengig vom Extralook ein Objekt im
+   Spieler benoetigt, ansonsten IMMER AddExtraLook() verwenden.
+
+
+SIEHE AUCH
+==========
+
+         long(), /std/living/description.c, /std/player/base.c
+   AddExtraLook(), RemoveExtraLook()
+
+16.02.2017, Bugfix
diff --git a/doc/props/P_FAO b/doc/props/P_FAO
index 62f33e1..33f673e 100644
--- a/doc/props/P_FAO
+++ b/doc/props/P_FAO
@@ -1,19 +1,33 @@
+
 P_FAO
+*****
 
-NAME:
-     P_FAO      "fraternitasdonoarchmagorum"
 
-DEFINIERT IN:
-     <player/fao.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Fraternitas-relevante Property.
+   P_FAO      "fraternitasdonoarchmagorum"
 
-     Genaue Informationen unbekannt.
-     Schreibender Zugriff ist nur EMs oder dem FAOMASTER (s. Headerfile)
-     moeglich.
 
-SIEHE AUCH:
-     P_FAO_PORTALS
+DEFINIERT IN
+============
+
+   <player/fao.h>
+
+
+BESCHREIBUNG
+============
+
+   Fraternitas-relevante Property.
+
+   Genaue Informationen unbekannt.
+   Schreibender Zugriff ist nur EMs oder dem FAOMASTER (s. Headerfile)
+   moeglich.
+
+
+SIEHE AUCH
+==========
+
+   P_FAO_PORTALS
 
 1.September 2008 Gloinson
diff --git a/doc/props/P_FAO_PORTALS b/doc/props/P_FAO_PORTALS
index 465750a..5d80c90 100644
--- a/doc/props/P_FAO_PORTALS
+++ b/doc/props/P_FAO_PORTALS
@@ -1,22 +1,36 @@
+
 P_FAO_PORTALS
+*************
 
-NAME:
-     P_FAO_PORTALS      "fraternitasdonoarchmagorumPORTALS"
 
-DEFINIERT IN:
-     <player/fao.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Fraternitas-relevante Property.
+   P_FAO_PORTALS      "fraternitasdonoarchmagorumPORTALS"
 
-     Enthaelt eine Array mit einer Liste der ueber die Fraternitas
-     gefundenen und benutzbaren Seher-Portale.
 
-     Genaue Informationen unbekannt.
-     Schreibender Zugriff ist nur EMs oder dem FAOMASTER (s. Headerfile) 
-     moeglich.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     P_FAO_PORTALS, P_SEERDOORS
-     
+   <player/fao.h>
+
+
+BESCHREIBUNG
+============
+
+   Fraternitas-relevante Property.
+
+   Enthaelt eine Array mit einer Liste der ueber die Fraternitas
+   gefundenen und benutzbaren Seher-Portale.
+
+   Genaue Informationen unbekannt.
+   Schreibender Zugriff ist nur EMs oder dem FAOMASTER (s. Headerfile)
+   moeglich.
+
+
+SIEHE AUCH
+==========
+
+   P_FAO_PORTALS, P_SEERDOORS
+
 1.September 2008 Gloinson
diff --git a/doc/props/P_FISH b/doc/props/P_FISH
index c694c09..0fa259f 100644
--- a/doc/props/P_FISH
+++ b/doc/props/P_FISH
@@ -1,75 +1,92 @@
-NAME:
-    P_FISH                        "fish"
 
-DEFINIERT IN:
-    /sys/fishing.h
+P_FISH
+******
 
-BESCHREIBUNG:
-    Enthaelt Einstellungen zu allem, was mit Fischen zu tun hat. 
-    Kann in Fischen, Raeumen und Koedern gesetzt werden. Die verfuegbaren 
-    Optionen und Funktionsweisen sind in den nachfolgenden Abschnitten 
-    aufgefuehrt.
 
-    Fische:
-    *******
-    Die Property legt zusaetzliche Eigenschaften fest:
+NAME
+====
 
-      F_NOROTTEN
-        Fisch fault nicht; ggf. sollte hier auch gleich F_NOHEAL gesetzt 
-        werden, weil sonst eine unverderbliche tragbare Tanke erzeugt wuerde.
-      F_NOTHUNGRY
-        Fisch frisst Koeder nur, wenn er auch wirklich nachher an der Angel
-        haengt. Ist er zu schwer fuer die Angel und reisst ab, bleibt der
-        Koeder erhalten.
-      F_REPLACE
-        Fisch soll sich beim Entfernen von der Angel verwandeln. Hierzu ist
-        die Funktion ReplaceFish() im Fisch zu definieren, die sich um die
-        Verwandlung kuemmert (z.B. Monster clonen und Fisch zerstoeren; ein
-        Beispiel findet sich in /d/ebene/fraggle/angel2/obj/saegefisch.c).
-      F_NOHEAL
-        Fisch heilt nicht bei Verzehr
+   P_FISH                        "fish"
 
-    Raum (OPTIONAL):
-    ****************
-    Legt die Fischdichte des Gewaessers fest. Der eingestellte Wert wirkt 
-    sich auf die Wartezeit aus, die der Angler verbringen muss, bis ein 
-    Fisch anbeisst. Berechnung im Detail (alle Zahlenwerte in Sekunden):
-    - Basis-Wartezeit: delay = 80
-    - Die Werte von P_FISH von Raum und Koeder werden addiert:
-      summe = raum->QueryProp(P_FISH) + koeder->QueryProp(P_FISH)
-      -> positive Werte (Bonus) werden auf 60 begrenzt und mit Zufalls-
-         komponente von <delay> abgezogen:
-         delay -= random(summe)
-      -> negative Werte (Malus) werden auf -300 begrenzt und mit Zufalls-
-         komponente auf <delay> aufgeschlagen:
-         delay += random(-summe)
 
-    Zusaetzlich wird ein weiterer Malus auf die Wartezeit faellig, falls 
-    P_WATER in der Angel und/oder P_WATER im Koeder nicht zum aktuellen 
-    Gewaesser passen. Der Malus betraegt jeweils 60+random(60) Sekunden.
-    
-    Der Standardwert fuer P_FISH im Raum ist 0 und bedeutet 100 % Bestand.
-    Positive Werte erhoehen die Dichte, negative senken sie. Positive Werte 
-    sollten nicht >100 sein.
+DEFINIERT IN
+============
 
-    Sofern sich die Werte fuer P_FISH in den empfohlenen Grenzen bewegen,
-    koennen Abzuege fuer falsches Gewaesser ueblicherweise kaum durch
-    Boni auf Angel oder Koeder kompensiert werden. Ausserdem ist zu
-    bedenken, dass es keine Boni fuer richtige Gewaesserwahl gibt.
- 
+   /sys/fishing.h
 
-    Koeder (OPTIONAL):
-    ******************
-    Ein Koeder kann mittels P_FISH die Fischdichte modifizieren, um hierueber
-    ein besseres Beissen der Fische zu simulieren (reduziert die Wartezeit
-    beim Angeln, siehe oben unter "Raum"). Wenn also der Raum einen Wert
-    von -100 gesetzt hat und der Koeder +100, entspricht die Fischdichte im 
-    Gewaesser wieder dem Normalwert.
 
-SIEHE AUCH:
+BESCHREIBUNG
+============
 
-    Properties: P_WATER
-    Methoden:   GetAquarium(L)
+   Enthaelt Einstellungen zu allem, was mit Fischen zu tun hat.
+   Kann in Fischen, Raeumen und Koedern gesetzt werden. Die verfuegbaren
+   Optionen und Funktionsweisen sind in den nachfolgenden Abschnitten
+   aufgefuehrt.
 
-------------------------------------------------------------------------------
+   Fische:
+   *******
+   Die Property legt zusaetzliche Eigenschaften fest:
+
+     F_NOROTTEN
+       Fisch fault nicht; ggf. sollte hier auch gleich F_NOHEAL gesetzt
+       werden, weil sonst eine unverderbliche tragbare Tanke erzeugt wuerde.
+     F_NOTHUNGRY
+       Fisch frisst Koeder nur, wenn er auch wirklich nachher an der Angel
+       haengt. Ist er zu schwer fuer die Angel und reisst ab, bleibt der
+       Koeder erhalten.
+     F_REPLACE
+       Fisch soll sich beim Entfernen von der Angel verwandeln. Hierzu ist
+       die Funktion ReplaceFish() im Fisch zu definieren, die sich um die
+       Verwandlung kuemmert (z.B. Monster clonen und Fisch zerstoeren; ein
+       Beispiel findet sich in /d/ebene/fraggle/angel2/obj/saegefisch.c).
+     F_NOHEAL
+       Fisch heilt nicht bei Verzehr
+
+   Raum (OPTIONAL):
+   ****************
+   Legt die Fischdichte des Gewaessers fest. Der eingestellte Wert wirkt
+   sich auf die Wartezeit aus, die der Angler verbringen muss, bis ein
+   Fisch anbeisst. Berechnung im Detail (alle Zahlenwerte in Sekunden):
+   - Basis-Wartezeit: delay = 80
+   - Die Werte von P_FISH von Raum und Koeder werden addiert:
+     summe = raum->QueryProp(P_FISH) + koeder->QueryProp(P_FISH)
+     -> positive Werte (Bonus) werden auf 60 begrenzt und mit Zufalls-
+        komponente von <delay> abgezogen:
+        delay -= random(summe)
+     -> negative Werte (Malus) werden auf -300 begrenzt und mit Zufalls-
+        komponente auf <delay> aufgeschlagen:
+        delay += random(-summe)
+
+   Zusaetzlich wird ein weiterer Malus auf die Wartezeit faellig, falls
+   P_WATER in der Angel und/oder P_WATER im Koeder nicht zum aktuellen
+   Gewaesser passen. Der Malus betraegt jeweils 60+random(60) Sekunden.
+
+
+
+   Der Standardwert fuer P_FISH im Raum ist 0 und bedeutet 100 % Bestand.
+   Positive Werte erhoehen die Dichte, negative senken sie. Positive Werte
+   sollten nicht >100 sein.
+
+   Sofern sich die Werte fuer P_FISH in den empfohlenen Grenzen bewegen,
+   koennen Abzuege fuer falsches Gewaesser ueblicherweise kaum durch
+   Boni auf Angel oder Koeder kompensiert werden. Ausserdem ist zu
+   bedenken, dass es keine Boni fuer richtige Gewaesserwahl gibt.
+
+
+
+   Koeder (OPTIONAL):
+   ******************
+   Ein Koeder kann mittels P_FISH die Fischdichte modifizieren, um hierueber
+   ein besseres Beissen der Fische zu simulieren (reduziert die Wartezeit
+   beim Angeln, siehe oben unter "Raum"). Wenn also der Raum einen Wert
+   von -100 gesetzt hat und der Koeder +100, entspricht die Fischdichte im
+   Gewaesser wieder dem Normalwert.
+
+
+SIEHE AUCH
+==========
+
+   Properties: P_WATER
+   Methoden:   GetAquarium(L)
+
 Zuletzt geaendert: 2014-Aug-21, Arathorn
diff --git a/doc/props/P_FLAGS b/doc/props/P_FLAGS
index 3c54aea..3962aed 100644
--- a/doc/props/P_FLAGS
+++ b/doc/props/P_FLAGS
@@ -1,8 +1,21 @@
-NAME:
-    P_FLAGS                       "can_flags"                   
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_FLAGS
+*******
 
-BESCHREIBUNG:
-     Flags des Spielers
+
+NAME
+====
+
+   P_FLAGS                       "can_flags"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Flags des Spielers
diff --git a/doc/props/P_FOLLOW_SILENT b/doc/props/P_FOLLOW_SILENT
index 7662ad1..6dd07b3 100644
--- a/doc/props/P_FOLLOW_SILENT
+++ b/doc/props/P_FOLLOW_SILENT
@@ -1,9 +1,22 @@
-NAME:
-    P_FOLLOW_SILENT               "follow_silent"               
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_FOLLOW_SILENT
+***************
 
-BESCHREIBUNG:
-     Wenn diese Property 1 ist, wird der MOVE vom verfolge Silent ausge-
-     fuehrt.
+
+NAME
+====
+
+   P_FOLLOW_SILENT               "follow_silent"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Wenn diese Property 1 ist, wird der MOVE vom verfolge Silent ausge-
+   fuehrt.
diff --git a/doc/props/P_FOOD b/doc/props/P_FOOD
index 769694f..3858431 100644
--- a/doc/props/P_FOOD
+++ b/doc/props/P_FOOD
@@ -1,24 +1,38 @@
-NAME:
-     P_FOOD                        "food"
 
-DEFINIERT IN:
-     /sys/living/life.h
+P_FOOD
+******
 
-BESCHREIBUNG:
 
-     - Lebewesen
-       Numerischer Wert fuer den Saettigungsgrad eines Lebewesens.
-       Der maximale Wert steht in P_MAX_FOOD.
+NAME
+====
 
-     - Speisen/Kneipen
-       Numerischer Wert fuer den Saettigungsgrad einer Portion einer
-       Speise. Ist diese Property nicht gesetzt, kann man diese
-       Speise nicht essen. Eine funktionierende Speise _muss_ entweder
-       P_FOOD oder P_DRINK groesser 0 gesetzt haben.
+   P_FOOD                        "food"
 
-SIEHE AUCH:
-     P_MAX_FOOD, P_FOOD_DELAY, consume,
-     P_DRINK, P_ALCOHOL, wiz/food
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   - Lebewesen
+     Numerischer Wert fuer den Saettigungsgrad eines Lebewesens.
+     Der maximale Wert steht in P_MAX_FOOD.
+
+   - Speisen/Kneipen
+     Numerischer Wert fuer den Saettigungsgrad einer Portion einer
+     Speise. Ist diese Property nicht gesetzt, kann man diese
+     Speise nicht essen. Eine funktionierende Speise _muss_ entweder
+     P_FOOD oder P_DRINK groesser 0 gesetzt haben.
+
+
+SIEHE AUCH
+==========
+
+   P_MAX_FOOD, P_FOOD_DELAY, consume,
+   P_DRINK, P_ALCOHOL, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_FOOD_DELAY b/doc/props/P_FOOD_DELAY
index 11ccf6e..f4eb2df 100644
--- a/doc/props/P_FOOD_DELAY
+++ b/doc/props/P_FOOD_DELAY
@@ -1,10 +1,23 @@
-NAME:
-    P_FOOD_DELAY                 "food_delay"                     
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_FOOD_DELAY
+************
 
-BESCHREIBUNG:
-     Anzahl der heart_beats, bis P_FOOD um einen Punkt sinkt.
-     Aenderungen dieser Property in Spielern beduerfen der 
-     Genehmigung des EM fuer Balance.
+
+NAME
+====
+
+   P_FOOD_DELAY                 "food_delay"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der heart_beats, bis P_FOOD um einen Punkt sinkt.
+   Aenderungen dieser Property in Spielern beduerfen der
+   Genehmigung des EM fuer Balance.
diff --git a/doc/props/P_FOOD_FULL_MSG b/doc/props/P_FOOD_FULL_MSG
index a331ec5..f5c1bce 100644
--- a/doc/props/P_FOOD_FULL_MSG
+++ b/doc/props/P_FOOD_FULL_MSG
@@ -1,24 +1,45 @@
-NAME:
-     P_FOOD_FULL_MSG               "std_food_full_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_FOOD_FULL_MSG
+***************
 
-BESCHREIBUNG:
-     Meldung an den Konsumenten, wenn eine Speise gegessen werden soll,
-     obwohl dieser nichts mehr essen kann.
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "Du bist zu satt, das schaffst Du nicht mehr."
 
-SIEHE AUCH:
-     P_FOOD, P_MAX_FOOD, wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_FOOD_FULL_MSG               "std_food_full_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Konsumenten, wenn eine Speise gegessen werden soll,
+   obwohl dieser nichts mehr essen kann.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "Du bist zu satt, das schaffst Du nicht mehr."
+
+
+SIEHE AUCH
+==========
+
+   P_FOOD, P_MAX_FOOD, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_FORCE_MURDER_MSG b/doc/props/P_FORCE_MURDER_MSG
index cf0157c..709ef4e 100644
--- a/doc/props/P_FORCE_MURDER_MSG
+++ b/doc/props/P_FORCE_MURDER_MSG
@@ -1,39 +1,57 @@
-NAME:
-	P_FORCE_MURDER_MSG		"force_murder_msg"
 
-DEFINIERT IN:
-	/sys/properties.h
+P_FORCE_MURDER_MSG
+******************
 
-BESCHREIBUNG:
-	Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon
-	ab, wie oft und welche Art von NPCs in der letzten Zeit getoetet
-	wurden. Zum Beispiel ist es eher selten, dass ein schwacher NPC auf
-	dem Kanal erscheint, wenn kuerzlich viele starke NPCs getoetet
-	wurden. Mittels der Property P_FORCE_MURDER_MSG kann man auf diese
-	Regelung Einfluss nehmen.
-	Ein Wert groesser Null erzwingt die Meldung auf dem Moerder-Kanal,
-	ein Wert kleiner Null unterdrueckt sie generell. Letzteres ist
-	insbesondere fuer allzuoft getoetete Monster sinnvoll, um den
-	Moerder-Kanal nicht uebermaessig zu belasten. Mit dem Erzwingen der
-	Meldungen sollte man somit vorsichtig sein: Weniger ist oftmals
-	besser als zu viel!
-	Die Defaulteinstellung von P_FORCE_MURDER_MSG ist natuerlich Null
-	und fuehrt zur bereits beschriebenen opferabhaengigen Meldung.
 
-BEISPIELE:
-	Ein grosser starker NPC, der getoetet wurde, sollte schon eine tolle
-	Meldung auf dem Moerder-Kanal erzeugen. In der Property
-	P_MURDER_MSG koennen hierzu alternative Texte zu den normal per
-	Zufall ausgewaehlten angegeben werden:
-	  SetProp(P_MURDER_MSG,
-                  "Nicht schlecht, aber das schafft eh nur einer!");
-	  SetProp(P_FORCE_MURDER_MSG,1);
-	Zwar ist es bei grossen NPCs hinreichend wahrscheinlich, dass es
-	infolge derer Staerke zur automatischen Ausgabe einer Moerdermeldung
-	kommt, aber mit der letzten Zeile wurde dies absolut sichergestellt.
+NAME
+====
 
-SIEHE AUCH:
-	P_MURDER_MSG, P_ZAP_MSG, P_KILL_MSG, P_DIE_MSG, P_CORPSE, P_NOCORPSE
+   P_FORCE_MURDER_MSG              "force_murder_msg"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon
+   ab, wie oft und welche Art von NPCs in der letzten Zeit getoetet
+   wurden. Zum Beispiel ist es eher selten, dass ein schwacher NPC auf
+   dem Kanal erscheint, wenn kuerzlich viele starke NPCs getoetet
+   wurden. Mittels der Property P_FORCE_MURDER_MSG kann man auf diese
+   Regelung Einfluss nehmen.
+   Ein Wert groesser Null erzwingt die Meldung auf dem Moerder-Kanal,
+   ein Wert kleiner Null unterdrueckt sie generell. Letzteres ist
+   insbesondere fuer allzuoft getoetete Monster sinnvoll, um den
+   Moerder-Kanal nicht uebermaessig zu belasten. Mit dem Erzwingen der
+   Meldungen sollte man somit vorsichtig sein: Weniger ist oftmals
+   besser als zu viel!
+   Die Defaulteinstellung von P_FORCE_MURDER_MSG ist natuerlich Null
+   und fuehrt zur bereits beschriebenen opferabhaengigen Meldung.
+
+
+BEISPIELE
+=========
+
+   Ein grosser starker NPC, der getoetet wurde, sollte schon eine tolle
+   Meldung auf dem Moerder-Kanal erzeugen. In der Property
+   P_MURDER_MSG koennen hierzu alternative Texte zu den normal per
+   Zufall ausgewaehlten angegeben werden:
+     SetProp(P_MURDER_MSG,
+             "Nicht schlecht, aber das schafft eh nur einer!");
+     SetProp(P_FORCE_MURDER_MSG,1);
+   Zwar ist es bei grossen NPCs hinreichend wahrscheinlich, dass es
+   infolge derer Staerke zur automatischen Ausgabe einer Moerdermeldung
+   kommt, aber mit der letzten Zeile wurde dies absolut sichergestellt.
+
+
+SIEHE AUCH
+==========
+
+   P_MURDER_MSG, P_ZAP_MSG, P_KILL_MSG, P_DIE_MSG, P_CORPSE, P_NOCORPSE
+
 Last modified: Tue Nov 10 02:15:26 1998 by Patryn
diff --git a/doc/props/P_FREE_HANDS b/doc/props/P_FREE_HANDS
index 6143cad..c8311cc 100644
--- a/doc/props/P_FREE_HANDS
+++ b/doc/props/P_FREE_HANDS
@@ -1,22 +1,40 @@
+
 P_FREE_HANDS
-NAME:
-    P_FREE_HANDS                  "free_hands"
+************
 
-DEFINIERT IN:
-    /sys/living/combat.h
 
-BESCHREIBUNG:
-    Anzahl der freien Haende.
-    Effektiv nur ein die Differenz von P_MAX_HANDS und P_USED_HANDS.
+NAME
+====
 
-BEMERKUNGEN:
-    Keine echte Property. Die Methode /std/living/combat::_query_free_hands
-    stellt die Daten zusammen. Nicht setzen!
+   P_FREE_HANDS                  "free_hands"
 
-SIEHE AUCH:
-    P_HANDS, P_HANDS_USED_BY
-    P_MAX_HANDS, P_USED_HANDS
-    UseHands, FreeHands
-    /std/weapon.c, /std/spellbook.c
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der freien Haende.
+   Effektiv nur ein die Differenz von P_MAX_HANDS und P_USED_HANDS.
+
+
+BEMERKUNGEN
+===========
+
+   Keine echte Property. Die Methode /std/living/combat::_query_free_hands
+   stellt die Daten zusammen. Nicht setzen!
+
+
+SIEHE AUCH
+==========
+
+   P_HANDS, P_HANDS_USED_BY
+   P_MAX_HANDS, P_USED_HANDS
+   UseHands, FreeHands
+   /std/weapon.c, /std/spellbook.c
 
 1. Okt 2012, Gloinson
diff --git a/doc/props/P_FRIEND b/doc/props/P_FRIEND
index ded080c..b22203b 100644
--- a/doc/props/P_FRIEND
+++ b/doc/props/P_FRIEND
@@ -1,24 +1,39 @@
-NAME:
-	P_FRIEND			"friend"
 
-DEFINIERT IN:
-	<combat.h>
+P_FRIEND
+********
 
-BESCHREIBUNG:
-	Setzt man diese Property in einem NPC auf einen Wert ungleich Null,
-	so wird der NPC bei Zauberspruechen, die auf bestimmte Gruppen
-	wirken, der Gruppe der Spieler und nicht der Gruppe der NPCs
-	zugeordnet. Ausserdem wird der NPC bei einem "toete alle" nicht mit
-	angegriffen.
-	Wurde der NPC einem Spieler per AssocMember() zugeordnet, so
-	befindet sich der NPC automatisch im jeweiligen Team des Spielers
-	 (moeglichst auch in der selben Kampfreihe), und die Property hat
-	dann automatisch das Spielerobjekt als Wert.
-	Da dieser Wert in diesem Fall natuerlich ungleich Null ist, wird der
-	NPC dann auch der Gruppe der Spieler zugeordnet.
 
-SIEHE AUCH:
-	FindGroup(), AssocMember(), P_TEAM_ASSOC_MEMBERS, /std/living/team.c
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_FRIEND                        "friend"
+
+
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Setzt man diese Property in einem NPC auf einen Wert ungleich Null,
+   so wird der NPC bei Zauberspruechen, die auf bestimmte Gruppen
+   wirken, der Gruppe der Spieler und nicht der Gruppe der NPCs
+   zugeordnet. Ausserdem wird der NPC bei einem "toete alle" nicht mit
+   angegriffen.
+   Wurde der NPC einem Spieler per AssocMember() zugeordnet, so
+   befindet sich der NPC automatisch im jeweiligen Team des Spielers
+    (moeglichst auch in der selben Kampfreihe), und die Property hat
+   dann automatisch das Spielerobjekt als Wert.
+   Da dieser Wert in diesem Fall natuerlich ungleich Null ist, wird der
+   NPC dann auch der Gruppe der Spieler zugeordnet.
+
+
+SIEHE AUCH
+==========
+
+   FindGroup(), AssocMember(), P_TEAM_ASSOC_MEMBERS, /std/living/team.c
+
 Last modified: Tue Dec 29 17:02:55 1998 by Patryn
diff --git a/doc/props/P_FROG b/doc/props/P_FROG
index 5f64eac..71badbe 100644
--- a/doc/props/P_FROG
+++ b/doc/props/P_FROG
@@ -1,8 +1,21 @@
-NAME:
-    P_FROG                        "frog"                        
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_FROG
+******
 
-BESCHREIBUNG:
-     Gesetzt, wenn der Spieler ein Frosch ist.
+
+NAME
+====
+
+   P_FROG                        "frog"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt, wenn der Spieler ein Frosch ist.
diff --git a/doc/props/P_FUEL b/doc/props/P_FUEL
index 890ca60..79f8515 100644
--- a/doc/props/P_FUEL
+++ b/doc/props/P_FUEL
@@ -1,26 +1,48 @@
-NAME:
-    P_FUEL                        "fuel"                        
 
-DEFINIERT IN:
-    /sys/properties.h
+P_FUEL
+******
 
-BESCHREIBUNG:
-     Numerischer Wert fuer die Zeitdauer, die die Lichtquelle noch
-     leuchten kann. Standardmaessig ist der Wert auf 20 gesetzt.
 
-     Setzt man die Property auf einen Wert, der groesser ist als der vorige
-     Maximalwert, wird dieser auf den neuen Wert erhoeht. Aendert man den
-     Brennstoffvorrat der Lichtquelle hingegen mittels AddFuel(), so wird
-     der Wert von P_FUEL ueber den Maximalwert hinaus erhoeht.
+NAME
+====
 
-HINWEIS:
-     Fuer Aenderungen an der Property kann auch die Funktion AddFuel()
-     verwendet werden. 
+   P_FUEL                        "fuel"
 
-SIEHE AUCH:
-     Basisklassen: /std/lightsource.c
-     Properties:   P_LIGHTDESC, P_DO_DESTRUCT, P_LIGHT
-     Methoden:     AddFuel(L)
 
-LETZTE AENDERUNG:
-    22. Dez. 2015, Arathorn
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert fuer die Zeitdauer, die die Lichtquelle noch
+   leuchten kann. Standardmaessig ist der Wert auf 20 gesetzt.
+
+   Setzt man die Property auf einen Wert, der groesser ist als der vorige
+   Maximalwert, wird dieser auf den neuen Wert erhoeht. Aendert man den
+   Brennstoffvorrat der Lichtquelle hingegen mittels AddFuel(), so wird
+   der Wert von P_FUEL ueber den Maximalwert hinaus erhoeht.
+
+
+HINWEIS
+=======
+
+   Fuer Aenderungen an der Property kann auch die Funktion AddFuel()
+   verwendet werden.
+
+
+SIEHE AUCH
+==========
+
+   Basisklassen: /std/lightsource.c
+   Properties:   P_LIGHTDESC, P_DO_DESTRUCT, P_LIGHT
+   Methoden:     AddFuel(L)
+
+
+LETZTE AENDERUNG
+================
+
+   22. Dez. 2015, Arathorn
diff --git a/doc/props/P_FUNC_MSG b/doc/props/P_FUNC_MSG
index b4f9d1e..adcca1a 100644
--- a/doc/props/P_FUNC_MSG
+++ b/doc/props/P_FUNC_MSG
@@ -1,21 +1,40 @@
-NAME:
-    P_FUNC_MSG                    "func_msg"                    
 
-DEFINIERT IN:
-    /sys/room/description.h
+P_FUNC_MSG
+**********
 
-BESCHREIBUNG:
-     Liste mit Funktionen, die zufaellig im Raum aufgerufen werden.
 
-     Hier ist nur eine zur rufende lokale Methode als String oder eine
-     Sammlung davon als Stringarray gespeichert.
+NAME
+====
 
-ANMERKUNGEN:
-     Bitte AddRoomMessage() zum Hinzufuegen/Ueberschreiben benutzen!
+   P_FUNC_MSG                    "func_msg"
 
-SIEHE AUCH:
-     LFuns:    AddRoomMessage()
-     Verwandt: tell_room(), ReceiveMsg()
-     Props:    P_ROOM_MSG, P_MSG_PROB
+
+DEFINIERT IN
+============
+
+   /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+   Liste mit Funktionen, die zufaellig im Raum aufgerufen werden.
+
+   Hier ist nur eine zur rufende lokale Methode als String oder eine
+   Sammlung davon als Stringarray gespeichert.
+
+
+ANMERKUNGEN
+===========
+
+   Bitte AddRoomMessage() zum Hinzufuegen/Ueberschreiben benutzen!
+
+
+SIEHE AUCH
+==========
+
+   LFuns:    AddRoomMessage()
+   Verwandt: tell_room(), ReceiveMsg()
+   Props:    P_ROOM_MSG, P_MSG_PROB
 
 2.Feb 2016 Gloinson
diff --git a/doc/props/P_FW_ALWAYS_READABLE b/doc/props/P_FW_ALWAYS_READABLE
index 31700ed..f770431 100644
--- a/doc/props/P_FW_ALWAYS_READABLE
+++ b/doc/props/P_FW_ALWAYS_READABLE
@@ -1,8 +1,21 @@
-NAME:
-    P_FW_ALWAYS_READABLE          "fw_always_readable"          
 
-DEFINIERT IN:
-    /sys/properties.h
+P_FW_ALWAYS_READABLE
+********************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_FW_ALWAYS_READABLE          "fw_always_readable"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_FW_UNDERSTAND b/doc/props/P_FW_UNDERSTAND
index ff8f6e6..2884555 100644
--- a/doc/props/P_FW_UNDERSTAND
+++ b/doc/props/P_FW_UNDERSTAND
@@ -1,8 +1,21 @@
-NAME:
-    P_FW_UNDERSTAND               "fw_understand"               
 
-DEFINIERT IN:
-    /sys/properties.h
+P_FW_UNDERSTAND
+***************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_FW_UNDERSTAND               "fw_understand"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_GENDER b/doc/props/P_GENDER
index 93f73dc..c2a3f77 100644
--- a/doc/props/P_GENDER
+++ b/doc/props/P_GENDER
@@ -1,9 +1,22 @@
-NAME:
-    P_GENDER                      "gender"                      
 
-DEFINIERT IN:
-    /sys/thing/language.h
+P_GENDER
+********
 
-BESCHREIBUNG:
-     Grammatikalisches Geschlecht des Objektes:
-     (Definiert in language.h) MALE, FEMALE oder NEUTER
+
+NAME
+====
+
+   P_GENDER                      "gender"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/language.h
+
+
+BESCHREIBUNG
+============
+
+   Grammatikalisches Geschlecht des Objektes:
+   (Definiert in language.h) MALE, FEMALE oder NEUTER
diff --git a/doc/props/P_GHOST b/doc/props/P_GHOST
index 9cbf309..31c9f2d 100644
--- a/doc/props/P_GHOST
+++ b/doc/props/P_GHOST
@@ -1,8 +1,21 @@
-NAME:
-    P_GHOST                       "ghost"                       
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_GHOST
+*******
 
-BESCHREIBUNG:
-     Gesetzt, wenn der Spieler tot ist.
+
+NAME
+====
+
+   P_GHOST                       "ghost"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt, wenn der Spieler tot ist.
diff --git a/doc/props/P_GIVE_MSG b/doc/props/P_GIVE_MSG
index bd6a624..e21dbad 100644
--- a/doc/props/P_GIVE_MSG
+++ b/doc/props/P_GIVE_MSG
@@ -1,65 +1,83 @@
+
 P_GIVE_MSG
-NAME:
-     P_GIVE_MSG				"give_message"
+**********
 
-DEFINIERT IN:
-     /sys/living/put_and_get.h
 
-BESCHREIBUNG:
-     Mit P_GIVE_MSG kann man die Meldung, die man beim Uebergeben eines
-     Objektes bekommt, modifizieren.
+NAME
+====
 
-     Folgende Werte sind moeglich:
+   P_GIVE_MSG                         "give_message"
 
-     o 0
-       Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
 
-     o NO_PNG_MSG	== -1
-       Es wird keinerlei Meldung ausgegeben
+DEFINIERT IN
+============
 
-     o Ein Array aus Strings
-       Der erste String wird an den Spieler ausgegeben, der zweite
-       (optionale) an den Raum, der dritte (ebenfalls optionale) an den
-       Empfaenger.
+   /sys/living/put_and_get.h
 
-       Die Strings werden durch die Funktion replace_personal() geparst.
-	Objekt1 - Spieler
-        Objekt2 - das Objekt, das uebergeben wird
-	Objekt3 - Empfaenger
 
-       Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
-       Raum. Beim Fehlen des dritten gibt es keine Meldung an den Empfaenger.
+BESCHREIBUNG
+============
 
-BEISPIEL:
-     void create() {
-      ...
-      SetProp( P_SHORT, "Etwas Sand" );
-      SetProp( P_LONG, break_string(
-	"Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+   Mit P_GIVE_MSG kann man die Meldung, die man beim Uebergeben eines
+   Objektes bekommt, modifizieren.
 
-      SetProp( P_NAME, "Sand" );
-      AddId( ({"sand"}) );
-      SetProp( P_GENDER, MALE );
+   Folgende Werte sind moeglich:
 
-      SetProp( P_GIVE_MSG, ({
-       "Du laesst @WEN2 in @WESSEN3 Haende rieseln.",
-       "@WER1 laesst @WENU2 in @WESSEN3 Haende rieseln.",
-       "@WER1 laesst @WENU2 in deine Haende rieseln."}));
-       ...
-      }
+   o 0
+     Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
 
-     Das ganze fuehrt bei Ugars "gib sand an peter" zu folgenden
-     Meldungen:
+   o NO_PNG_MSG       == -1
+     Es wird keinerlei Meldung ausgegeben
 
-     Ugar: "Du laesst den Sand in Peters Haende rieseln."
-     Raum: "Ugar laesst Sand in Peters Haende rieseln."
-     Peter: "Ugar laesst Sand in deine Haende rieseln."
+   o Ein Array aus Strings
+     Der erste String wird an den Spieler ausgegeben, der zweite
+     (optionale) an den Raum, der dritte (ebenfalls optionale) an den
+     Empfaenger.
 
-SIEHE AUCH:
-     Aehnliches: P_DROP_MSG, P_PUT_MSG, P_PICK_MSG, P_SHOW_MSG
-     Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
-                 P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET 
-     Sonstiges:  replace_personal(E), give(L), give_objects(L),
-		 give_notify(L), /std/living/put_and_get.c
+     Die Strings werden durch die Funktion replace_personal() geparst.
+      Objekt1 - Spieler
+      Objekt2 - das Objekt, das uebergeben wird
+      Objekt3 - Empfaenger
+
+     Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
+     Raum. Beim Fehlen des dritten gibt es keine Meldung an den Empfaenger.
+
+
+BEISPIEL
+========
+
+   void create() {
+    ...
+    SetProp( P_SHORT, "Etwas Sand" );
+    SetProp( P_LONG, break_string(
+      "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+
+    SetProp( P_NAME, "Sand" );
+    AddId( ({"sand"}) );
+    SetProp( P_GENDER, MALE );
+
+    SetProp( P_GIVE_MSG, ({
+     "Du laesst @WEN2 in @WESSEN3 Haende rieseln.",
+     "@WER1 laesst @WENU2 in @WESSEN3 Haende rieseln.",
+     "@WER1 laesst @WENU2 in deine Haende rieseln."}));
+     ...
+    }
+
+   Das ganze fuehrt bei Ugars "gib sand an peter" zu folgenden
+   Meldungen:
+
+   Ugar: "Du laesst den Sand in Peters Haende rieseln."
+   Raum: "Ugar laesst Sand in Peters Haende rieseln."
+   Peter: "Ugar laesst Sand in deine Haende rieseln."
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_DROP_MSG, P_PUT_MSG, P_PICK_MSG, P_SHOW_MSG
+   Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+               P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
+   Sonstiges:  replace_personal(E), give(L), give_objects(L),
+               give_notify(L), /std/living/put_and_get.c
 
 14. Maerz 2004 Gloinson
diff --git a/doc/props/P_GLOBAL_SKILLPROPS b/doc/props/P_GLOBAL_SKILLPROPS
index fc12c1e..1e3533b 100644
--- a/doc/props/P_GLOBAL_SKILLPROPS
+++ b/doc/props/P_GLOBAL_SKILLPROPS
@@ -1,27 +1,46 @@
-NAME:
-    P_GLOBAL_SKILLPROPS        "sm_global"                   
 
-DEFINIERT IN:
-    /sys/new_skills.h
+P_GLOBAL_SKILLPROPS
+*******************
 
-BESCHREIBUNG:
-    Diese Gilden- und Spellbookproperty enthaelt Eigenschaften, die
-    alle Spells eines Spellbooks bzw. alle Skills und Spells einer Gilde
-    haben sollen.
 
-BEISPIELE:
-    SetProp(P_GLOBAL_SKILLPROPS,
-      ([SI_SKILLRESTR_USE:     ([SR_FUN: #'spellTest]),
-        OFFSET(SI_SKILLLEARN): #'learnOffset,
-        OFFSET(SI_SPELLCOST):  #'costOffset,
-        FACTOR(SI_SPELLCOST):  #'costFactor]));
+NAME
+====
 
-SIEHE AUCH:
-    GObj Verwalten:   LearnSkill, LearnSpell, InitialSkillAbility
-    * Properties:     P_GUILD_SKILLS
-    Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
-    * Verwalten:      AddSpell, QuerySpell
-    * Properties:     P_SB_SPELLS
-    Skills:           P_NEWSKILLS, spruchermuedung, skill_info_liste
+   P_GLOBAL_SKILLPROPS        "sm_global"
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Gilden- und Spellbookproperty enthaelt Eigenschaften, die
+   alle Spells eines Spellbooks bzw. alle Skills und Spells einer Gilde
+   haben sollen.
+
+
+BEISPIELE
+=========
+
+   SetProp(P_GLOBAL_SKILLPROPS,
+     ([SI_SKILLRESTR_USE:     ([SR_FUN: #'spellTest]),
+       OFFSET(SI_SKILLLEARN): #'learnOffset,
+       OFFSET(SI_SPELLCOST):  #'costOffset,
+       FACTOR(SI_SPELLCOST):  #'costFactor]));
+
+
+SIEHE AUCH
+==========
+
+   GObj Verwalten:   LearnSkill, LearnSpell, InitialSkillAbility
+   * Properties:     P_GUILD_SKILLS
+   Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
+   * Verwalten:      AddSpell, QuerySpell
+   * Properties:     P_SB_SPELLS
+   Skills:           P_NEWSKILLS, spruchermuedung, skill_info_liste
+
+3. Okt 2011 Gloinson
diff --git a/doc/props/P_GUARD b/doc/props/P_GUARD
index ebeb989..7128df6 100644
--- a/doc/props/P_GUARD
+++ b/doc/props/P_GUARD
@@ -1,50 +1,70 @@
+
 P_GUARD
-NAME:
-     P_GUARD				"guard"
-
-DEFINIERT IN:
-     /sys/guard.h
-
-BESCHREIBUNG:
-     Diese Property gibt an, ob ein NPC aus einem Raum entfernt werden darf
-     oder nicht. Abgefragt werden muss dies von den Items oder Spells, die
-     den NPC zu einer Bewegung zwingen wollen. Es wird nicht automatisch
-     darauf geachtet!
-
-     Entscheidend hierbei ist ein in der Property enthaltene (ganzzahliger)
-     Zahlenwert zwischen 0 und 100, der hierbei den Grad der
-     'Bewachungsstaerke' eines NPCs angibt. Bei 0 laesst sich das Lebewesen
-     immer zu einer Bewegung ueberreden, bei 100 ueberhaupt nicht. Dazwischen
-     gibt es die Wahrscheinlichkeit dafuer an.
-
-BEMERKUNGEN:
-     - alle von /std/npc abgeleiteten NPCs haben standardmaessig P_GUARD
-       auf 100 gesetzt, sind also nicht fortfuehrbar
-     - bei der Erzeugung von NPCs mit P_GUARD < 100 AddItem() mit dem
-       Parameter REFRESH_MOVE_HOME verwenden, damit sie bei einem Raumreset
-       gegebenenfalls an ihren Ausgangsort zurueckkehren. 
-     - gildenspezifische weitere Abfragen auf Level oAe bitte bei Gilden-
-       magiern erfragen
-
-BEISPIELE:
-     // ein Test
-     if(random(100)<=liv->QueryProp(P_GUARD))
-      cannotMoveNPC(); // NPC darf nicht bewegt werden!
-     else
-      moveNPC();       // NPC darf bewegt werden
-
-     // ein wegfuehrbarer NPC
-     void create() {
-      ::create();
-      ...
-      SetProp(P_GUARD,50);
-      ...
-     }
-     // mit 50% Wahrscheinlichkeit (pro Versuch) laesst sich der NPC nun
-     // fortfuehren
+*******
 
 
-SIEHE AUCH:
-     AddItem()
+NAME
+====
+
+   P_GUARD                            "guard"
+
+
+DEFINIERT IN
+============
+
+   /sys/guard.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property gibt an, ob ein NPC aus einem Raum entfernt werden darf
+   oder nicht. Abgefragt werden muss dies von den Items oder Spells, die
+   den NPC zu einer Bewegung zwingen wollen. Es wird nicht automatisch
+   darauf geachtet!
+
+   Entscheidend hierbei ist ein in der Property enthaltene (ganzzahliger)
+   Zahlenwert zwischen 0 und 100, der hierbei den Grad der
+   'Bewachungsstaerke' eines NPCs angibt. Bei 0 laesst sich das Lebewesen
+   immer zu einer Bewegung ueberreden, bei 100 ueberhaupt nicht. Dazwischen
+   gibt es die Wahrscheinlichkeit dafuer an.
+
+
+BEMERKUNGEN
+===========
+
+   - alle von /std/npc abgeleiteten NPCs haben standardmaessig P_GUARD
+     auf 100 gesetzt, sind also nicht fortfuehrbar
+   - bei der Erzeugung von NPCs mit P_GUARD < 100 AddItem() mit dem
+     Parameter REFRESH_MOVE_HOME verwenden, damit sie bei einem Raumreset
+     gegebenenfalls an ihren Ausgangsort zurueckkehren.
+   - gildenspezifische weitere Abfragen auf Level oAe bitte bei Gilden-
+     magiern erfragen
+
+
+BEISPIELE
+=========
+
+   // ein Test
+   if(random(100)<=liv->QueryProp(P_GUARD))
+    cannotMoveNPC(); // NPC darf nicht bewegt werden!
+   else
+    moveNPC();       // NPC darf bewegt werden
+
+   // ein wegfuehrbarer NPC
+   void create() {
+    ::create();
+    ...
+    SetProp(P_GUARD,50);
+    ...
+   }
+   // mit 50% Wahrscheinlichkeit (pro Versuch) laesst sich der NPC nun
+   // fortfuehren
+
+
+SIEHE AUCH
+==========
+
+   AddItem()
 
 13.April 2004 Gloinson
diff --git a/doc/props/P_GUILD b/doc/props/P_GUILD
index bcffb4c..c3c13cb 100644
--- a/doc/props/P_GUILD
+++ b/doc/props/P_GUILD
@@ -1,22 +1,40 @@
+
 P_GUILD
-NAME:
-     P_GUILD				"guild"                       
+*******
 
-DEFINIERT IN:
-     /sys/properties.h
 
-BESCHREIBUNG:
-     Diese Property enthaelt den Namen der Gilde, welcher das Lebewesen
-     angehoert. Der Name der Gilde ist hierbei kleingeschrieben als String
-     definiert.
+NAME
+====
 
-BEMERKUNGEN:
-     Bei Spielern ist der Wert dieser Property niemals Null, denn sie
-     gehoeren standardmaessig der in P_DEFAULT_GUILD stehenden Gilde an.
-     Ueber die gesetzte P_GUILD werden auch aktive Skills ermittelt.
+   P_GUILD                            "guild"
 
-SIEHE AUCH:
-     P_DEFAULT_GUILD, P_VISIBLE_GUILD
-     P_GUILD_TITLE, P_SUBGUILD_TITLE
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt den Namen der Gilde, welcher das Lebewesen
+   angehoert. Der Name der Gilde ist hierbei kleingeschrieben als String
+   definiert.
+
+
+BEMERKUNGEN
+===========
+
+   Bei Spielern ist der Wert dieser Property niemals Null, denn sie
+   gehoeren standardmaessig der in P_DEFAULT_GUILD stehenden Gilde an.
+   Ueber die gesetzte P_GUILD werden auch aktive Skills ermittelt.
+
+
+SIEHE AUCH
+==========
+
+   P_DEFAULT_GUILD, P_VISIBLE_GUILD
+   P_GUILD_TITLE, P_SUBGUILD_TITLE
 
 26. Maerz 2004 Gloinson
diff --git a/doc/props/P_GUILD_DEACTIVATE_SKILLS b/doc/props/P_GUILD_DEACTIVATE_SKILLS
index 019da30..a53d6ce 100644
--- a/doc/props/P_GUILD_DEACTIVATE_SKILLS
+++ b/doc/props/P_GUILD_DEACTIVATE_SKILLS
@@ -1,38 +1,50 @@
-PROPERTY:
 
-  P_GUILD_DEACTIVATE_SKILLS     "guild_deactivate_skills"
+P_GUILD_DEACTIVATE_SKILLS
+*************************
 
-DEFINIERT IN: 
 
-  new_skills.h
+PROPERTY
+========
 
-BESCHREIBUNG:
+   P_GUILD_DEACTIVATE_SKILLS     "guild_deactivate_skills"
 
-  Diese Property erlaubt es, Gildenmitgliedern die benutzung von ANY-
-  Skills zu untersagen. Dies sind einerseits die allgemeinen Waffenskills,
-  andererseits koennte das auch der entgifte-Spruch der Duesterwald -
-  Quest sein.
+DEFINIERT IN:
 
-  Wert dieser Property ist ein Mapping, das als Keys die einzelnen
-  Skills und als Wert 1 enthaelt, wenn ein Skill deaktiviert
-  werden soll und 0, falls nicht.
+   new_skills.h
 
-  Diese Property wird nur bei einem Neuerzeugen des Spielers neu 
-  ausgelesen, da es sonst zuviel Rechenzeit kostet.
 
-BEISPIEL:
+BESCHREIBUNG
+============
 
-  Jede Gilde, die keine Waffenskills benutzen soll (oder selbst welche hat)
-  enthaelt folgenden Befehl:
+   Diese Property erlaubt es, Gildenmitgliedern die benutzung von ANY-
+   Skills zu untersagen. Dies sind einerseits die allgemeinen Waffenskills,
+   andererseits koennte das auch der entgifte-Spruch der Duesterwald -
+   Quest sein.
 
-    SetProp(P_GUILD_DEACTIVATE_SKILLS,
-    ([FIGHT(WT_SWORD):1,
-    FIGHT(WT_AXE):1,
-    FIGHT(WT_CLUB):1,
-    FIGHT(WT_SPEAR):1,
-    FIGHT(WT_KNIFE):1,
-    FIGHT(WT_WHIP):1]));
-    
-LETZTE AENDERUNG: 
+   Wert dieser Property ist ein Mapping, das als Keys die einzelnen
+   Skills und als Wert 1 enthaelt, wenn ein Skill deaktiviert
+   werden soll und 0, falls nicht.
 
-2003-01-30, 14:15, Humni
+   Diese Property wird nur bei einem Neuerzeugen des Spielers neu
+   ausgelesen, da es sonst zuviel Rechenzeit kostet.
+
+
+BEISPIEL
+========
+
+   Jede Gilde, die keine Waffenskills benutzen soll (oder selbst welche hat)
+   enthaelt folgenden Befehl:
+
+     SetProp(P_GUILD_DEACTIVATE_SKILLS,
+     ([FIGHT(WT_SWORD):1,
+     FIGHT(WT_AXE):1,
+     FIGHT(WT_CLUB):1,
+     FIGHT(WT_SPEAR):1,
+     FIGHT(WT_KNIFE):1,
+     FIGHT(WT_WHIP):1]));
+
+LETZTE AENDERUNG
+
+
+2003-01-30, 1415, Humni
+=======================
diff --git a/doc/props/P_GUILD_DEFAULT_SPELLBOOK b/doc/props/P_GUILD_DEFAULT_SPELLBOOK
index 9ad9150..4d6bbd0 100644
--- a/doc/props/P_GUILD_DEFAULT_SPELLBOOK
+++ b/doc/props/P_GUILD_DEFAULT_SPELLBOOK
@@ -1,23 +1,44 @@
-NAME:
-	P_GUILD_DEFAULT_SPELLBOOK	"guild_sb"                    
 
-DEFINIERT IN:
-	/sys/new_skills.h
+P_GUILD_DEFAULT_SPELLBOOK
+*************************
 
-BESCHREIBUNG:
-	Diese Gildenproperty enthaelt den Namen des Spellbooks, welches
-	standardmaessig von der Gilde verwendet wird.
 
-BEMERKUNGEN:
-	Bei Spells kann sie mit SI_SPELLBOOK ueberschrieben werden.
+NAME
+====
 
-BEISPIELE:
-	Bei Zauberern waere folgendes denkbar:
-	  SetProp(P_GUILD_DEFAULT_SPELLBOOK,"magie_sp");
-	Das Spellbook ist hierbei unter "/spellbooks/magie_sp.c" zu finden.
+   P_GUILD_DEFAULT_SPELLBOOK       "guild_sb"
 
-SIEHE AUCH:
-	P_GUILD
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Gildenproperty enthaelt den Namen des Spellbooks, welches
+   standardmaessig von der Gilde verwendet wird.
+
+
+BEMERKUNGEN
+===========
+
+   Bei Spells kann sie mit SI_SPELLBOOK ueberschrieben werden.
+
+
+BEISPIELE
+=========
+
+   Bei Zauberern waere folgendes denkbar:
+     SetProp(P_GUILD_DEFAULT_SPELLBOOK,"magie_sp");
+   Das Spellbook ist hierbei unter "/spellbooks/magie_sp.c" zu finden.
+
+
+SIEHE AUCH
+==========
+
+   P_GUILD
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_FEMALE_TITLES b/doc/props/P_GUILD_FEMALE_TITLES
index b1528e9..c06947d 100644
--- a/doc/props/P_GUILD_FEMALE_TITLES
+++ b/doc/props/P_GUILD_FEMALE_TITLES
@@ -1,24 +1,42 @@
-NAME:
-	P_GUILD_FEMALE_TITLES		"guild_female_titles"         
 
-DEFINIERT IN:
-	/sys/new_skills.h
+P_GUILD_FEMALE_TITLES
+*********************
 
-BESCHREIBUNG:
-	Diese Gildenproperty enthaelt die Stufenbezeichnungen fuer
-	weibliche Gildenmitglieder. Als Schluessel dienen hierbei die
-	Gildenstufen und die entsprechenden Eintraege sind dann die zur
-	Stufe gehoerigen Gildentitel.
 
-BEISPIELE:
-	Eine Programmierergilde koennte folgende Stufenbezeichnungen
-	beinhalten:
-	  SetProp(P_GUILD_FEMALE_TITLES,([1:"die Anfaengerin",
-	                                  2:"die Fortgeschrittene",
-	                                  3:"die Professionelle ;)"]));
+NAME
+====
 
-SIEHE AUCH:
-	P_GENDER, P_GUILD_LEVEL, P_GUILD_TITLE, P_GUILD_MALE_TITLES
+   P_GUILD_FEMALE_TITLES           "guild_female_titles"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Gildenproperty enthaelt die Stufenbezeichnungen fuer
+   weibliche Gildenmitglieder. Als Schluessel dienen hierbei die
+   Gildenstufen und die entsprechenden Eintraege sind dann die zur
+   Stufe gehoerigen Gildentitel.
+
+
+BEISPIELE
+=========
+
+   Eine Programmierergilde koennte folgende Stufenbezeichnungen
+   beinhalten:
+     SetProp(P_GUILD_FEMALE_TITLES,([1:"die Anfaengerin",
+                                     2:"die Fortgeschrittene",
+                                     3:"die Professionelle ;)"]));
+
+
+SIEHE AUCH
+==========
+
+   P_GENDER, P_GUILD_LEVEL, P_GUILD_TITLE, P_GUILD_MALE_TITLES
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_LEVEL b/doc/props/P_GUILD_LEVEL
index 4920449..f38701c 100644
--- a/doc/props/P_GUILD_LEVEL
+++ b/doc/props/P_GUILD_LEVEL
@@ -1,23 +1,41 @@
-NAME:
-	P_GUILD_LEVEL			"guild_level"                 
 
-DEFINIERT IN:
-	/sys/new_skills.h
+P_GUILD_LEVEL
+*************
 
-BESCHREIBUNG:
-	Diese Property enthaelt die Gildenstufe des Lebewesens, welche nicht
-	unbedingt seiner Spielerstufe entspricht.
 
-BEMERKUNGEN:
-	Bei manchen Gilden entspricht die Gildenstufe standardmaessig der
-	Spielerstufe (Abenteurer, Katzenkrieger). In der Property selbst
-	wird eigentlich ein Mapping eingetragen, welches die Gildennamen als
-	Schluessel und die dazugehoerige Gildenstufe als Eintrag enthaelt.
-	Bei der Abfrage der Property wird jedoch die Gilde beruecksichtigt
-	und die aktuelle Gildenstufe zurueckgeliefert.
+NAME
+====
 
-SIEHE AUCH:
-	P_GUILD, P_GUILD_TITLE, P_GUILD_MALE_TITLES, P_GUILD_FEMALE_TITLES
+   P_GUILD_LEVEL                   "guild_level"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt die Gildenstufe des Lebewesens, welche nicht
+   unbedingt seiner Spielerstufe entspricht.
+
+
+BEMERKUNGEN
+===========
+
+   Bei manchen Gilden entspricht die Gildenstufe standardmaessig der
+   Spielerstufe (Abenteurer, Katzenkrieger). In der Property selbst
+   wird eigentlich ein Mapping eingetragen, welches die Gildennamen als
+   Schluessel und die dazugehoerige Gildenstufe als Eintrag enthaelt.
+   Bei der Abfrage der Property wird jedoch die Gilde beruecksichtigt
+   und die aktuelle Gildenstufe zurueckgeliefert.
+
+
+SIEHE AUCH
+==========
+
+   P_GUILD, P_GUILD_TITLE, P_GUILD_MALE_TITLES, P_GUILD_FEMALE_TITLES
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_LEVELS b/doc/props/P_GUILD_LEVELS
index 80d2237..9b9b80d 100644
--- a/doc/props/P_GUILD_LEVELS
+++ b/doc/props/P_GUILD_LEVELS
@@ -1,35 +1,56 @@
-NAME:
-	P_GUILD_LEVELS			"guild_levels"                
 
-DEFINIERT IN:
-	/sys/new_skills.h
+P_GUILD_LEVELS
+**************
 
-BESCHREIBUNG:
-	Diese Gildenproperty enthaelt ein Mapping mit den
-	Stufenbeschraenkungen fuer die jeweiligen Gildenstufen. Als
-	Schluessel dient der jeweilige Gildenlevel und die entsprechenden
-	Eintraege sind wiederum Mappings, in welchen die Beschraenkungen
-	angegeben sind.
 
-BEMERKUNGEN:
-	Die Beschraenkungen fuer Level 1 sollten auch fuer die
-	Eintrittsbeschraenkungen der Gilde gelten. Letztere kann man in der
-	Property P_GUILD_RESTRICTIONS angeben.
+NAME
+====
 
-BEISPIELE:
-	Das folgende Beispiel zeigt ein paar moegliche Abfragen:
-	  string check(object pl);
-	  SetProp(P_GUILD_LEVELS,([1:([P_LEVEL:3,P_QP:100,SR_FUN:#'check]),
-	                           2:([A_INT:10,P_LEVEL:25]),
-	                           3:([A_INT:20,P_LEVEL:50])]));
-	  string check(object pl)
-	  { if(pl->QueryProp(P_MALE))
-	      return 0;
-	    return "Fuer Frauen ist das nichts!\n";
-	  }
+   P_GUILD_LEVELS                  "guild_levels"
 
-SIEHE AUCH:
-	P_GUILD_LEVEL, P_GUILD_RESTRICTIONS, /std/restriction_checker.c
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Gildenproperty enthaelt ein Mapping mit den
+   Stufenbeschraenkungen fuer die jeweiligen Gildenstufen. Als
+   Schluessel dient der jeweilige Gildenlevel und die entsprechenden
+   Eintraege sind wiederum Mappings, in welchen die Beschraenkungen
+   angegeben sind.
+
+
+BEMERKUNGEN
+===========
+
+   Die Beschraenkungen fuer Level 1 sollten auch fuer die
+   Eintrittsbeschraenkungen der Gilde gelten. Letztere kann man in der
+   Property P_GUILD_RESTRICTIONS angeben.
+
+
+BEISPIELE
+=========
+
+   Das folgende Beispiel zeigt ein paar moegliche Abfragen:
+     string check(object pl);
+     SetProp(P_GUILD_LEVELS,([1:([P_LEVEL:3,P_QP:100,SR_FUN:#'check]),
+                              2:([A_INT:10,P_LEVEL:25]),
+                              3:([A_INT:20,P_LEVEL:50])]));
+     string check(object pl)
+     { if(pl->QueryProp(P_MALE))
+         return 0;
+       return "Fuer Frauen ist das nichts!\n";
+     }
+
+
+SIEHE AUCH
+==========
+
+   P_GUILD_LEVEL, P_GUILD_RESTRICTIONS, /std/restriction_checker.c
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_MALE_TITLES b/doc/props/P_GUILD_MALE_TITLES
index 27e05a5..41cb773 100644
--- a/doc/props/P_GUILD_MALE_TITLES
+++ b/doc/props/P_GUILD_MALE_TITLES
@@ -1,24 +1,42 @@
-NAME:
-	P_GUILD_MALE_TITLES		"guild_male_titles"           
 
-DEFINIERT IN:
-	/sys/new_skills.h
+P_GUILD_MALE_TITLES
+*******************
 
-BESCHREIBUNG:
-	Diese Gildenproperty enthaelt die Stufenbezeichnungen fuer
-	maennliche Gildenmitglieder. Als Schluessel dienen hierbei die
-	Gildenstufen und die entsprechenden Eintraege sind dann die zur
-	Stufe gehoerigen Gildentitel.
 
-BEISPIELE:
-	Eine Programmierergilde koennte folgende Stufenbezeichnungen
-	beinhalten:
-	  SetProp(P_GUILD_MALE_TITLES,([1:"der Anfaenger",
-	                                2:"der Fortgeschrittene",
-	                                3:"der Profi"]));
+NAME
+====
 
-SIEHE AUCH:
-	P_GENDER, P_GILD_LEVEL, P_GUILD_TITLE, P_GUILD_FEMALE_TITLES
+   P_GUILD_MALE_TITLES             "guild_male_titles"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Gildenproperty enthaelt die Stufenbezeichnungen fuer
+   maennliche Gildenmitglieder. Als Schluessel dienen hierbei die
+   Gildenstufen und die entsprechenden Eintraege sind dann die zur
+   Stufe gehoerigen Gildentitel.
+
+
+BEISPIELE
+=========
+
+   Eine Programmierergilde koennte folgende Stufenbezeichnungen
+   beinhalten:
+     SetProp(P_GUILD_MALE_TITLES,([1:"der Anfaenger",
+                                   2:"der Fortgeschrittene",
+                                   3:"der Profi"]));
+
+
+SIEHE AUCH
+==========
+
+   P_GENDER, P_GILD_LEVEL, P_GUILD_TITLE, P_GUILD_FEMALE_TITLES
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_PREPAREBLOCK b/doc/props/P_GUILD_PREPAREBLOCK
index e429a49..ee1c361 100644
--- a/doc/props/P_GUILD_PREPAREBLOCK
+++ b/doc/props/P_GUILD_PREPAREBLOCK
@@ -1,37 +1,60 @@
+
+P_GUILD_PREPAREBLOCK
+********************
+
+
 P_GUILD_PREPAREBLOCK (int)
+==========================
 
-NAME:
-  P_GUILD_PREPAREBLOCK                           "guild_prepareblock" 
 
-DEFINIERT IN:
-  /sys/new_skills.h
+NAME
+====
 
-BESCHREIBUNG:
-  Diese Property enthaelt die Information, ob das Lebewesen in
-  der Konzentrationsphase eines Spells weiterkaempft oder ob
-  die Angriffe derweil ausgesetzt werden.
+   P_GUILD_PREPAREBLOCK                           "guild_prepareblock"
 
-BEMERKUNGEN:
-  In der Property selbst wird eigentlich ein Mapping eingetragen,
-  welches die Gildennamen als Schluessel und das dazugehoerige
-  Block-Flag als Eintrag enthaelt. Bei der Abfrage der Property wird
-  jedoch die Gilde beruecksichtigt und das aktuelle Flag
-  zurueckgeliefert.
-  Dementsprechend das diese Prop nicht mit Set() manipuliert werden, 
-  bitte ausschliessliche SetProp() verwenden.
 
-BEISPIELE:
-  Die Property sollte natuerlich nur von der Gilde gesetzt werden
-  und auch nur bei Gildenmitgliedern
+DEFINIERT IN
+============
 
-  if ( IsGuildMember(pl) )
-    pl->SetProp(P_GUILD_PREPAREBLOCK,1);
+   /sys/new_skills.h
 
-  Resultat: Kein Ausfuehren von Attack(), wenn pl sich auf einen
-  Zauberspruch konzentriert.
 
-SIEHE AUCH:
-  P_PREPARED_SPELL
+BESCHREIBUNG
+============
 
-----------------------------------------------------------------------------
+   Diese Property enthaelt die Information, ob das Lebewesen in
+   der Konzentrationsphase eines Spells weiterkaempft oder ob
+   die Angriffe derweil ausgesetzt werden.
+
+
+BEMERKUNGEN
+===========
+
+   In der Property selbst wird eigentlich ein Mapping eingetragen,
+   welches die Gildennamen als Schluessel und das dazugehoerige
+   Block-Flag als Eintrag enthaelt. Bei der Abfrage der Property wird
+   jedoch die Gilde beruecksichtigt und das aktuelle Flag
+   zurueckgeliefert.
+   Dementsprechend das diese Prop nicht mit Set() manipuliert werden,
+   bitte ausschliessliche SetProp() verwenden.
+
+
+BEISPIELE
+=========
+
+   Die Property sollte natuerlich nur von der Gilde gesetzt werden
+   und auch nur bei Gildenmitgliedern
+
+   if ( IsGuildMember(pl) )
+     pl->SetProp(P_GUILD_PREPAREBLOCK,1);
+
+   Resultat: Kein Ausfuehren von Attack(), wenn pl sich auf einen
+   Zauberspruch konzentriert.
+
+
+SIEHE AUCH
+==========
+
+   P_PREPARED_SPELL
+
 18.03.2008, Zesstra
diff --git a/doc/props/P_GUILD_RATING b/doc/props/P_GUILD_RATING
index df5800a..af9c24e 100644
--- a/doc/props/P_GUILD_RATING
+++ b/doc/props/P_GUILD_RATING
@@ -1,22 +1,40 @@
-NAME:
-	P_GUILD_RATING			"guild_rating"                
 
-DEFINIERT IN:
-	/sys/new_skills.h
+P_GUILD_RATING
+**************
 
-BESCHREIBUNG:
-	In dieser Property wird die Einstufung des Spielers innerhalb
-	seiner Gilde festgelegt. Der dafuer zu ermittelnde Wert muss in
-	einem Bereich von 0 bis 10000 liegen. Wie sich die Einstufung
-	zusammensetzt, bleibt der jeweiligen Gilde ueberlassen.
 
-BEMERKUNGEN:
-	Der Wert muss von der Gilde ermittelt werden! Meist setzt er sich
-	aus den Faehigkeiten des Mitglieds zusammen und mitunter fliessen
-	auch Gildenquests oder aehnliches mit ein.
+NAME
+====
 
-SIEHE AUCH:
-    P_NEWSKILLS, GuildRating
+   P_GUILD_RATING                  "guild_rating"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property wird die Einstufung des Spielers innerhalb
+   seiner Gilde festgelegt. Der dafuer zu ermittelnde Wert muss in
+   einem Bereich von 0 bis 10000 liegen. Wie sich die Einstufung
+   zusammensetzt, bleibt der jeweiligen Gilde ueberlassen.
+
+
+BEMERKUNGEN
+===========
+
+   Der Wert muss von der Gilde ermittelt werden! Meist setzt er sich
+   aus den Faehigkeiten des Mitglieds zusammen und mitunter fliessen
+   auch Gildenquests oder aehnliches mit ein.
+
+
+SIEHE AUCH
+==========
+
+   P_NEWSKILLS, GuildRating
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_GUILD_RESTRICTIONS b/doc/props/P_GUILD_RESTRICTIONS
index 8bbabc1..c94ccf3 100644
--- a/doc/props/P_GUILD_RESTRICTIONS
+++ b/doc/props/P_GUILD_RESTRICTIONS
@@ -1,37 +1,59 @@
-NAME:
-    P_GUILD_RESTRICTIONS        "guild_rest"                  
 
-DEFINIERT IN:
-    /sys/new_skills.h
+P_GUILD_RESTRICTIONS
+********************
 
-BESCHREIBUNG:
-    Diese Gildenproperty enthaelt ein Mapping mit den
-    Eintrittsbeschraenkungen fuer die jeweilige Gilde.
 
-BEMERKUNGEN:
-    Im allgemeinen sollte das Mapping mit den Eintrittsbeschraenkungen
-    mit den Beschraenkungen fuer Level 1 im Mapping von P_GUILD_LEVELS
-    uebereinstimmen.
+NAME
+====
 
-BEISPIELE:
-    Ein paar moegliche Abfragen waeren folgende:
-    string check(object pl);
+   P_GUILD_RESTRICTIONS        "guild_rest"
 
-    SetProp(P_GUILD_RESTRICTIONS,
-            ([P_LEVEL:3,
-              P_QP:100,
-              SR_FUN:#'check]));
 
-    string check(object pl) {
-      if(pl->QueryProp(P_MALE))
-        return 0;
-      return "Fuer Frauen ist das nichts!\n";
-    }
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-    Gildenfkt.:
-    * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
-    * Sonstiges:    P_GUILD_LEVELS
-    Sonstiges:      /std/restriction_checker.c
+   /sys/new_skills.h
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+
+BESCHREIBUNG
+============
+
+   Diese Gildenproperty enthaelt ein Mapping mit den
+   Eintrittsbeschraenkungen fuer die jeweilige Gilde.
+
+
+BEMERKUNGEN
+===========
+
+   Im allgemeinen sollte das Mapping mit den Eintrittsbeschraenkungen
+   mit den Beschraenkungen fuer Level 1 im Mapping von P_GUILD_LEVELS
+   uebereinstimmen.
+
+
+BEISPIELE
+=========
+
+   Ein paar moegliche Abfragen waeren folgende:
+   string check(object pl);
+
+   SetProp(P_GUILD_RESTRICTIONS,
+           ([P_LEVEL:3,
+             P_QP:100,
+             SR_FUN:#'check]));
+
+   string check(object pl) {
+     if(pl->QueryProp(P_MALE))
+       return 0;
+     return "Fuer Frauen ist das nichts!\n";
+   }
+
+
+SIEHE AUCH
+==========
+
+   Gildenfkt.:
+   * Ein/Austritt: beitreten, bei_oder_aus_treten, austreten
+   * Sonstiges:    P_GUILD_LEVELS
+   Sonstiges:      /std/restriction_checker.c
+
+3. Okt 2011 Gloinson
diff --git a/doc/props/P_GUILD_SKILLS b/doc/props/P_GUILD_SKILLS
index d7e30a2..232a5cf 100644
--- a/doc/props/P_GUILD_SKILLS
+++ b/doc/props/P_GUILD_SKILLS
@@ -1,24 +1,42 @@
+
 P_GUILD_SKILLS
-NAME:
-    P_GUILD_SKILLS            "guild_skills"                
+**************
 
-DEFINIERT IN:
-    /sys/new_skills.h
 
-BESCHREIBUNG:
-    Diese Gildenproperty enthaelt ein Mapping mit allen Skills und
-    Spells der Gilde.
+NAME
+====
 
-BEMERKUNGEN:
-    Man sollte diese Property sollte nicht per Hand veraendern, sondern
-    die Funktionen AddSkill() bzw. AddSpell() nutzen.
+   P_GUILD_SKILLS            "guild_skills"
 
-SIEHE AUCH:
-    GObj Verwalten:   LearnSkill, LearnSpell, InitialSkillAbility
-    * Sonstiges:      GuildRating
-    Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
-    * Verwalten:      AddSpell, QuerySpell
-    * Properties:     P_SB_SPELLS, P_GLOBAL_SKILLPROPS, P_GUILD_RATING
-    Skills:           P_NEWSKILLS, spruchermuedung, skill_info_liste
 
-3. Okt 2011 Gloinson
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Gildenproperty enthaelt ein Mapping mit allen Skills und
+   Spells der Gilde.
+
+
+BEMERKUNGEN
+===========
+
+   Man sollte diese Property sollte nicht per Hand veraendern, sondern
+   die Funktionen AddSkill() bzw. AddSpell() nutzen.
+
+
+SIEHE AUCH
+==========
+
+   GObj Verwalten:   LearnSkill, LearnSpell, InitialSkillAbility
+   * Sonstiges:      GuildRating
+   Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
+   * Verwalten:      AddSpell, QuerySpell
+   * Properties:     P_SB_SPELLS, P_GLOBAL_SKILLPROPS, P_GUILD_RATING
+   Skills:           P_NEWSKILLS, spruchermuedung, skill_info_liste
+
+3. Okt 2011 Gloinson
diff --git a/doc/props/P_GUILD_TITLE b/doc/props/P_GUILD_TITLE
index 4554349..d3a49b3 100644
--- a/doc/props/P_GUILD_TITLE
+++ b/doc/props/P_GUILD_TITLE
@@ -1,37 +1,58 @@
+
 P_GUILD_TITLE
-NAME:
-     P_GUILD_TITLE			"guild_title"                 
+*************
 
-DEFINIERT IN:
-     /sys/new_skills.h
 
-BESCHREIBUNG:
-     Diese Property enthaelt den Gildentitel des Lebewesens, welcher der
-     Gildenstufe des Lebewesens entspricht und jedoch nur angezeigt wird,
-     wenn P_TITLE des Lebewesens gleich Null ist.
+NAME
+====
 
-BEMERKUNGEN:
-     In der Property selbst wird eigentlich ein Mapping eingetragen, welches
-     die Gildennamen als Schluessel und die dazugehoerigen Gildentitel als
-     Eintrag enthaelt. Bei der Abfrage der Property wird jedoch die Gilde
-     beruecksichtigt und der aktuelle Gildentitel zurueckgeliefert.
+   P_GUILD_TITLE                      "guild_title"
 
-BEISPIELE:
-	Fuer eine Programmierergilde waere folgendes denkbar:
-	  SetProp(P_GUILD_MALE_TITLES,([1:"der Anfaenger",
-	                                2:"der Fortgeschrittene",
-	                                3:"der Profi"]));
-	  SetProp(P_GUILD_FEMALE_TITLES,([1:"die Anfaengerin",
-	                                  2:"die Fortgeschrittene",
-	                                  3:"die Professionelle"]));
-	Ein weibliches Gildenmitglied mit der dritten Gildenstufe und ohne
-	P_TITLE wuerde dann den Titel "die Professionelle" tragen. Das hat
-	zwar nichts mit Programmierern zu tun, aber wie heisst eigentlich
-	ein weiblicher "Profi"?! :)
 
-SIEHE AUCH:
-     P_TITLE, P_GUILD, P_GUILD_LEVEL,
-     P_GUILD_MALE_TITLES, P_GUILD_FEMALE_TITLES,
-     P_SUBGUILD_TITLE
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt den Gildentitel des Lebewesens, welcher der
+   Gildenstufe des Lebewesens entspricht und jedoch nur angezeigt wird,
+   wenn P_TITLE des Lebewesens gleich Null ist.
+
+
+BEMERKUNGEN
+===========
+
+   In der Property selbst wird eigentlich ein Mapping eingetragen, welches
+   die Gildennamen als Schluessel und die dazugehoerigen Gildentitel als
+   Eintrag enthaelt. Bei der Abfrage der Property wird jedoch die Gilde
+   beruecksichtigt und der aktuelle Gildentitel zurueckgeliefert.
+
+
+BEISPIELE
+=========
+
+   Fuer eine Programmierergilde waere folgendes denkbar:
+     SetProp(P_GUILD_MALE_TITLES,([1:"der Anfaenger",
+                                   2:"der Fortgeschrittene",
+                                   3:"der Profi"]));
+     SetProp(P_GUILD_FEMALE_TITLES,([1:"die Anfaengerin",
+                                     2:"die Fortgeschrittene",
+                                     3:"die Professionelle"]));
+   Ein weibliches Gildenmitglied mit der dritten Gildenstufe und ohne
+   P_TITLE wuerde dann den Titel "die Professionelle" tragen. Das hat
+   zwar nichts mit Programmierern zu tun, aber wie heisst eigentlich
+   ein weiblicher "Profi"?! :)
+
+
+SIEHE AUCH
+==========
+
+   P_TITLE, P_GUILD, P_GUILD_LEVEL,
+   P_GUILD_MALE_TITLES, P_GUILD_FEMALE_TITLES,
+   P_SUBGUILD_TITLE
 
 26. Maerz 2004 Gloinson
diff --git a/doc/props/P_HANDS b/doc/props/P_HANDS
index 9eda7c5..859b4eb 100644
--- a/doc/props/P_HANDS
+++ b/doc/props/P_HANDS
@@ -1,57 +1,78 @@
+
 P_HANDS
-NAME:
-     P_HANDS                    "hands"
+*******
 
-DEFINIERT IN:
-     /sys/living/combat.h
 
-BESCHREIBUNG:
-     Diese Property enthaelt ein dreielementiges Array mit
-     den folgenden Eintraegen:
-     1. Element: String mit der Meldung, wenn ohne Waffen angegriffen
-                 wird.
-     2. Element: Waffenklasse, wenn ohne Waffen angegriffen wird.
-     3. Element: Array mit Schadensarten (frueher auch: Schadensart)
+NAME
+====
 
-     eim Setzen dieser Property wird auch P_TOTAL_WC mit veraendert,
-     wenn das Lebewesen keine Waffe gezueckt hat. Steckt das Lebewesen
-     eine gezueckte Waffe weg, so wird ebenfalls P_TOTAL_WC mit der
-     Waffenklasse aus P_HANDS aktualisiert. Zueckt das Lebewesen eine
-     Waffe, so wird P_TOTAL_WC mit der Waffenklasse der Waffe (P_WC)
-     ueberschrieben. Die Property P_TOTAL_WC enthaelt somit immer die
-     aktuelle Angriffsstaerke des Lebewesen.
+   P_HANDS                    "hands"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt ein dreielementiges Array mit
+   den folgenden Eintraegen:
+   1. Element: String mit der Meldung, wenn ohne Waffen angegriffen
+               wird.
+   2. Element: Waffenklasse, wenn ohne Waffen angegriffen wird.
+   3. Element: Array mit Schadensarten (frueher auch: Schadensart)
+
+   eim Setzen dieser Property wird auch P_TOTAL_WC mit veraendert,
+   wenn das Lebewesen keine Waffe gezueckt hat. Steckt das Lebewesen
+   eine gezueckte Waffe weg, so wird ebenfalls P_TOTAL_WC mit der
+   Waffenklasse aus P_HANDS aktualisiert. Zueckt das Lebewesen eine
+   Waffe, so wird P_TOTAL_WC mit der Waffenklasse der Waffe (P_WC)
+   ueberschrieben. Die Property P_TOTAL_WC enthaelt somit immer die
+   aktuelle Angriffsstaerke des Lebewesen.
+
 
 BEMERKUNGEN
-     In alten Objekten kann es vorkommen, dass das dritte Element (Angabe des
-     Schadenstyps) fehlt. Dies ist eine Altlast, die Angabe des Schadenstypes
-     ist NICHT optional.)
+===========
 
-BEISPIEL:
-     Ein starker Tausendfuessler mit Schlagschaden:
-
-       SetProp(P_HANDS,({" mit tausend kleinen Fuesschen",1000, 
-                         ({DT_BLUDGEON}) }));
+   In alten Objekten kann es vorkommen, dass das dritte Element (Angabe des
+   Schadenstyps) fehlt. Dies ist eine Altlast, die Angabe des Schadenstypes
+   ist NICHT optional.)
 
 
-     Ein Saeurededaemon:
-       SetProp(P_HANDS,
-         ({
-           " mit saeuretriefenden Klauen",
-           250,
-           ({DT_RIP, DT_ACID})
-         })
-       );
+BEISPIEL
+========
 
-     Hier wurden gleich zwei Schadensarten angegeben, also wird
-     Mischschaden verursacht. Man sollte es jedoch nicht zu sehr
-     uebertreiben! Mehr als zwei oder drei gleichzeitig verwendete
-     Schadensarten lassen sich kaum mehr begruenden.
+   Ein starker Tausendfuessler mit Schlagschaden:
 
-SIEHE AUCH:
-     P_HANDS_USED_BY
-     P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
-     UseHands, FreeHands
-     P_TOTAL_WC, P_WC
-     /std/living/combat.c, /std/weapon/combat.c, /sys/combat.h
+     SetProp(P_HANDS,({" mit tausend kleinen Fuesschen",1000,
+                       ({DT_BLUDGEON}) }));
+
+
+   Ein Saeurededaemon:
+     SetProp(P_HANDS,
+       ({
+         " mit saeuretriefenden Klauen",
+         250,
+         ({DT_RIP, DT_ACID})
+       })
+     );
+
+   Hier wurden gleich zwei Schadensarten angegeben, also wird
+   Mischschaden verursacht. Man sollte es jedoch nicht zu sehr
+   uebertreiben! Mehr als zwei oder drei gleichzeitig verwendete
+   Schadensarten lassen sich kaum mehr begruenden.
+
+
+SIEHE AUCH
+==========
+
+   P_HANDS_USED_BY
+   P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
+   UseHands, FreeHands
+   P_TOTAL_WC, P_WC
+   /std/living/combat.c, /std/weapon/combat.c, /sys/combat.h
 
 22.02.2014 Zesstra
diff --git a/doc/props/P_HANDS_USED_BY b/doc/props/P_HANDS_USED_BY
index dd0e5fe..f0d5165 100644
--- a/doc/props/P_HANDS_USED_BY
+++ b/doc/props/P_HANDS_USED_BY
@@ -1,21 +1,39 @@
+
 P_HANDS_USED_BY
-NAME:
-     P_HANDS_USED_BY           "hands_used_by"
+***************
 
-DEFINIERT IN:
-     /sys/living/combat.h
 
-BESCHREIBUNG:
-     Enthaelt eine Liste mit den Objekten, die derzeit die Haende
-     des Livings belegen. Dabei koennen Objekte mehrmals auftauchen,
-     je nachdem wie viele Haende sie belegen.
+NAME
+====
 
-BEMERKUNGEN:
-     Darf nur ueber UseHands() und FreeHands() manipuliert werden.
+   P_HANDS_USED_BY           "hands_used_by"
 
-SIEHE AUCH:
-     P_HANDS
-     P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
-     UseHands, FreeHands
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt eine Liste mit den Objekten, die derzeit die Haende
+   des Livings belegen. Dabei koennen Objekte mehrmals auftauchen,
+   je nachdem wie viele Haende sie belegen.
+
+
+BEMERKUNGEN
+===========
+
+   Darf nur ueber UseHands() und FreeHands() manipuliert werden.
+
+
+SIEHE AUCH
+==========
+
+   P_HANDS
+   P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
+   UseHands, FreeHands
 
 1.Feb.2004 Gloinson
diff --git a/doc/props/P_HARBOUR b/doc/props/P_HARBOUR
index c0e1048..f049847 100644
--- a/doc/props/P_HARBOUR
+++ b/doc/props/P_HARBOUR
@@ -1,66 +1,94 @@
-NAME:
-    P_HARBOUR                                  "harbour_name"                   
 
-DEFINIERT IN:
-    /sys/transport.h
+P_HARBOUR
+*********
 
-BESCHREIBUNG:
-    Array mit eindeutiger Bezeichnung des 'Hafens'
 
-BEMERKUNGEN:
-    Diese Property wird in Raeumen gesetzt, die als Anleger fuer Transporter
-    dienen sollen. Sie enthaelt ein Array aus zwei Elementen, einem String
-    und einem String-Array, zum Beispiel:
+NAME
+====
 
-    ({ "zur Sonneninsel", ({"sonneninsel"}) }) oder 
-    ({ "nach Titiwu", ({"titiwu"}) })
+   P_HARBOUR                                  "harbour_name"
 
-    Damit bekommt der Spieler bei einer Abfrage seiner Reiseroute mittels
-    "reise route" eine Ausgabe wie 
-      'Du reist mit dem Floss nach Titiwu' oder
-      'Du reist mit dem Wal zur Sonneninsel'.
 
-    Das zweite Element der Property enthaelt eine Liste der IDs, mit denen
-    sich der Hafen mit dem Befehl "reise nach <ID>" ansprechen laesst. Im
-    Beispiel oben wuerde also "reise nach sonneninsel" und 
-    "reise nach titiwu" akzeptiert werden. Der erste Eintrag in dieser ID-
-    Liste wird in der Ausgabe des Befehls "reise route" verwendet, sollte
-    also den Anlegeort korrekt bezeichnen und nicht z.B. eine Abkuerzung
-    enthalten.
-    Es bietet sich an, bei bestimmten, deklinierbaren Bezeichnungen alle
-    Varianten einzutragen, z.B. "verlorenes land" und zusaetzlich
-    "verlorene land" und "verlorenen land", damit alle Varianten von 
-    "reise nach ..." funktionieren.
+DEFINIERT IN
+============
 
-    Ist in einem Hafen diese Property nicht gesetzt, so bekommt der 
-    Spieler keinerlei Hinweis darauf, wohin ihn ein bestimmter Trans-
-    porter befoerdert. 
-    Stattdessen erhaelt er die Bezeichnung 'unbekannt'.
+   /sys/transport.h
 
-HINWEISE:
-    Wird der zweite Parameter in dieser Property, d.h. die Liste der 
-    Anleger-IDs, nicht korrekt gesetzt, kann das dazu fuehren, dass Spieler
-    den hier anlegenden Transporter nicht benutzen koennen, weil es
-    keine sinnvolle Syntax gibt, um den gewuenschten Zielhafen zu finden.
 
-    Zu achten ist auch darauf, das der erste Eintrag unveraendert in einer 
-    Meldung an den Spieler ausgegeben wird, d.h. Gross-und Kleinschreibung
-    sollte korrekt sein.
+BESCHREIBUNG
+============
 
-HISTORIE:
-    Frueher war der zweite Eintrag in dieser Property ein einzelner String.
-    Es existiert eine SetMethode auf dieser Property, die solche Daten in
-    altem Code auf die neue Datenstruktur umbiegt. Dies fuehrt dazu, dass
-    bei solchen Objekten die im geladenen Raum enthaltenen Daten nicht mit
-    den Daten im File uebereinstimmen. Dies moege aber bitte niemand 
-    zum Anlass nehmen, in neuem Code veraltete Daten in die Property zu 
-    schreiben!
-    
-SIEHE AUCH:
-  Properties:     P_NO_TRAVELING, P_TRAVEL_INFO
-  Funktionen:     AddRoute(L)
-  Spielerbefehle: reise
-  weitere Doku:   /d/inseln/schiffe/HowTo
+   Array mit eindeutiger Bezeichnung des 'Hafens'
 
-LETZTE AENDERUNG:
+
+BEMERKUNGEN
+===========
+
+   Diese Property wird in Raeumen gesetzt, die als Anleger fuer Transporter
+   dienen sollen. Sie enthaelt ein Array aus zwei Elementen, einem String
+   und einem String-Array, zum Beispiel:
+
+   ({ "zur Sonneninsel", ({"sonneninsel"}) }) oder
+   ({ "nach Titiwu", ({"titiwu"}) })
+
+   Damit bekommt der Spieler bei einer Abfrage seiner Reiseroute mittels
+   "reise route" eine Ausgabe wie
+     'Du reist mit dem Floss nach Titiwu' oder
+     'Du reist mit dem Wal zur Sonneninsel'.
+
+   Das zweite Element der Property enthaelt eine Liste der IDs, mit denen
+   sich der Hafen mit dem Befehl "reise nach <ID>" ansprechen laesst. Im
+   Beispiel oben wuerde also "reise nach sonneninsel" und
+   "reise nach titiwu" akzeptiert werden. Der erste Eintrag in dieser ID-
+   Liste wird in der Ausgabe des Befehls "reise route" verwendet, sollte
+   also den Anlegeort korrekt bezeichnen und nicht z.B. eine Abkuerzung
+   enthalten.
+   Es bietet sich an, bei bestimmten, deklinierbaren Bezeichnungen alle
+   Varianten einzutragen, z.B. "verlorenes land" und zusaetzlich
+   "verlorene land" und "verlorenen land", damit alle Varianten von
+   "reise nach ..." funktionieren.
+
+   Ist in einem Hafen diese Property nicht gesetzt, so bekommt der
+   Spieler keinerlei Hinweis darauf, wohin ihn ein bestimmter Trans-
+   porter befoerdert.
+   Stattdessen erhaelt er die Bezeichnung 'unbekannt'.
+
+
+HINWEISE
+========
+
+   Wird der zweite Parameter in dieser Property, d.h. die Liste der
+   Anleger-IDs, nicht korrekt gesetzt, kann das dazu fuehren, dass Spieler
+   den hier anlegenden Transporter nicht benutzen koennen, weil es
+   keine sinnvolle Syntax gibt, um den gewuenschten Zielhafen zu finden.
+
+   Zu achten ist auch darauf, das der erste Eintrag unveraendert in einer
+   Meldung an den Spieler ausgegeben wird, d.h. Gross-und Kleinschreibung
+   sollte korrekt sein.
+
+
+HISTORIE
+========
+
+   Frueher war der zweite Eintrag in dieser Property ein einzelner String.
+   Es existiert eine SetMethode auf dieser Property, die solche Daten in
+   altem Code auf die neue Datenstruktur umbiegt. Dies fuehrt dazu, dass
+   bei solchen Objekten die im geladenen Raum enthaltenen Daten nicht mit
+   den Daten im File uebereinstimmen. Dies moege aber bitte niemand
+   zum Anlass nehmen, in neuem Code veraltete Daten in die Property zu
+   schreiben!
+
+
+SIEHE AUCH
+==========
+
+   Properties:     P_NO_TRAVELING, P_TRAVEL_INFO
+   Funktionen:     AddRoute(L)
+   Spielerbefehle: reise
+   weitere Doku:   /d/inseln/schiffe/HowTo
+
+
+LETZTE AENDERUNG
+================
+
 2015-Jan-18, Arathorn
diff --git a/doc/props/P_HAUS_ERLAUBT b/doc/props/P_HAUS_ERLAUBT
index 8ac6495..ffd5c8f 100644
--- a/doc/props/P_HAUS_ERLAUBT
+++ b/doc/props/P_HAUS_ERLAUBT
@@ -1,29 +1,46 @@
-NAME:
-    P_HAUS_ERLAUBT                "haus_erlaubt"                
 
-DEFINIERT IN:
-    /sys/room/description.h
+P_HAUS_ERLAUBT
+**************
 
-BESCHREIBUNG:
-     Hier darf ein Seherhaus abgestellt werden
 
-BEMERKUNGEN:
-     Diese Property sollte nicht per default in Raeumen auf einen Wert > 0
-     gesetzt werden um einem Wildwuchs an Seherhaus(-ruinen) vorzubeugen.
-     Auch sei darauf geachtet, dass in Raeumen die P_INDOORS auf einen 
-     Wert > 0 haben, per default nicht gebaut werden kann.     
-     Hier lieber die Property per Hand auf 1 setzen und nach dem Aufstellen
-     des Hauses wieder loeschen.
-      
-     xcall $h->SetProp(P_HAUS_ERLAUBT,1);
+NAME
+====
 
-     Angemerkt sei noch, dass der Magier dem der Raum gehoert ueber Hausbau
-     entscheidet und nicht der Regionsmagier. In jedem Fall Ruecksprache 
-     halten falls der entsprechende Magier zumindest ab und an anwesend sein
-     sollte.
+   P_HAUS_ERLAUBT                "haus_erlaubt"
 
-     Unter /doc/beispiele/misc liegt ein File, in dem dokumentiert ist,
-     wie nach Aenderungen am Seherhaus zu verfahren ist.
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+   Hier darf ein Seherhaus abgestellt werden
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property sollte nicht per default in Raeumen auf einen Wert > 0
+   gesetzt werden um einem Wildwuchs an Seherhaus(-ruinen) vorzubeugen.
+   Auch sei darauf geachtet, dass in Raeumen die P_INDOORS auf einen
+   Wert > 0 haben, per default nicht gebaut werden kann.
+   Hier lieber die Property per Hand auf 1 setzen und nach dem Aufstellen
+   des Hauses wieder loeschen.
+
+
+
+   xcall $h->SetProp(P_HAUS_ERLAUBT,1);
+
+   Angemerkt sei noch, dass der Magier dem der Raum gehoert ueber Hausbau
+   entscheidet und nicht der Regionsmagier. In jedem Fall Ruecksprache
+   halten falls der entsprechende Magier zumindest ab und an anwesend sein
+   sollte.
+
+   Unter /doc/beispiele/misc liegt ein File, in dem dokumentiert ist,
+   wie nach Aenderungen am Seherhaus zu verfahren ist.
+
 Last modified: Fri Nov 26 15:41:47 1999 by Tilly
diff --git a/doc/props/P_HB b/doc/props/P_HB
index eee2dcb..bdaf9f1 100644
--- a/doc/props/P_HB
+++ b/doc/props/P_HB
@@ -1,9 +1,22 @@
-NAME:
-    P_HB                          "hb"                          
 
-DEFINIERT IN:
-    /sys/properties.h
+P_HB
+****
 
-BESCHREIBUNG:
-     Diese Property wird gesetzt, wenn das Monster immer einen
-     heart_beat haben soll. (VORSICHT, nur wenn es WIRKLICH sein muss!)
+
+NAME
+====
+
+   P_HB                          "hb"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property wird gesetzt, wenn das Monster immer einen
+   heart_beat haben soll. (VORSICHT, nur wenn es WIRKLICH sein muss!)
diff --git a/doc/props/P_HEAL b/doc/props/P_HEAL
index 242802f..83d4991 100644
--- a/doc/props/P_HEAL
+++ b/doc/props/P_HEAL
@@ -1,32 +1,48 @@
-NAME:
-     P_HEAL                        "heal"                        
 
-DEFINIERT IN:
-     /sys/properties.h
+P_HEAL
+******
 
-BESCHREIBUNG:
-     Numerischer Wert, der beim Verzehr einer Leiche zu den Lebenspunkten 
-     desjenigen hinzugezaehlt wird, der die Leiche isst. Der Wert kann auch 
-     negativ sein. Falls die Leiche den maximalen Verfallszustand erreicht 
-     hat, wird dieser Wert automatisch auf -4 gesetzt, sofern nicht schon
-     ein geringerer Wert eingetragen ist.
 
-     Werte unter -4 sind sehr sparsam und nur in begruendeten Einzelfaellen
-     zu setzen. Die Regionsmagier werden auf sinnvolle Wertebereiche in
-     ihrem Zustaendigkeitsbereich achten und ggf. Grenzwerte fuer ihre 
-     Region festlegen.
+NAME
+====
 
-     Die Gilden koennen P_HEAL abfragen und eigene, grobe Informationstexte
-     ausgeben, die den Spieler ueber den zu erwartenden Effekt beim Essen
-     einer Leiche informieren.
+   P_HEAL                        "heal"
 
-     Positive Werte von P_HEAL sind bei der Heilungsbalance als Heilstelle
-     zu beantragen.
 
-     Fuer nicht allzu harte NPCs sollte P_HEAL auf 0 gesetzt sein. Dieser
-     Wert ist gleichzeitig der Standardwert.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     /std/corpse, QueryHealInfo()
-     
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert, der beim Verzehr einer Leiche zu den Lebenspunkten
+   desjenigen hinzugezaehlt wird, der die Leiche isst. Der Wert kann auch
+   negativ sein. Falls die Leiche den maximalen Verfallszustand erreicht
+   hat, wird dieser Wert automatisch auf -4 gesetzt, sofern nicht schon
+   ein geringerer Wert eingetragen ist.
+
+   Werte unter -4 sind sehr sparsam und nur in begruendeten Einzelfaellen
+   zu setzen. Die Regionsmagier werden auf sinnvolle Wertebereiche in
+   ihrem Zustaendigkeitsbereich achten und ggf. Grenzwerte fuer ihre
+   Region festlegen.
+
+   Die Gilden koennen P_HEAL abfragen und eigene, grobe Informationstexte
+   ausgeben, die den Spieler ueber den zu erwartenden Effekt beim Essen
+   einer Leiche informieren.
+
+   Positive Werte von P_HEAL sind bei der Heilungsbalance als Heilstelle
+   zu beantragen.
+
+   Fuer nicht allzu harte NPCs sollte P_HEAL auf 0 gesetzt sein. Dieser
+   Wert ist gleichzeitig der Standardwert.
+
+
+SIEHE AUCH
+==========
+
+   /std/corpse, QueryHealInfo()
+
 31.03.2008 Arathorn
diff --git a/doc/props/P_HELPER_NPC b/doc/props/P_HELPER_NPC
index eb71e47..af8bfef 100644
--- a/doc/props/P_HELPER_NPC
+++ b/doc/props/P_HELPER_NPC
@@ -1,30 +1,50 @@
+
 P_HELPER_NPC
+************
 
-NAME:
-     P_HELPER_NPC             "std:helper_npc
 
-DEFINIERT IN:
-     /sys/living/combat.h
+NAME
+====
 
-BESCHREIBUNG:
-    Mit dieser Prop laesst sich herausfinden, ob ein NPC einem Spieler hilft
-    bzw. welche NPC einem Spieler helfen.
-    Wird diese Prop in einem NPC abgefragt, enthaelt sie ein Array 
-      ({ spielerobjekt, flags }) oder 0.
-    Wird diese Prop in einem Spieler abgefragt, enthaelt sie ein Mapping
-      ([npcobjekt1: flags1, npc-objekt2: flags2]).
+   P_HELPER_NPC             "std:helper_npc
 
-    <flags> ist ein Integer, der eine Reihe von ver-oder-ten Konstanten (s.
-    RegisterHelperNPC) enthalten kann.
 
-BEMERKUNGEN:
-    Diese Prop wird automatisch von RegisterHelperNPC() und
-    UnregisterHelperNPC() verwaltet. Bitte aendert sie nicht per Hand.
+DEFINIERT IN
+============
 
-BEISPIEL:
-    s. RegisterHelperNPC().
+   /sys/living/combat.h
 
-SIEHE AUCH:
-     RegisterHelperNPC(), UnregisterHelperNPC()
+
+BESCHREIBUNG
+============
+
+   Mit dieser Prop laesst sich herausfinden, ob ein NPC einem Spieler hilft
+   bzw. welche NPC einem Spieler helfen.
+   Wird diese Prop in einem NPC abgefragt, enthaelt sie ein Array
+     ({ spielerobjekt, flags }) oder 0.
+   Wird diese Prop in einem Spieler abgefragt, enthaelt sie ein Mapping
+     ([npcobjekt1: flags1, npc-objekt2: flags2]).
+
+   <flags> ist ein Integer, der eine Reihe von ver-oder-ten Konstanten (s.
+   RegisterHelperNPC) enthalten kann.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Prop wird automatisch von RegisterHelperNPC() und
+   UnregisterHelperNPC() verwaltet. Bitte aendert sie nicht per Hand.
+
+
+BEISPIEL
+========
+
+   s. RegisterHelperNPC().
+
+
+SIEHE AUCH
+==========
+
+   RegisterHelperNPC(), UnregisterHelperNPC()
 
 10.03.2009, Zesstra
diff --git a/doc/props/P_HELPER_OBJECTS b/doc/props/P_HELPER_OBJECTS
index bdf031d..94990c4 100644
--- a/doc/props/P_HELPER_OBJECTS
+++ b/doc/props/P_HELPER_OBJECTS
@@ -1,25 +1,40 @@
+
 P_HELPER_OBJECTS
+****************
 
-NAME:
-     P_HELPER_OBJECTS "lib_p_helper_objects"
 
-DEFINIERT IN:
-     <living/helpers.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Property enthaelt eine Liste von Hilfsobjekten, die das Lebewesen,
-     in dem sie gesetzt ist, bei bestimmten Aktivitaeten wie Tauchen oder
-     Fliegen/Segeln unterstuetzt. Die Property enthaelt ein Mapping der Form
-     ([ HELPER_TYPE : ({ Callback-Closures }) ]).
+   P_HELPER_OBJECTS "lib_p_helper_objects"
 
-BEMERKUNGEN:
-     Externe Manipulationen an dieser Property bitte unterlassen, zum Ein-
-     und Austragen von Objekten gibt es die unten aufgefuehrten Methoden.
 
-SIEHE AUCH:
-     Methoden:    RegisterHelperObject(L), UnregisterHelperObject(L)
-     Properties:  P_AERIAL_HELPERS, P_AQUATIC_HELPERS
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   <living/helpers.h>
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt eine Liste von Hilfsobjekten, die das Lebewesen,
+   in dem sie gesetzt ist, bei bestimmten Aktivitaeten wie Tauchen oder
+   Fliegen/Segeln unterstuetzt. Die Property enthaelt ein Mapping der Form
+   ([ HELPER_TYPE : ({ Callback-Closures }) ]).
+
+
+BEMERKUNGEN
+===========
+
+   Externe Manipulationen an dieser Property bitte unterlassen, zum Ein-
+   und Austragen von Objekten gibt es die unten aufgefuehrten Methoden.
+
+
+SIEHE AUCH
+==========
+
+   Methoden:    RegisterHelperObject(L), UnregisterHelperObject(L)
+   Properties:  P_AERIAL_HELPERS, P_AQUATIC_HELPERS
+
 18.02.2013, Arathorn
-
diff --git a/doc/props/P_HIDE_EXITS b/doc/props/P_HIDE_EXITS
index 0c92a4a..c9aa2e5 100644
--- a/doc/props/P_HIDE_EXITS
+++ b/doc/props/P_HIDE_EXITS
@@ -1,35 +1,53 @@
+
 P_HIDE_EXITS
-NAME:
-     P_HIDE_EXITS                  "hide_exits"
+************
 
-DEFINIERT IN:
-     /sys/room/exits.h
 
-BESCHREIBUNG:
-     Ist diese Property in einem Raum auf einen Integerwert ungleich 0
-     gesetzt, werden einem Spieler fuer diesen Raum keine Ausgaenge angezeigt.
-     Auch der Text "Keine sichtbaren Ausgaenge." (oder so) kommt nicht.
-     Alternativ kann man auch ein array von strings uebergeben. In diesem
-     Fall werden all die Ausgaenge nicht angezeigt, deren Index in P_EXITS
-     in dem array vorkommt.
-     In diesem Fall wird ggf. der Text "Keine sichtbaren Ausgaenge."
-     ausgegeben.
+NAME
+====
 
-BEISPIEL:
-     AddExit("raus", "/ganz/wo/anders");
-     AddExit("weiter", "/in/der/naehe");
+   P_HIDE_EXITS                  "hide_exits"
 
-     // KEINE Ausgaenge anzeigen. Noch nicht mal, dass man keine sieht.
-     SetProp(P_HIDE_EXITS, 1);
 
-     // Der Ausgang weiter wird nicht angezeigt.
-     SetProp(P_HIDE_EXITS, ({"weiter"}) );
+DEFINIERT IN
+============
 
-     // Keinen Ausgang zeigen, aber den Text, dass keiner sichtbar, ausgeben.
-     SetProp(P_HIDE_EXITS, ({"weiter", "raus"}) );
+   /sys/room/exits.h
 
-SIEHE AUCH:
-     Aehnliches:	P_SHOW_EXITS
-     Sonstiges:		AddExit(), GetExits(), int_long(), int_short()
 
-25. Apr 1996 Highlander
\ No newline at end of file
+BESCHREIBUNG
+============
+
+   Ist diese Property in einem Raum auf einen Integerwert ungleich 0
+   gesetzt, werden einem Spieler fuer diesen Raum keine Ausgaenge angezeigt.
+   Auch der Text "Keine sichtbaren Ausgaenge." (oder so) kommt nicht.
+   Alternativ kann man auch ein array von strings uebergeben. In diesem
+   Fall werden all die Ausgaenge nicht angezeigt, deren Index in P_EXITS
+   in dem array vorkommt.
+   In diesem Fall wird ggf. der Text "Keine sichtbaren Ausgaenge."
+   ausgegeben.
+
+
+BEISPIEL
+========
+
+   AddExit("raus", "/ganz/wo/anders");
+   AddExit("weiter", "/in/der/naehe");
+
+   // KEINE Ausgaenge anzeigen. Noch nicht mal, dass man keine sieht.
+   SetProp(P_HIDE_EXITS, 1);
+
+   // Der Ausgang weiter wird nicht angezeigt.
+   SetProp(P_HIDE_EXITS, ({"weiter"}) );
+
+   // Keinen Ausgang zeigen, aber den Text, dass keiner sichtbar, ausgeben.
+   SetProp(P_HIDE_EXITS, ({"weiter", "raus"}) );
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches:        P_SHOW_EXITS
+   Sonstiges:         AddExit(), GetExits(), int_long(), int_short()
+
+25. Apr 1996 Highlander
diff --git a/doc/props/P_HISTMIN b/doc/props/P_HISTMIN
index e84d90c..ca35504 100644
--- a/doc/props/P_HISTMIN
+++ b/doc/props/P_HISTMIN
@@ -1,8 +1,21 @@
-NAME:
-    P_HISTMIN                     "histmin"                     
 
-DEFINIERT IN:
-    /sys/player.h
+P_HISTMIN
+*********
 
-BESCHREIBUNG:
-     Minimale Laenge, die eine Zeile haben muss, um in die History zu kommen
+
+NAME
+====
+
+   P_HISTMIN                     "histmin"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Minimale Laenge, die eine Zeile haben muss, um in die History zu kommen
diff --git a/doc/props/P_HIT_FUNC b/doc/props/P_HIT_FUNC
index c5b3b31..9bcc328 100644
--- a/doc/props/P_HIT_FUNC
+++ b/doc/props/P_HIT_FUNC
@@ -1,22 +1,38 @@
+
 P_HIT_FUNC
+**********
 
-NAME:
-     P_HIT_FUNC "hit_func"
 
-DEFINIERT IN:
-     <weapon.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Falls ein Objekt eine HitFunc() fuer die Waffe definiert, so muss
-     dieses Objekt in dieser Property eingetragen werden.
+   P_HIT_FUNC "hit_func"
 
-     Die Auswertung dieser Property erfolgt in QueryDamage().
 
-BEISPIELE:
-     Siehe das Beispiel zu HitFunc()
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     /std/weapon.c, HitFunc()
+   <weapon.h>
 
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   Falls ein Objekt eine HitFunc() fuer die Waffe definiert, so muss
+   dieses Objekt in dieser Property eingetragen werden.
+
+   Die Auswertung dieser Property erfolgt in QueryDamage().
+
+
+BEISPIELE
+=========
+
+   Siehe das Beispiel zu HitFunc()
+
+
+SIEHE AUCH
+==========
+
+   /std/weapon.c, HitFunc()
+
 Last modified: Sun May 19 15:37:35 1996 by Wargon
diff --git a/doc/props/P_HOMEPAGE b/doc/props/P_HOMEPAGE
index 7d90438..5cf6bec 100644
--- a/doc/props/P_HOMEPAGE
+++ b/doc/props/P_HOMEPAGE
@@ -1,8 +1,21 @@
-NAME:
-    P_HOMEPAGE                    "homepage"                    
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_HOMEPAGE
+**********
 
-BESCHREIBUNG:
-     Die Homepage eines Spielers (mit dem Befehl 'url' zu setzen).
+
+NAME
+====
+
+   P_HOMEPAGE                    "homepage"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Die Homepage eines Spielers (mit dem Befehl 'url' zu setzen).
diff --git a/doc/props/P_HP b/doc/props/P_HP
index f2aea74..b7ded4a 100644
--- a/doc/props/P_HP
+++ b/doc/props/P_HP
@@ -1,25 +1,39 @@
-NAME:
-    P_HP                          "hp"
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_HP
+****
 
-BESCHREIBUNG:
 
-     - Lebewesen
-       Anzahl der Lebenspunkte des Wesens.
+NAME
+====
 
-     - Speisen/Kneipen
-       Heilwirkung einer Portion der Speise auf die Lebenspunkte
-       des Konsumenten
+   P_HP                          "hp"
 
-SIEHE AUCH:
-     Props:		P_MAX_HP
-     Veraenderung:	reduce_hit_points(), restore_hit_points()
-			do_damage(L), Defend(L)
-			buffer_hp()
-     Ueberwachung:	AddHpHook(L)
-     Speisen/Kneipen:   std/pub, wiz/food, consume
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   - Lebewesen
+     Anzahl der Lebenspunkte des Wesens.
+
+   - Speisen/Kneipen
+     Heilwirkung einer Portion der Speise auf die Lebenspunkte
+     des Konsumenten
+
+
+SIEHE AUCH
+==========
+
+   Props:             P_MAX_HP
+   Veraenderung:      reduce_hit_points(), restore_hit_points()
+                      do_damage(L), Defend(L)
+                      buffer_hp()
+   Ueberwachung:      AddHpHook(L)
+   Speisen/Kneipen:   std/pub, wiz/food, consume
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_HP_DELAY b/doc/props/P_HP_DELAY
index a807ad9..f15f748 100644
--- a/doc/props/P_HP_DELAY
+++ b/doc/props/P_HP_DELAY
@@ -1,10 +1,23 @@
-NAME:
-    P_HP_DELAY                 "hp_delay"                     
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_HP_DELAY
+**********
 
-BESCHREIBUNG:
-     Anzahl der heart_beats, bis P_HP um einen Punkt regeneriert.
-     Aenderungen dieser Property in Spielern beduerfen der 
-     Genehmigung des EM fuer Balance.
+
+NAME
+====
+
+   P_HP_DELAY                 "hp_delay"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der heart_beats, bis P_HP um einen Punkt regeneriert.
+   Aenderungen dieser Property in Spielern beduerfen der
+   Genehmigung des EM fuer Balance.
diff --git a/doc/props/P_HP_HOOKS b/doc/props/P_HP_HOOKS
index 28f1a1e..7bb48bf 100644
--- a/doc/props/P_HP_HOOKS
+++ b/doc/props/P_HP_HOOKS
@@ -1,19 +1,38 @@
-NAME:
-    P_HP_HOOKS                    "hp_hooks"                    
 
-DEFINIERT IN:
-    /sys/properties.h
+P_HP_HOOKS
+**********
 
-BESCHREIBUNG:
-     Welche Objekte sollen bei HP-Aenderungen benachrichtigt werden?
-     Diese Property bitte NICHT manipulieren! Zum Ein- und Austragen stehen
-     hierfuer AddHpHook() und RemoveHpHook() bereit.
 
-BEMERKUNGEN:
-    Das neuere Hooksystem (s. Manpage std/hooks) stellt ebenfalls Hooks zur
-    Ueberwachung von P_HP bereit.
+NAME
+====
 
-SIEHE AUCH:
-    AddHpHook(), RemoveHpHook(),
-    NotifyHpChange()
-    std/hooks
+   P_HP_HOOKS                    "hp_hooks"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Welche Objekte sollen bei HP-Aenderungen benachrichtigt werden?
+   Diese Property bitte NICHT manipulieren! Zum Ein- und Austragen stehen
+   hierfuer AddHpHook() und RemoveHpHook() bereit.
+
+
+BEMERKUNGEN
+===========
+
+   Das neuere Hooksystem (s. Manpage std/hooks) stellt ebenfalls Hooks zur
+   Ueberwachung von P_HP bereit.
+
+
+SIEHE AUCH
+==========
+
+   AddHpHook(), RemoveHpHook(),
+   NotifyHpChange()
+   std/hooks
diff --git a/doc/props/P_HUNTTIME b/doc/props/P_HUNTTIME
index 377ab18..e712a49 100644
--- a/doc/props/P_HUNTTIME
+++ b/doc/props/P_HUNTTIME
@@ -1,35 +1,59 @@
+
+P_HUNTTIME
+**********
+
+
 P_HUNTTIME (int)
+================
 
-NAME:
-     P_HUNTTIME					"p_lib_hunttime"
 
-DEFINIERT IN:
-     /sys/living/combat.h
+NAME
+====
 
-BESCHREIBUNG:
-    Mit dieser Property laesst sich festlegen, wie lange ein Monster einen 
-    Gegner verfolgt (also automatisch angreift), nachdem dieser geflohen ist.
-    Die Angabe erfolgt in Sekunden.
-    Die Standardzeit ist 600s (300 Heartbeats).
+   P_HUNTTIME                                 "p_lib_hunttime"
 
-BEMERKUNGEN:
-    1. Wenn der Standardwert akzeptabel ist, bitte die Prop auch nicht setzen.
-    2. Enthaelt die Property keinen Integer oder ist sie <= 0, wird sie 
-       ignoriert und der Standardwert von 600s verwendet.
-    3. Kaempft man mit einem Lebenwesen mit einem groesseren Wert als man 
-       selber und man selber hat das Verfolgen eingestellt, der Gegner aber 
-       nicht, wird dieser beim Reinkommen den Kampf neu starten (und den 
-       ersten Schlag haben).
 
-BEISPIEL:
-    Ein NPC soll sich erst eine Stunde nach Flucht des Gegners beruhigen.
-    protected void create() {
-      ...
-      SetProp(P_HUNTTIME, 3600);
-    }
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     InsertSingleEnemy, InsertEnemy
-     /std/living/combat.c
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Mit dieser Property laesst sich festlegen, wie lange ein Monster einen
+   Gegner verfolgt (also automatisch angreift), nachdem dieser geflohen ist.
+   Die Angabe erfolgt in Sekunden.
+   Die Standardzeit ist 600s (300 Heartbeats).
+
+
+BEMERKUNGEN
+===========
+
+   1. Wenn der Standardwert akzeptabel ist, bitte die Prop auch nicht setzen.
+   2. Enthaelt die Property keinen Integer oder ist sie <= 0, wird sie
+      ignoriert und der Standardwert von 600s verwendet.
+   3. Kaempft man mit einem Lebenwesen mit einem groesseren Wert als man
+      selber und man selber hat das Verfolgen eingestellt, der Gegner aber
+      nicht, wird dieser beim Reinkommen den Kampf neu starten (und den
+      ersten Schlag haben).
+
+
+BEISPIEL
+========
+
+   Ein NPC soll sich erst eine Stunde nach Flucht des Gegners beruhigen.
+   protected void create() {
+     ...
+     SetProp(P_HUNTTIME, 3600);
+   }
+
+
+SIEHE AUCH
+==========
+
+   InsertSingleEnemy, InsertEnemy
+   /std/living/combat.c
 
 13.03.2008, Zesstra
diff --git a/doc/props/P_IDS b/doc/props/P_IDS
index 311407b..dee9a74 100644
--- a/doc/props/P_IDS
+++ b/doc/props/P_IDS
@@ -1,25 +1,41 @@
+
 P_IDS
+*****
 
-NAME:
-     P_IDS "ids"
 
-DEFINIERT IN:
-     <thing/description.h>
+NAME
+====
 
-BESCHREIBUNG:
-     In dieser Property steht ein Array von den Strings, mit denen sich das
-     Objekt ansprechen laesst. Die Verwaltung dieser Property erfolgt ueber
-     die Funktionen AddId() und RemoveId().
+   P_IDS "ids"
 
-     Der Inhalt dieser Property wird von den Funktionen id() und (indirekt)
-     present() ausgewertet.
 
-BEMERKUNGEN:
-     Man sollte an dieser Property nicht "von Hand" herumfummeln, sondern
-     immer die zugehoerigen Funktionen benutzen!
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     /std/thing/description.c, AddId(), RemoveId()
+   <thing/description.h>
 
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   In dieser Property steht ein Array von den Strings, mit denen sich das
+   Objekt ansprechen laesst. Die Verwaltung dieser Property erfolgt ueber
+   die Funktionen AddId() und RemoveId().
+
+   Der Inhalt dieser Property wird von den Funktionen id() und (indirekt)
+   present() ausgewertet.
+
+
+BEMERKUNGEN
+===========
+
+   Man sollte an dieser Property nicht "von Hand" herumfummeln, sondern
+   immer die zugehoerigen Funktionen benutzen!
+
+
+SIEHE AUCH
+==========
+
+   /std/thing/description.c, AddId(), RemoveId()
+
 Last modified: Sun May 19 20:17:36 1996 by Wargon
diff --git a/doc/props/P_IGNORE b/doc/props/P_IGNORE
index d95fd14..3436a09 100644
--- a/doc/props/P_IGNORE
+++ b/doc/props/P_IGNORE
@@ -1,22 +1,39 @@
-NAME:
-    P_IGNORE                      "ignore"
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_IGNORE
+********
 
-BESCHREIBUNG:
-    Array mit Spielern, Kommandos, Aktionen u.ae. die ignoriert werden.
-    In aller Regel sollte die Ignorierepruefung durch Aufruf von TestIgnore()
-    im Spieler erfolgen und nicht selber P_IGNORE durchsucht werden.
 
-BEMERKUNGEN:
-    Die Daten in dieser Property werden intern als Mapping gespeichert, nicht
-    als Array von Strings. Bitte nicht mit Set/Query() an dieser Property
-    herumbasteln.
+NAME
+====
 
-SIEHE AUCH:
-    TestIgnore, /std/player/comm.c
+   P_IGNORE                      "ignore"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Array mit Spielern, Kommandos, Aktionen u.ae. die ignoriert werden.
+   In aller Regel sollte die Ignorierepruefung durch Aufruf von TestIgnore()
+   im Spieler erfolgen und nicht selber P_IGNORE durchsucht werden.
+
+
+BEMERKUNGEN
+===========
+
+   Die Daten in dieser Property werden intern als Mapping gespeichert, nicht
+   als Array von Strings. Bitte nicht mit Set/Query() an dieser Property
+   herumbasteln.
+
+
+SIEHE AUCH
+==========
+
+   TestIgnore, /std/player/comm.c
+
 Last modified: 02.10.2011, Zesstra
-
diff --git a/doc/props/P_INDOORS b/doc/props/P_INDOORS
index c1ab07a..4483d10 100644
--- a/doc/props/P_INDOORS
+++ b/doc/props/P_INDOORS
@@ -1,33 +1,52 @@
-NAME:
-     P_INDOORS                     "indoors"
 
-DEFINIERT IN:
-     /sys/room/description.h
+P_INDOORS
+*********
 
-BESCHREIBUNG:
-     Gesetzt, wenn von dem Raum aus der Himmel nicht sichtbar ist.
 
-     Objekte oder Gilden werten diese Property teilweise aus, fuer
-     Innenraeume sollte sie also sinnvollerweise gesetzt werden.
+NAME
+====
 
-     Licht wird _nicht_ durch P_INDOORS beeinflusst, muss also
-     selbst angepasst werden.
+   P_INDOORS                     "indoors"
+
+
+DEFINIERT IN
+============
+
+   /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt, wenn von dem Raum aus der Himmel nicht sichtbar ist.
+
+   Objekte oder Gilden werten diese Property teilweise aus, fuer
+   Innenraeume sollte sie also sinnvollerweise gesetzt werden.
+
+   Licht wird _nicht_ durch P_INDOORS beeinflusst, muss also
+   selbst angepasst werden.
+
 
 BEISPIEL
-     // Ein dunkler Innenraum:
-     SetProp(P_INDOORS, 1);            // ein Innenraum liegt innen :)
-     SetProp(P_LIGHT, 0);              // Licht auf 0
+========
 
-     // Ein richtig heller Aussenraum:
-     SetProp(P_INDOORS, 0);
-     SetProp(P_LIGHT, 2);
+   // Ein dunkler Innenraum:
+   SetProp(P_INDOORS, 1);            // ein Innenraum liegt innen :)
+   SetProp(P_LIGHT, 0);              // Licht auf 0
 
-     // Ein heller Aussenraum mit Mondlicht (gut fuer Delfen)
-     SetProp(P_INDOORS, 0);
-     SetProp(P_LIGHT, 1);
-     SetProp(P_LIGHT_TYPE, LT_STARS|LT_MOON);
+   // Ein richtig heller Aussenraum:
+   SetProp(P_INDOORS, 0);
+   SetProp(P_LIGHT, 2);
+
+   // Ein heller Aussenraum mit Mondlicht (gut fuer Delfen)
+   SetProp(P_INDOORS, 0);
+   SetProp(P_LIGHT, 1);
+   SetProp(P_LIGHT_TYPE, LT_STARS|LT_MOON);
+
 
 SIEHE AUCH
-     P_LIGHT, P_LIGHT_ABSORPTION, P_LIGHT_TYPE
+==========
+
+   P_LIGHT, P_LIGHT_ABSORPTION, P_LIGHT_TYPE
 
 25.Aug 2008 Gloinson
diff --git a/doc/props/P_INFO b/doc/props/P_INFO
index 06dabe6..f29c242 100644
--- a/doc/props/P_INFO
+++ b/doc/props/P_INFO
@@ -1,18 +1,36 @@
+
 P_INFO
-NAME:
-     P_INFO                        "info"                        
+******
 
-DEFINIERT IN:
-     /sys/properties.h
 
-BESCHREIBUNG:
-     Geheime Information, die ggf. ueber einen Zauberspruch
-     von Spielern ermittelt werden kann.
-     
-BEISPIEL:
-     SetProp(P_INFO,"Du ergruendest das Geheimnis.\n")
+NAME
+====
 
-SIEHE AUCH:
-     GetOwner(L)
+   P_INFO                        "info"
 
-24. April 2006, Vanion 
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Geheime Information, die ggf. ueber einen Zauberspruch
+   von Spielern ermittelt werden kann.
+
+
+BEISPIEL
+========
+
+   SetProp(P_INFO,"Du ergruendest das Geheimnis.\n")
+
+
+SIEHE AUCH
+==========
+
+   GetOwner(L)
+
+24. April 2006, Vanion
diff --git a/doc/props/P_INFORMME b/doc/props/P_INFORMME
index 4736933..c6dd0ed 100644
--- a/doc/props/P_INFORMME
+++ b/doc/props/P_INFORMME
@@ -1,14 +1,30 @@
-NAME:
-    P_INFORMME                    "informme"                    
 
-DEFINIERT IN:
-    /sys/properties.h
+P_INFORMME
+**********
 
-BESCHREIBUNG:
-    Enthaelt das Flag, ob der Spieler ueber ein-/ausloggende Spieler
-    informiert werden will.
 
-SIEHE AUCH:
-    Spielerkommando: inform
+NAME
+====
+
+   P_INFORMME                    "informme"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt das Flag, ob der Spieler ueber ein-/ausloggende Spieler
+   informiert werden will.
+
+
+SIEHE AUCH
+==========
+
+   Spielerkommando: inform
 
 6.Feb 2016 Gloinson
diff --git a/doc/props/P_INPC_HOME b/doc/props/P_INPC_HOME
index 31fea0b..1eafd4d 100644
--- a/doc/props/P_INPC_HOME
+++ b/doc/props/P_INPC_HOME
@@ -1,8 +1,21 @@
-NAME:
-    P_INPC_HOME                   "inpc_home"                   
 
-DEFINIERT IN:
-    /sys/inpc/walking.h
+P_INPC_HOME
+***********
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_INPC_HOME                   "inpc_home"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_LAST_ENVIRONMENT b/doc/props/P_INPC_LAST_ENVIRONMENT
index 2b7437a..8f7cb68 100644
--- a/doc/props/P_INPC_LAST_ENVIRONMENT
+++ b/doc/props/P_INPC_LAST_ENVIRONMENT
@@ -1,8 +1,21 @@
-NAME:
-    P_INPC_LAST_ENVIRONMENT       "inpc_last_environment"       
 
-DEFINIERT IN:
-    /sys/inpc/walking.h
+P_INPC_LAST_ENVIRONMENT
+***********************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_INPC_LAST_ENVIRONMENT       "inpc_last_environment"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_LAST_PLAYER_CONTACT b/doc/props/P_INPC_LAST_PLAYER_CONTACT
index f32cd02..14f8730 100644
--- a/doc/props/P_INPC_LAST_PLAYER_CONTACT
+++ b/doc/props/P_INPC_LAST_PLAYER_CONTACT
@@ -1,8 +1,21 @@
-NAME:
-    P_INPC_LAST_PLAYER_CONTACT    "inpc_last_player_contact"    
 
-DEFINIERT IN:
-    /sys/inpc/walking.h
+P_INPC_LAST_PLAYER_CONTACT
+**************************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_INPC_LAST_PLAYER_CONTACT    "inpc_last_player_contact"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_WALK_AREA b/doc/props/P_INPC_WALK_AREA
index 3d7dfc6..9554d27 100644
--- a/doc/props/P_INPC_WALK_AREA
+++ b/doc/props/P_INPC_WALK_AREA
@@ -1,8 +1,21 @@
-NAME:
-    P_INPC_WALK_AREA              "inpc_walk_area"              
 
-DEFINIERT IN:
-    /sys/inpc/walking.h
+P_INPC_WALK_AREA
+****************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_INPC_WALK_AREA              "inpc_walk_area"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_WALK_DELAYS b/doc/props/P_INPC_WALK_DELAYS
index f510764..e59deea 100644
--- a/doc/props/P_INPC_WALK_DELAYS
+++ b/doc/props/P_INPC_WALK_DELAYS
@@ -1,8 +1,21 @@
-NAME:
-    P_INPC_WALK_DELAYS            "inpc_walk_delay"             
 
-DEFINIERT IN:
-    /sys/inpc/walking.h
+P_INPC_WALK_DELAYS
+******************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_INPC_WALK_DELAYS            "inpc_walk_delay"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_WALK_FLAGS b/doc/props/P_INPC_WALK_FLAGS
index 3e8749b..86c4835 100644
--- a/doc/props/P_INPC_WALK_FLAGS
+++ b/doc/props/P_INPC_WALK_FLAGS
@@ -1,8 +1,21 @@
-NAME:
-    P_INPC_WALK_FLAGS             "inpc_walk_flags"             
 
-DEFINIERT IN:
-    /sys/inpc/walking.h
+P_INPC_WALK_FLAGS
+*****************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_INPC_WALK_FLAGS             "inpc_walk_flags"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_WALK_MODE b/doc/props/P_INPC_WALK_MODE
index 22da99d..134bb50 100644
--- a/doc/props/P_INPC_WALK_MODE
+++ b/doc/props/P_INPC_WALK_MODE
@@ -1,8 +1,21 @@
-NAME:
-    P_INPC_WALK_MODE              "inpc_walk_mode"              
 
-DEFINIERT IN:
-    /sys/inpc/walking.h
+P_INPC_WALK_MODE
+****************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_INPC_WALK_MODE              "inpc_walk_mode"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INPC_WALK_ROUTE b/doc/props/P_INPC_WALK_ROUTE
index 4d11cb1..762408d 100644
--- a/doc/props/P_INPC_WALK_ROUTE
+++ b/doc/props/P_INPC_WALK_ROUTE
@@ -1,8 +1,21 @@
-NAME:
-    P_INPC_WALK_ROUTE             "inpc_walk_route"             
 
-DEFINIERT IN:
-    /sys/inpc/walking.h
+P_INPC_WALK_ROUTE
+*****************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_INPC_WALK_ROUTE             "inpc_walk_route"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_INTERMUD b/doc/props/P_INTERMUD
index 6d4bd59..8019998 100644
--- a/doc/props/P_INTERMUD
+++ b/doc/props/P_INTERMUD
@@ -1,13 +1,25 @@
-NAME:
-    P_INTERMUD                    "intermud"                    
 
-DEFINIERT IN:
-    /sys/player/comm.h
+P_INTERMUD
+**********
 
-BESCHREIBUNG:
+
+NAME
+====
+
+   P_INTERMUD                    "intermud"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
    Die Bedeutung dieser Property ist in den praehistorischen Untiefen
    der Mudlib verlorengegangen.
    Wird nicht mehr benutzt.
    Nicht benutzen.
    Ignorieren.
-
diff --git a/doc/props/P_INTERNAL_EXTRA_LOOK b/doc/props/P_INTERNAL_EXTRA_LOOK
index 160125d..ffa78ad 100644
--- a/doc/props/P_INTERNAL_EXTRA_LOOK
+++ b/doc/props/P_INTERNAL_EXTRA_LOOK
@@ -1,39 +1,57 @@
-NAME:
-	P_INTERNAL_EXTRA_LOOK			"internal_extralook"
 
-DEFINIERT IN:
-	/sys/living/description.h
+P_INTERNAL_EXTRA_LOOK
+*********************
 
-BESCHREIBUNG:
-	Diese Property enthaelt ein Mapping, in dem alle einzelnen
-  Extra-Look-Eintraege des Livings enthalten sind. Dabei weden die Daten von
-  AddExtraLook() und RemoveExtraLook() verwaltet. Fragt man diese Prop mit
-  QueryProp() ab, erhaelt man die Ausgabe der gueltigen Extralooks des
-  Livings. Bei Abfrage per Query() erhaelt man ein Mapping mit allen
-  Eintraegen und deren Daten. Jeder Wert im Mapping ist erneut ein Mapping, 
-  welches folgende Keys enthalten kann:
-  - "xllook": String, der im Extralook des Living angezeigt wird.
-  - "xlduration": Zeitstempel (int), der angibt, wie lang der Eintrag gueltig
-                  ist. 0 == "Unendlich", negative Zahlen besagen, dass der
-                  Eintrag nur bis Reboot/Ende gueltig sein und abs(xlduration)
-                  ist der Zeitpunkt des Eintrages dieses Extralooks.
-  - "xlende": String, der nach Ablaufen an das Living ausgegeben wird.
-  - "xlfun": Funktion, die gerufen wird und den String zurueckliefern muss, 
-             der ausgeben werden soll.
-  - "xlendefun": Funktion, die gerufen wird, wenn der Eintrag abgelaufen ist
-                 und den String zurueckliefern muss, der dann ans Living
-                 ausgeben wird.
-  - "xlobjectname": Objekt, in dem die o.a. Funktionen gerufen werden.
 
-BEMERKUNG:
-  DIESE PROPERTY BITTE NIEMALS PER HAND MIT Set()/SetProp() AENDERN!
-  Die Daten in dieser Prop werden vom Living selber verwaltet. Extralooks
-  koennen mittel AddExtraLook() eingetragen und mit RemoveExtraLook() entfernt
-  werden.
+NAME
+====
 
-SIEHE AUCH:
-  long(), /std/living/description.c, /std/player/base.c
-  AddExtraLook(), RemoveExtraLook()
+   P_INTERNAL_EXTRA_LOOK                   "internal_extralook"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+         Diese Property enthaelt ein Mapping, in dem alle einzelnen
+   Extra-Look-Eintraege des Livings enthalten sind. Dabei weden die Daten von
+   AddExtraLook() und RemoveExtraLook() verwaltet. Fragt man diese Prop mit
+   QueryProp() ab, erhaelt man die Ausgabe der gueltigen Extralooks des
+   Livings. Bei Abfrage per Query() erhaelt man ein Mapping mit allen
+   Eintraegen und deren Daten. Jeder Wert im Mapping ist erneut ein Mapping,
+   welches folgende Keys enthalten kann:
+   - "xllook": String, der im Extralook des Living angezeigt wird.
+   - "xlduration": Zeitstempel (int), der angibt, wie lang der Eintrag gueltig
+                   ist. 0 == "Unendlich", negative Zahlen besagen, dass der
+                   Eintrag nur bis Reboot/Ende gueltig sein und abs(xlduration)
+                   ist der Zeitpunkt des Eintrages dieses Extralooks.
+   - "xlende": String, der nach Ablaufen an das Living ausgegeben wird.
+   - "xlfun": Funktion, die gerufen wird und den String zurueckliefern muss,
+              der ausgeben werden soll.
+   - "xlendefun": Funktion, die gerufen wird, wenn der Eintrag abgelaufen ist
+                  und den String zurueckliefern muss, der dann ans Living
+                  ausgeben wird.
+   - "xlobjectname": Objekt, in dem die o.a. Funktionen gerufen werden.
+
+
+BEMERKUNG
+=========
+
+   DIESE PROPERTY BITTE NIEMALS PER HAND MIT Set()/SetProp() AENDERN!
+   Die Daten in dieser Prop werden vom Living selber verwaltet. Extralooks
+   koennen mittel AddExtraLook() eingetragen und mit RemoveExtraLook() entfernt
+   werden.
+
+
+SIEHE AUCH
+==========
+
+   long(), /std/living/description.c, /std/player/base.c
+   AddExtraLook(), RemoveExtraLook()
+
 13.05.2007, Zesstra
diff --git a/doc/props/P_INT_LIGHT b/doc/props/P_INT_LIGHT
index 04504a6..dcf59b6 100644
--- a/doc/props/P_INT_LIGHT
+++ b/doc/props/P_INT_LIGHT
@@ -1,20 +1,36 @@
-NAME:
-    P_INT_LIGHT                       "int_light"
 
-DEFINIERT IN:
-    /sys/properties.h
+P_INT_LIGHT
+***********
 
-BESCHREIBUNG:
-    Gibt den Lichtlevel an, der _in_ einem Objekt ist. Ein Abfragen dieser
-    Property kann z.B. in Raeumen sinnvoll sein, wenn es z.B. um das
-    aufwachen einer Eule oder einer Fledermaus geht. Zum Abfragen ob ein
-    Spieler etwas sehen kann, bitte auf jeden Fall P_PLAYER_LIGHT benutzen!
 
-    Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
-    da das Lichtlevel ggf. neu berechnet werden muss!
+NAME
+====
 
-    Ein direktes setzen dieser Property ist NICHT moeglich, hierzu bitte
-    P_LIGHT benutzen!
+   P_INT_LIGHT                       "int_light"
 
-SIEHE AUCH:
-    P_LIGHT, P_TOTAL_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Gibt den Lichtlevel an, der _in_ einem Objekt ist. Ein Abfragen dieser
+   Property kann z.B. in Raeumen sinnvoll sein, wenn es z.B. um das
+   aufwachen einer Eule oder einer Fledermaus geht. Zum Abfragen ob ein
+   Spieler etwas sehen kann, bitte auf jeden Fall P_PLAYER_LIGHT benutzen!
+
+   Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
+   da das Lichtlevel ggf. neu berechnet werden muss!
+
+   Ein direktes setzen dieser Property ist NICHT moeglich, hierzu bitte
+   P_LIGHT benutzen!
+
+
+SIEHE AUCH
+==========
+
+   P_LIGHT, P_TOTAL_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_INT_LONG b/doc/props/P_INT_LONG
index 3e59249..741e511 100644
--- a/doc/props/P_INT_LONG
+++ b/doc/props/P_INT_LONG
@@ -1,32 +1,53 @@
+
 P_INT_LONG
-NAME:
-     P_INT_LONG                    "int_long"
+**********
 
-DEFINIERT IN:
-     /sys/room/description.h
 
-BESCHREIBUNG:
-     Enthaelt Beschreibung, die man bekommt, wenn man sich in dem
-     Container (jeder Raum ist einer) umschaut als String.
+NAME
+====
 
-     Der Text sollte bereits umgebrochen sein.
+   P_INT_LONG                    "int_long"
 
-     Diese Property bestimmt die Ansicht des Containers von innen.
-     Fuer die Aussen(lang)ansicht muss P_LONG benutzt werden.
 
-BEMERKUNGEN:
-     - Beschreibungen fuer etwaige Tueren im Raum werden in int_long()
-       hinzugefuegt. (Frueher wurde dies in einer Querymethode auf diese Prop
-       gemacht.)
+DEFINIERT IN
+============
 
-BEISPIELE:
-     SetProp(P_INT_LONG, break_string(
-      "Du stehst in einem total spannenden Testraum. Seine absolute "
-      "Nichtigkeit erfuellt dich mit ehrfuerchtigem Grauen.",78));
+   /sys/room/description.h
 
-SIEHE AUCH:
-     Aehnliches:	P_INT_SHORT
-     Sonstiges:		int_long(), P_LONG
-			process_string(), break_string()
+
+BESCHREIBUNG
+============
+
+   Enthaelt Beschreibung, die man bekommt, wenn man sich in dem
+   Container (jeder Raum ist einer) umschaut als String.
+
+   Der Text sollte bereits umgebrochen sein.
+
+   Diese Property bestimmt die Ansicht des Containers von innen.
+   Fuer die Aussen(lang)ansicht muss P_LONG benutzt werden.
+
+
+BEMERKUNGEN
+===========
+
+   - Beschreibungen fuer etwaige Tueren im Raum werden in int_long()
+     hinzugefuegt. (Frueher wurde dies in einer Querymethode auf diese Prop
+     gemacht.)
+
+
+BEISPIELE
+=========
+
+   SetProp(P_INT_LONG, break_string(
+    "Du stehst in einem total spannenden Testraum. Seine absolute "
+    "Nichtigkeit erfuellt dich mit ehrfuerchtigem Grauen.",78));
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches:        P_INT_SHORT
+   Sonstiges:         int_long(), P_LONG
+                      process_string(), break_string()
 
 04.06.2009, Zesstra
diff --git a/doc/props/P_INT_SHORT b/doc/props/P_INT_SHORT
index 9c6a0af..618bbab 100644
--- a/doc/props/P_INT_SHORT
+++ b/doc/props/P_INT_SHORT
@@ -1,36 +1,56 @@
+
 P_INT_SHORT
-NAME:
-     P_INT_SHORT			"int_short"
+***********
 
-DEFINIERT IN:
-     /sys/thing/description.h
 
-BESCHREIBUNG:
-     Diese Property enthaelt die Innen-Kurzbeschreibung des Containers
-     als String oder Closure (mit String-Rueckgabewert).
+NAME
+====
 
-     Container sind hierbei z.B. Raeume.
-     ACHTUNG: Die Kurzbeschreibung sollte dabei weder mit einem
-	      Satzzeichen noch mit einem "\n" abgeschlossen sein
-	      (dies wird von den zustaendigen Funktionen erledigt).
+   P_INT_SHORT                        "int_short"
 
-     Man sollte die Property nicht auf 0 setzen.
 
-     Diese Property bestimmt die Ansicht des Containers von innen.
-     Fuer die Aussen(kurz)ansicht muss P_SHORT benutzt werden.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     - int_short() (bei Bewegung) filtert P_INT_SHORT durch process_string()
-       -> daher sind Closures moeglich
+   /sys/thing/description.h
 
-BEISPIELE:
-     // ein Gang sieht natuerlich so aus
-     SetProp(P_INT_SHORT, "Ein Gang");
 
-SIEHE AUCH:
-     Aehnliches:	P_INT_LONG
-     Sonstiges:		int_short(), P_SHORT
-			process_string(), break_string()
+BESCHREIBUNG
+============
 
-----------------------------------------------------------------------------
+   Diese Property enthaelt die Innen-Kurzbeschreibung des Containers
+   als String oder Closure (mit String-Rueckgabewert).
+
+   Container sind hierbei z.B. Raeume.
+   ACHTUNG: Die Kurzbeschreibung sollte dabei weder mit einem
+            Satzzeichen noch mit einem "\n" abgeschlossen sein
+            (dies wird von den zustaendigen Funktionen erledigt).
+
+   Man sollte die Property nicht auf 0 setzen.
+
+   Diese Property bestimmt die Ansicht des Containers von innen.
+   Fuer die Aussen(kurz)ansicht muss P_SHORT benutzt werden.
+
+
+BEMERKUNGEN
+===========
+
+   - int_short() (bei Bewegung) filtert P_INT_SHORT durch process_string()
+     -> daher sind Closures moeglich
+
+
+BEISPIELE
+=========
+
+   // ein Gang sieht natuerlich so aus
+   SetProp(P_INT_SHORT, "Ein Gang");
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches:        P_INT_LONG
+   Sonstiges:         int_short(), P_SHORT
+                      process_string(), break_string()
+
 Last modified: Thu May 31 15:34:05 2001 by Patryn
diff --git a/doc/props/P_INVIS b/doc/props/P_INVIS
index 7022ea0..4063546 100644
--- a/doc/props/P_INVIS
+++ b/doc/props/P_INVIS
@@ -1,50 +1,65 @@
-NAME:
-     P_INVIS                       "invis"                       
 
-DEFINIERT IN:
-     /sys/player/base.h
+P_INVIS
+*******
 
-BESCHREIBUNG:
-     Die Property P_INVIS dient dazu, Objekte als unsichtbar zu kennzeichnen.
-     Hierbei versucht P_INVIS die moeglichen Interaktionen mit Spielern zu
-     minimieren (im Gegensatz zu einer fehlenden P_SHORT, welche das Objekt
-     nur einfach nicht-sichtbar macht).
-     
-     Man sollte drei Arten von unsichtbaren Objekten unterscheiden:
 
-     - Gegenstaende
-       Setzt man P_INVIS auf eine Zahl ungleich 0, wird der Gegenstand
-       unsichtbar und der Name zu "etwas". Zusaetzlich koennen Spieler ihn
-       nicht mehr ansprechen, d.h. nehmen, wegwerfen, weitergeben etc.
-       (Bei magier-eigenen Kommandos ist dies evtl. nicht umgesetzt...)
-       Setzt man P_SHORT auf 0, wird der Gegenstand nur nicht mehr in
-       der Inventarliste von Behaeltern/Raeumen angezeigt, er behaelt aber
-       seinen Namen und ist durch Spieler ansprechbar, wenn sie eine ID
-       kennen.
+NAME
+====
 
-     - NPCs
-       Bei gesetztem P_INVIS wird der NPC unsichtbar und sein Name wird zu
-       "Jemand". Zusaetzlich koennen Spieler ihn nicht mehr ansprechen, z.B.
-       toeten oder knuddeln.
-       (Bei magier-eigenen Kommandos ist dies evtl. nicht umgesetzt...)
-       Setzt man P_SHORT auf 0, wird der NPC nur nicht mehr in der
-       Inventarliste von Behaeltern/Raeumen angezeigt, er behaelt aber seinen
-       Namen und ist durch Spieler ansprechbar, wenn sie eine ID kennen. Auch
-       angreifen und kaempfen ist moeglich.
-     
-     - Magier
-       Magier macht man unsichtbar, indem man ihnen die Property P_INVIS auf
-       einen Wert <> 0 setzt.
-       *  Spieler duerfen nicht unsichtbar gemacht werden!               *
-       *  Wird ein Magier unsichtbar gemacht, muss man ihm die Property	 *
-       *  P_INVIS auf den Wert setzen, den die Property P_AGE zu diesem	 *
-       *  Zeitpunkt hat (keine F_QUERY_METHOD !).				                 *
-       Setzt man die Property auf den Wert 1, so erhaelt ein Spieler,
-       wenn er den entsp. Magier fingert, die Ausgabe: Alter: 00:00:02,
-       was genauso verraeterisch ist, wie ein Alter, dass bei einem
-       scheinbar nicht eingeloggten Magier immer weiter hochgezaehlt
-       wird.
+   P_INVIS                       "invis"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Die Property P_INVIS dient dazu, Objekte als unsichtbar zu kennzeichnen.
+   Hierbei versucht P_INVIS die moeglichen Interaktionen mit Spielern zu
+   minimieren (im Gegensatz zu einer fehlenden P_SHORT, welche das Objekt
+   nur einfach nicht-sichtbar macht).
+
+
+
+   Man sollte drei Arten von unsichtbaren Objekten unterscheiden:
+
+   - Gegenstaende
+     Setzt man P_INVIS auf eine Zahl ungleich 0, wird der Gegenstand
+     unsichtbar und der Name zu "etwas". Zusaetzlich koennen Spieler ihn
+     nicht mehr ansprechen, d.h. nehmen, wegwerfen, weitergeben etc.
+     (Bei magier-eigenen Kommandos ist dies evtl. nicht umgesetzt...)
+     Setzt man P_SHORT auf 0, wird der Gegenstand nur nicht mehr in
+     der Inventarliste von Behaeltern/Raeumen angezeigt, er behaelt aber
+     seinen Namen und ist durch Spieler ansprechbar, wenn sie eine ID
+     kennen.
+
+   - NPCs
+     Bei gesetztem P_INVIS wird der NPC unsichtbar und sein Name wird zu
+     "Jemand". Zusaetzlich koennen Spieler ihn nicht mehr ansprechen, z.B.
+     toeten oder knuddeln.
+     (Bei magier-eigenen Kommandos ist dies evtl. nicht umgesetzt...)
+     Setzt man P_SHORT auf 0, wird der NPC nur nicht mehr in der
+     Inventarliste von Behaeltern/Raeumen angezeigt, er behaelt aber seinen
+     Namen und ist durch Spieler ansprechbar, wenn sie eine ID kennen. Auch
+     angreifen und kaempfen ist moeglich.
+
+
+
+   - Magier
+     Magier macht man unsichtbar, indem man ihnen die Property P_INVIS auf
+     einen Wert <> 0 setzt.
+     *  Spieler duerfen nicht unsichtbar gemacht werden!               *
+     *  Wird ein Magier unsichtbar gemacht, muss man ihm die Property  *
+     *  P_INVIS auf den Wert setzen, den die Property P_AGE zu diesem  *
+     *  Zeitpunkt hat (keine F_QUERY_METHOD !).                                                *
+     Setzt man die Property auf den Wert 1, so erhaelt ein Spieler,
+     wenn er den entsp. Magier fingert, die Ausgabe: Alter: 00:00:02,
+     was genauso verraeterisch ist, wie ein Alter, dass bei einem
+     scheinbar nicht eingeloggten Magier immer weiter hochgezaehlt
+     wird.
+
 27.05.2015, Zesstra
-
diff --git a/doc/props/P_IP_NAME b/doc/props/P_IP_NAME
index 7b503ea..6003c80 100644
--- a/doc/props/P_IP_NAME
+++ b/doc/props/P_IP_NAME
@@ -1,8 +1,21 @@
-NAME:
-    P_IP_NAME                     "ip_name"                     
 
-DEFINIERT IN:
-    /sys/player.h
+P_IP_NAME
+*********
 
-BESCHREIBUNG:
-     Rechnername des Interactives
+
+NAME
+====
+
+   P_IP_NAME                     "ip_name"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Rechnername des Interactives
diff --git a/doc/props/P_IS_ARTILLERY b/doc/props/P_IS_ARTILLERY
index 051b20f..2afcd60 100644
--- a/doc/props/P_IS_ARTILLERY
+++ b/doc/props/P_IS_ARTILLERY
@@ -1,15 +1,30 @@
-NAME:
-	P_IS_ARTILLERY			"artillery"
 
-DEFINIERT IN:
-	/sys/combat.h
+P_IS_ARTILLERY
+**************
 
-BESCHREIBUNG:
-	Is ein Objekt Artillerie, so muss diese Property
-	gesetzt sein. (Derzeit einfach auf 1 setzen.)
 
-SIEHE AUCH:
-	artillerie
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_IS_ARTILLERY                  "artillery"
+
+
+DEFINIERT IN
+============
+
+   /sys/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Is ein Objekt Artillerie, so muss diese Property
+   gesetzt sein. (Derzeit einfach auf 1 setzen.)
+
+
+SIEHE AUCH
+==========
+
+   artillerie
+
 Last modified: Sam,  5. Jul 2003, 22:07:12 by Zook.
diff --git a/doc/props/P_ITEMS b/doc/props/P_ITEMS
index add4255..1fcafc5 100644
--- a/doc/props/P_ITEMS
+++ b/doc/props/P_ITEMS
@@ -1,9 +1,22 @@
-NAME:
-    P_ITEMS                       "items"                       
 
-DEFINIERT IN:
-    /sys/properties.h
+P_ITEMS
+*******
 
-BESCHREIBUNG:
-     Definition von Gegenstaenden, die in dem Raum liegen sollen.
-     Erklaerung in einem Extrafile.
+
+NAME
+====
+
+   P_ITEMS                       "items"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Definition von Gegenstaenden, die in dem Raum liegen sollen.
+   Erklaerung in einem Extrafile.
diff --git a/doc/props/P_I_HATE_ALCOHOL b/doc/props/P_I_HATE_ALCOHOL
index f60a38f..0a0eefc 100644
--- a/doc/props/P_I_HATE_ALCOHOL
+++ b/doc/props/P_I_HATE_ALCOHOL
@@ -1,23 +1,41 @@
-NAME:
-    P_I_HATE_ALCOHOL                        "i_hate_alcohol"
 
-DEFINIERT IN:
-    /sys/inpc/boozing.h
+P_I_HATE_ALCOHOL
+****************
 
-BESCHREIBUNG:
-    Numerischer Wert, der die Obergrenze an P_ALCOHOL in einem Monster
-    definiert, welcher beim eigenstaendigen Tanken beruecksichtigt wird.
 
-BEMERKUNG:
-    Geht der Npc (und nur fuer solche ist diese Prop gedacht) eigen-
-    staendig tanken, werden vor dem Bestellen die Getraenke und Speisen
-    auf ihren Alkoholgehalt geprueft und mit dem aktuellen Wert von
-    P_ALCOHOL im Verhaeltnis zu P_I_HATE_ALCOHOL verglichen. Laege der
-    Wert fuer P_ALCOHOL dann ueber dem von P_I_HATE_ALCOHOL, wird dieses
-    Getraenk (diese Speise) nicht bestellt.
+NAME
+====
 
-SIEHE AUCH:
-     P_ALCOHOL, P_MAX_ALCOHOL
+   P_I_HATE_ALCOHOL                        "i_hate_alcohol"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/inpc/boozing.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert, der die Obergrenze an P_ALCOHOL in einem Monster
+   definiert, welcher beim eigenstaendigen Tanken beruecksichtigt wird.
+
+
+BEMERKUNG
+=========
+
+   Geht der Npc (und nur fuer solche ist diese Prop gedacht) eigen-
+   staendig tanken, werden vor dem Bestellen die Getraenke und Speisen
+   auf ihren Alkoholgehalt geprueft und mit dem aktuellen Wert von
+   P_ALCOHOL im Verhaeltnis zu P_I_HATE_ALCOHOL verglichen. Laege der
+   Wert fuer P_ALCOHOL dann ueber dem von P_I_HATE_ALCOHOL, wird dieses
+   Getraenk (diese Speise) nicht bestellt.
+
+
+SIEHE AUCH
+==========
+
+   P_ALCOHOL, P_MAX_ALCOHOL
+
 Last modified: Sam Apr 14 12:35:00 2001 by Tilly
diff --git a/doc/props/P_KEEPER b/doc/props/P_KEEPER
index c0275ba..63185c8 100644
--- a/doc/props/P_KEEPER
+++ b/doc/props/P_KEEPER
@@ -1,14 +1,26 @@
-NAME:
-    P_KEEPER                       "shop_keeper"
 
-DEFINIERT IN:
-    /sys/properties.h
+P_KEEPER
+********
 
-BESCHREIBUNG:
-    In diese Property kann man in Kneipen und Laeden einen String schreiben.
-    Dann wird vor den Transaktionen geprueft, ob ein NPC anwesend ist,
-    der diesen String als ID hat.
-    Ist der NPC nicht vorhanden, kann nichts ge- oder verkauft werden.
 
-----------------------------------------------------------------------------
-Last modified: Mon Aug 23 14:29:00 1999 by Paracelsus
\ No newline at end of file
+NAME
+====
+
+   P_KEEPER                       "shop_keeper"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   In diese Property kann man in Kneipen und Laeden einen String schreiben.
+   Dann wird vor den Transaktionen geprueft, ob ein NPC anwesend ist,
+   der diesen String als ID hat.
+   Ist der NPC nicht vorhanden, kann nichts ge- oder verkauft werden.
+
+Last modified: Mon Aug 23 14:29:00 1999 by Paracelsus
diff --git a/doc/props/P_KEEP_ON_SELL b/doc/props/P_KEEP_ON_SELL
index 8a21407..ce5feba 100644
--- a/doc/props/P_KEEP_ON_SELL
+++ b/doc/props/P_KEEP_ON_SELL
@@ -1,8 +1,21 @@
-NAME:
-    P_KEEP_ON_SELL                "keep_on_sell"                
 
-DEFINIERT IN:
-    /sys/properties.h
+P_KEEP_ON_SELL
+**************
 
-BESCHREIBUNG:
-     Bei "verkaufe alles" wird das Objekt behalten.
+
+NAME
+====
+
+   P_KEEP_ON_SELL                "keep_on_sell"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Bei "verkaufe alles" wird das Objekt behalten.
diff --git a/doc/props/P_KILLER b/doc/props/P_KILLER
index 83f6b18..01bb0d1 100644
--- a/doc/props/P_KILLER
+++ b/doc/props/P_KILLER
@@ -1,10 +1,23 @@
-NAME:
-    P_KILLER                      "killer"                      
 
-DEFINIERT IN:
-    /sys/properties.h
+P_KILLER
+********
 
-BESCHREIBUNG:
+
+NAME
+====
+
+   P_KILLER                      "killer"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
    Diese Property enthaelt das Objekt, welches das Lebewesen als letztes
    getoetet hat. Sie wird von do_damage(), heart_beat() (Vergiftungen) und
    die() (bei direkten Aufrufen) automatisch gesetzt. Ein manuelles
@@ -16,12 +29,18 @@
    waehrend eines NotifyPlayerDeath(), weil es evtl. noch andere Objekte gibt,
    die sich dafuer interessieren!
 
-BEMERKUNGEN:
+
+BEMERKUNGEN
+===========
+
    Normalerweise steht hier ein Objekt drin (s.o.). Es gibt allerdings eine
    Ausnahme: Stirbt ein Lebewesen an Gift, enthaelt P_KILLER den String
    "gift".
 
-SIEHE AUCH:
+
+SIEHE AUCH
+==========
+
    do_damage()
 
 29.08.2008, Zesstra
diff --git a/doc/props/P_KILLS b/doc/props/P_KILLS
index 3dae72d..7ec3dac 100644
--- a/doc/props/P_KILLS
+++ b/doc/props/P_KILLS
@@ -1,10 +1,23 @@
-NAME:
-    P_KILLS                       "playerkills"                 
 
-DEFINIERT IN:
-    /sys/properties.h
+P_KILLS
+*******
 
-BESCHREIBUNG:
-     Anzahl der Spieler, die dieser Spieler schon getoetet hat.
-     Unerlaubte Manipulation ist ein SCHWERES VERGEHEN gegen
-     die Mudreglen.
+
+NAME
+====
+
+   P_KILLS                       "playerkills"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der Spieler, die dieser Spieler schon getoetet hat.
+   Unerlaubte Manipulation ist ein SCHWERES VERGEHEN gegen
+   die Mudreglen.
diff --git a/doc/props/P_KILL_MSG b/doc/props/P_KILL_MSG
index 0a9e3bb..9437975 100644
--- a/doc/props/P_KILL_MSG
+++ b/doc/props/P_KILL_MSG
@@ -1,80 +1,96 @@
+
 P_KILL_MSG
-
-NAME:
-	P_KILL_MSG			"kill_msg"
-
-DEFINIERT IN:
-	/sys/properties.h
-
-BESCHREIBUNG:
-     Wenn ein Spieler getoetet wird, so erscheint dazu eine kurze Information
-     auf dem Todeskanal. Um dem toetenden Objekt zusaetzlich die Moeglichkeit
-     zu geben, noch etwas mehr auf diesem Kanal auszugeben, kann man in
-     dieser Property einen String uebergeben.
-     Noetige Zeilenumbrueche werden hierbei automatisch generiert.
-
-     Es ist auch moeglich anzugeben, ob Emotes verwendet werden und ob das
-     toetende Objekt ein Plural-Objekt ist. Hierzu uebergibt man ein Array
-     der Gestalt:
-
-	({Killmessage,Emotes}) bzw. ({Killmessage,Emotes,PLURAL})
-
-     Der Eintrag <Killmessage> stellt hierbei die Meldung selbst dar, PLURAL
-     gibt an, dass es sich um ein Plural-Objekt handelt und <Emotes> kann
-     folgende Werte annehmen:
-
-	MSG_SAY    - Meldung wird normal ausgegeben.
-	MSG_EMOTE  - Meldung erscheint als Emote.
-	MSG_GEMOTE - Meldung erscheint als Genitiv-Emote.
-	MSG_EMPTY  - Meldung erscheint ohne zuvorige Angabe des
-	               toetenden Objektes.
-
-     Moechte man die Meldung noch etwas "persoenlicher" ;-) gestalten, so
-     kann man den Platzhalter %s verwenden. An dessen Stelle wird dann der
-     Name des Verblichenen eingesetzt.
-
-BEISPIEL:
-     Ein nettes Beispiel ist das folgende: Wenn ein Spieler sich als
-     Drachentoeter bewehrt hat, so kann er traditionell in seinem Blut baden.
-     Hin und wieder ist jedoch auch der Drache erfolgreich, dem man eine
-     lustige Zusatzmeldung fuer den Todeskanal uebergeben kann:
-
-     void create() {
-       ::create();
-       ...
-       SetProp(P_KILL_MSG,"Jetzt bade ich mal in DEINEM Blut, %s!");
-       ...
-     }
+**********
 
 
-     Falls der 'Killer' ein Plural-Objekt oder -NPC war, koennte eine Meldung
-     auch folgendermassen aussehen:
+NAME
+====
 
-     SetProp(P_KILL_MSG,({"haun sich jetzt die Hucke voll.",
-			  MSG_EMOTE,
-			  PLURAL}));
-
-     wobei P_KILL_NAME hier natuerlich auf "Eine Menge Orks" oder
-     dergleichen gesetzt sein sollte. Auf dem Kanal waere dann dies zu
-     lesen:
-
-	[Tod:Lars] Eine Menge Orks haben gerade Orktoeter umgebracht.
-	[Tod:Eine Menge Orks haun sich jetzt die Hucke voll.]
+   P_KILL_MSG                      "kill_msg"
 
 
-     Weiteres Beispiel.
-     Man habe einen NPC, dessen Killname als Plural aufzufassen ist, der aber
-     keinen zusaetlichen Text auf -Tod bringen soll.
+DEFINIERT IN
+============
 
-     SetProp(P_NAME, "Eine Horde Gummibaeren");
-     SetProp(P_KILL_NAME, "Viele kleine Gummibaeren");
-     SetProp(P_KILL_MSG, ({0, 0, 1}));
+   /sys/properties.h
 
-SIEHE AUCH:
-     Tod:		die(L)
-     Todesmeldungen:	P_KILL_NAME, P_DIE_MSG, P_MURDER_MSG
-			P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
-     Sonstiges:		P_CORPSE, P_NOCORPSE, /room/death/death_room.c
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Wenn ein Spieler getoetet wird, so erscheint dazu eine kurze Information
+   auf dem Todeskanal. Um dem toetenden Objekt zusaetzlich die Moeglichkeit
+   zu geben, noch etwas mehr auf diesem Kanal auszugeben, kann man in
+   dieser Property einen String uebergeben.
+   Noetige Zeilenumbrueche werden hierbei automatisch generiert.
+
+   Es ist auch moeglich anzugeben, ob Emotes verwendet werden und ob das
+   toetende Objekt ein Plural-Objekt ist. Hierzu uebergibt man ein Array
+   der Gestalt:
+
+      ({Killmessage,Emotes}) bzw. ({Killmessage,Emotes,PLURAL})
+
+   Der Eintrag <Killmessage> stellt hierbei die Meldung selbst dar, PLURAL
+   gibt an, dass es sich um ein Plural-Objekt handelt und <Emotes> kann
+   folgende Werte annehmen:
+
+      MSG_SAY    - Meldung wird normal ausgegeben.
+      MSG_EMOTE  - Meldung erscheint als Emote.
+      MSG_GEMOTE - Meldung erscheint als Genitiv-Emote.
+      MSG_EMPTY  - Meldung erscheint ohne zuvorige Angabe des
+                     toetenden Objektes.
+
+   Moechte man die Meldung noch etwas "persoenlicher" ;-) gestalten, so
+   kann man den Platzhalter %s verwenden. An dessen Stelle wird dann der
+   Name des Verblichenen eingesetzt.
+
+
+BEISPIEL
+========
+
+   Ein nettes Beispiel ist das folgende: Wenn ein Spieler sich als
+   Drachentoeter bewehrt hat, so kann er traditionell in seinem Blut baden.
+   Hin und wieder ist jedoch auch der Drache erfolgreich, dem man eine
+   lustige Zusatzmeldung fuer den Todeskanal uebergeben kann:
+
+   void create() {
+     ::create();
+     ...
+     SetProp(P_KILL_MSG,"Jetzt bade ich mal in DEINEM Blut, %s!");
+     ...
+   }
+
+
+   Falls der 'Killer' ein Plural-Objekt oder -NPC war, koennte eine Meldung
+   auch folgendermassen aussehen:
+
+   SetProp(P_KILL_MSG,({"haun sich jetzt die Hucke voll.",
+                        MSG_EMOTE,
+                        PLURAL}));
+
+   wobei P_KILL_NAME hier natuerlich auf "Eine Menge Orks" oder
+   dergleichen gesetzt sein sollte. Auf dem Kanal waere dann dies zu
+   lesen:
+
+      [Tod:Lars] Eine Menge Orks haben gerade Orktoeter umgebracht.
+      [Tod:Eine Menge Orks haun sich jetzt die Hucke voll.]
+
+
+   Weiteres Beispiel.
+   Man habe einen NPC, dessen Killname als Plural aufzufassen ist, der aber
+   keinen zusaetlichen Text auf -Tod bringen soll.
+
+   SetProp(P_NAME, "Eine Horde Gummibaeren");
+   SetProp(P_KILL_NAME, "Viele kleine Gummibaeren");
+   SetProp(P_KILL_MSG, ({0, 0, 1}));
+
+
+SIEHE AUCH
+==========
+
+   Tod:               die(L)
+   Todesmeldungen:    P_KILL_NAME, P_DIE_MSG, P_MURDER_MSG
+                      P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
+   Sonstiges:         P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+
 Last modified: Wed Aug 21 14:36:04 2002 by Bambi
diff --git a/doc/props/P_KILL_NAME b/doc/props/P_KILL_NAME
index 3f214ab..0504066 100644
--- a/doc/props/P_KILL_NAME
+++ b/doc/props/P_KILL_NAME
@@ -1,43 +1,59 @@
+
 P_KILL_NAME
+***********
 
-NAME:
-     P_KILL_NAME			"kill_name"
 
-DEFINIERT IN:
-     /sys/properties.h
+NAME
+====
 
-BESCHREIBUNG:
-     Wenn ein Spieler getoetet wird, so erscheint eine kurze Information auf
-     dem Todeskanal. Im Normalfall werden die Informationen aus P_NAME,
-     P_ARTICLE und P_GENDER des toetenden Objektes verwendet, um einen Namen
-     fuer eben dieses Objekt zu kreieren. Manchmal moechte man jedoch einen
-     davon unabhaengigen Namen dort stehen haben. Dann kommt die Property
-     P_KILL_NAME zum Einsatz.
-     Man sollte beachten, dass der Name des Toetenden nicht zu lang sein
-     sollte, denn obwohl bei einer Todesmeldung automatisch umgebrochen wird,
-     kann es doch ziemlich stoeren. Wenn das toetende Objekt ein Plural-
-     Objekt ist, so kann man dies zusaetzlich in der Property P_KILL_MSG
-     angeben.
+   P_KILL_NAME                        "kill_name"
 
-BEISPIEL:
-     Eine Wolke, die wahlweise zwischen verschiedenen Zustaenden mutiert,
-     koennte mal eine Eiswolke, mal eine Giftwolke oder auch mal eine
-     Feuerwolke sein. Fuer den Todeskanal soll jedoch immer erscheinen:
-     '[Tod:] Eine mutierende Wolke hat gerade <Spieler> umgebracht.'
 
-     void create()
-     {
-       ::create();
-       ...
-       SetProp(P_KILL_NAME,"Eine mutierende Wolke");
-       ...
-     }
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     Tod:		die(L)
-     Todesmeldungen:	P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
-			P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
-     Sonstiges:		P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+   /sys/properties.h
 
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   Wenn ein Spieler getoetet wird, so erscheint eine kurze Information auf
+   dem Todeskanal. Im Normalfall werden die Informationen aus P_NAME,
+   P_ARTICLE und P_GENDER des toetenden Objektes verwendet, um einen Namen
+   fuer eben dieses Objekt zu kreieren. Manchmal moechte man jedoch einen
+   davon unabhaengigen Namen dort stehen haben. Dann kommt die Property
+   P_KILL_NAME zum Einsatz.
+   Man sollte beachten, dass der Name des Toetenden nicht zu lang sein
+   sollte, denn obwohl bei einer Todesmeldung automatisch umgebrochen wird,
+   kann es doch ziemlich stoeren. Wenn das toetende Objekt ein Plural-
+   Objekt ist, so kann man dies zusaetzlich in der Property P_KILL_MSG
+   angeben.
+
+
+BEISPIEL
+========
+
+   Eine Wolke, die wahlweise zwischen verschiedenen Zustaenden mutiert,
+   koennte mal eine Eiswolke, mal eine Giftwolke oder auch mal eine
+   Feuerwolke sein. Fuer den Todeskanal soll jedoch immer erscheinen:
+   '[Tod:] Eine mutierende Wolke hat gerade <Spieler> umgebracht.'
+
+   void create()
+   {
+     ::create();
+     ...
+     SetProp(P_KILL_NAME,"Eine mutierende Wolke");
+     ...
+   }
+
+
+SIEHE AUCH
+==========
+
+   Tod:               die(L)
+   Todesmeldungen:    P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
+                      P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
+   Sonstiges:         P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_KNOWN_POTIONROOMS b/doc/props/P_KNOWN_POTIONROOMS
index f5adb97..29e17d3 100644
--- a/doc/props/P_KNOWN_POTIONROOMS
+++ b/doc/props/P_KNOWN_POTIONROOMS
@@ -1,19 +1,35 @@
-NAME:
-    P_KNOWN_POTIONROOMS                 "known_potionrooms"                 
 
-DEFINIERT IN:
-    /sys/player/potion.h
+P_KNOWN_POTIONROOMS
+*******************
 
-BESCHREIBUNG:
-    Array mit den Nummern der Raeume, in denen der Spieler Zauber-
-    traenke finden kann. Die Zuordnung der Raeume und Nummern
-    geschieht im Potionmaster.
 
-    Nur lesbare _query - Property.
+NAME
+====
 
-SIEHE AUCH:
-    Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
-    Verwandt:  FindPotion(), AddKnownPotion(), RemoveKnownPotion(), InList()
-    Props:     P_POTIONROOMS
+   P_KNOWN_POTIONROOMS                 "known_potionrooms"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/potion.h
+
+
+BESCHREIBUNG
+============
+
+   Array mit den Nummern der Raeume, in denen der Spieler Zauber-
+   traenke finden kann. Die Zuordnung der Raeume und Nummern
+   geschieht im Potionmaster.
+
+   Nur lesbare _query - Property.
+
+
+SIEHE AUCH
+==========
+
+   Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
+   Verwandt:  FindPotion(), AddKnownPotion(), RemoveKnownPotion(), InList()
+   Props:     P_POTIONROOMS
 
 6.Feb 2016 Gloinson
diff --git a/doc/props/P_LASTDIR b/doc/props/P_LASTDIR
index eae9071..2695f06 100644
--- a/doc/props/P_LASTDIR
+++ b/doc/props/P_LASTDIR
@@ -1,15 +1,28 @@
-NAME:
-    P_LASTDIR                  "p_lib_lastdir"
 
-DEFINIERT IN:
-    /sys/shells.h
+P_LASTDIR
+*********
 
-BESCHREIBUNG:
-    Das jeweils letzte Verzeichnis, in dem der Magier war.
-    (Nur fuer Magier von Belang)
+
+NAME
+====
+
+   P_LASTDIR                  "p_lib_lastdir"
+
+
+DEFINIERT IN
+============
+
+   /sys/shells.h
+
+
+BESCHREIBUNG
+============
+
+   Das jeweils letzte Verzeichnis, in dem der Magier war.
+   (Nur fuer Magier von Belang)
 
 Siehe auch:
-    P_CURRENTDIR
+   P_CURRENTDIR
 
 Letzte Aenderung:
-    03.05.2016, Zesstra
+   03.05.2016, Zesstra
diff --git a/doc/props/P_LAST_COMBAT_TIME b/doc/props/P_LAST_COMBAT_TIME
index b3df96d..941ec1e 100644
--- a/doc/props/P_LAST_COMBAT_TIME
+++ b/doc/props/P_LAST_COMBAT_TIME
@@ -1,23 +1,38 @@
-NAME:
-	P_LAST_COMBAT_TIME		"last_combat_time"
 
-DEFINIERT IN:
-	/sys/combat.h
+P_LAST_COMBAT_TIME
+******************
 
-BESCHREIBUNG:
-	In dieser Property wird genau die Zeit festgehalten, zu der ein
-	Lebewesen zuletzt einen Angriff abgewehrt oder einen Angriff
-	durchgefuehrt hat. Die Property enthaelt diese Information hierbei
-	immer in Form eines Integerwertes.
-	Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte, wann
-	ein Lebewesen zuletzt gekaempft hat. Es ist beispielsweise nicht
-	moeglich, waehrend oder auch unmittelbar nach einem Kampf den Befehl
-	'Ende' zu nutzen, da dies zur Flucht missbraucht werden kann. Dafuer
-	wird der Wert der Property zuvor ausgewertet.
 
-SIEHE AUCH:
-	P_LAST_DAMTIME, P_LAST_DAMAGE, P_LAST_DAMTYPES, Attack(), Defend(),
-	/std/living/combat.c, /std/living/life.c
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_LAST_COMBAT_TIME              "last_combat_time"
+
+
+DEFINIERT IN
+============
+
+   /sys/combat.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property wird genau die Zeit festgehalten, zu der ein
+   Lebewesen zuletzt einen Angriff abgewehrt oder einen Angriff
+   durchgefuehrt hat. Die Property enthaelt diese Information hierbei
+   immer in Form eines Integerwertes.
+   Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte, wann
+   ein Lebewesen zuletzt gekaempft hat. Es ist beispielsweise nicht
+   moeglich, waehrend oder auch unmittelbar nach einem Kampf den Befehl
+   'Ende' zu nutzen, da dies zur Flucht missbraucht werden kann. Dafuer
+   wird der Wert der Property zuvor ausgewertet.
+
+
+SIEHE AUCH
+==========
+
+   P_LAST_DAMTIME, P_LAST_DAMAGE, P_LAST_DAMTYPES, Attack(), Defend(),
+   /std/living/combat.c, /std/living/life.c
+
 Last modified: Wed May 26 16:43:00 1999 by Patryn
diff --git a/doc/props/P_LAST_COMMAND_ENV b/doc/props/P_LAST_COMMAND_ENV
index 576e34d..40bd6a0 100644
--- a/doc/props/P_LAST_COMMAND_ENV
+++ b/doc/props/P_LAST_COMMAND_ENV
@@ -1,15 +1,30 @@
+
 P_LAST_COMMAND_ENV
-NAME:
-    P_LAST_COMMAND_ENV            "last_command_env"            
+******************
 
-DEFINIERT IN:
-    /sys/player.h
 
-BESCHREIBUNG:
-     Der Raum, in dem das letzte Kommando eingegeben wurde.
+NAME
+====
 
-BEMERKUNGEN:
-     Keine echte Property, _query_last_command_env() ist
-     in /std/players/command.c implementiert.
+   P_LAST_COMMAND_ENV            "last_command_env"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Der Raum, in dem das letzte Kommando eingegeben wurde.
+
+
+BEMERKUNGEN
+===========
+
+   Keine echte Property, _query_last_command_env() ist
+   in /std/players/command.c implementiert.
 
 14.Feb.2004 Gloinson
diff --git a/doc/props/P_LAST_CONTENT_CHANGE b/doc/props/P_LAST_CONTENT_CHANGE
index 0fa64bb..f128774 100644
--- a/doc/props/P_LAST_CONTENT_CHANGE
+++ b/doc/props/P_LAST_CONTENT_CHANGE
@@ -1,16 +1,32 @@
-NAME:
-    P_LAST_CONTENT_CHANGE         "last_content_change"         
 
-DEFINIERT IN:
-    /sys/properties.h
+P_LAST_CONTENT_CHANGE
+*********************
 
-BESCHREIBUNG:
-     Wann wurde zum letzten Mal was ins Obj gestopft oder rausgenommen?
-     Wichtig fuer den Weight-Cache
 
-ANMERKUNG:
-     Die Property kann nur ueber QueryProp() und SetProp() ausgelesen bzw.
-     gesetzt werden. Query() und Set() funktionieren *nicht*.
+NAME
+====
 
-     Ausserdem fuehrt ein Setzen per SetProp() zu einer Erhoehung des 
-     Wertes um eins - unabhaengig vom gesetzten Wert.
+   P_LAST_CONTENT_CHANGE         "last_content_change"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wann wurde zum letzten Mal was ins Obj gestopft oder rausgenommen?
+   Wichtig fuer den Weight-Cache
+
+
+ANMERKUNG
+=========
+
+   Die Property kann nur ueber QueryProp() und SetProp() ausgelesen bzw.
+   gesetzt werden. Query() und Set() funktionieren *nicht*.
+
+   Ausserdem fuehrt ein Setzen per SetProp() zu einer Erhoehung des
+   Wertes um eins - unabhaengig vom gesetzten Wert.
diff --git a/doc/props/P_LAST_DAMAGE b/doc/props/P_LAST_DAMAGE
index 8d618b1..66388b7 100644
--- a/doc/props/P_LAST_DAMAGE
+++ b/doc/props/P_LAST_DAMAGE
@@ -1,22 +1,37 @@
-NAME:
-	P_LAST_DAMAGE			"last_damage"
 
-DEFINIERT IN:
-	/sys/living/combat.h
+P_LAST_DAMAGE
+*************
 
-BESCHREIBUNG:
-	In dieser Property wird genau die Schadensstaerke festgehalten,
-	welche ein Lebewesen zuletzt abbekommen hat. Die Property enthaelt
-	diese Information hierbei immer in Form eines Integerwertes.
-	Auch die Staerke des Giftschadens durch die Wirkung einer Vergiftung
-	wird hier festgehalten.
-	Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte,
-	welche Schadensstaerke nach Einwirkung von Defendern, Ruestung,
-	Hooks und Skills uebriggeblieben ist.
 
-SIEHE AUCH:
-	P_LAST_DAMTIME, P_LAST_DAMTYPES, Defend(),
-	/std/living/combat.c, /std/living/life.c
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_LAST_DAMAGE                   "last_damage"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property wird genau die Schadensstaerke festgehalten,
+   welche ein Lebewesen zuletzt abbekommen hat. Die Property enthaelt
+   diese Information hierbei immer in Form eines Integerwertes.
+   Auch die Staerke des Giftschadens durch die Wirkung einer Vergiftung
+   wird hier festgehalten.
+   Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte,
+   welche Schadensstaerke nach Einwirkung von Defendern, Ruestung,
+   Hooks und Skills uebriggeblieben ist.
+
+
+SIEHE AUCH
+==========
+
+   P_LAST_DAMTIME, P_LAST_DAMTYPES, Defend(),
+   /std/living/combat.c, /std/living/life.c
+
 Last modified: Tue Jan 26 12:34:29 1999 by Patryn
diff --git a/doc/props/P_LAST_DAMTIME b/doc/props/P_LAST_DAMTIME
index 72ffb51..7e6d0ea 100644
--- a/doc/props/P_LAST_DAMTIME
+++ b/doc/props/P_LAST_DAMTIME
@@ -1,22 +1,37 @@
-NAME:
-	P_LAST_DAMTIME			"last_damtime"
 
-DEFINIERT IN:
-	/sys/living/combat.h
+P_LAST_DAMTIME
+**************
 
-BESCHREIBUNG:
-	In dieser Property wird genau die Zeit festgehalten, zu der ein
-	Lebewesen zuletzt einen Schaden abbekommen hat. Die Property
-	enthaelt diese Information hierbei immer in Form eines
-	Integerwertes.
-	Auch der Zeitpunkt der Einwirkung von Giftschaden durch die Wirkung
-	einer Vergiftung wird hier festgehalten.
-	Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte, wann
-	ein Lebewesen zuletzt verletzt wurde.
 
-SIEHE AUCH:
-	P_LAST_COMBAT_TIME, P_LAST_DAMAGE, P_LAST_DAMTYPES, Defend(),
-	/std/living/combat.c, /std/living/life.c
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_LAST_DAMTIME                  "last_damtime"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property wird genau die Zeit festgehalten, zu der ein
+   Lebewesen zuletzt einen Schaden abbekommen hat. Die Property
+   enthaelt diese Information hierbei immer in Form eines
+   Integerwertes.
+   Auch der Zeitpunkt der Einwirkung von Giftschaden durch die Wirkung
+   einer Vergiftung wird hier festgehalten.
+   Dieser Wert koennte z.B. wichtig sein, wenn man wissen moechte, wann
+   ein Lebewesen zuletzt verletzt wurde.
+
+
+SIEHE AUCH
+==========
+
+   P_LAST_COMBAT_TIME, P_LAST_DAMAGE, P_LAST_DAMTYPES, Defend(),
+   /std/living/combat.c, /std/living/life.c
+
 Last modified: Wed May 26 16:44:38 1999 by Patryn
diff --git a/doc/props/P_LAST_DAMTYPES b/doc/props/P_LAST_DAMTYPES
index 9d7b060..ecdf571 100644
--- a/doc/props/P_LAST_DAMTYPES
+++ b/doc/props/P_LAST_DAMTYPES
@@ -1,21 +1,36 @@
-NAME:
-	P_LAST_DAMTYPES			"last_damtypes"
 
-DEFINIERT IN:
-	/sys/living/combat.h
+P_LAST_DAMTYPES
+***************
 
-BESCHREIBUNG:
-	In dieser Property werden genau die Schadensarten festgehalten,
-	welche ein Lebewesen zuletzt abbekommen hat. Die Property enthaelt
-	diese Information hierbei immer in Form eines Arrays.
-	Auch der Giftschaden durch die Wirkung einer Vergiftung wird hier
-	festgehalten.
-	Dieser Wert koennte z.B. wichtig sein, wenn man nach dem Tod eines
-	Lebewesens feststellen moechte, durch was es umgekommen ist.
 
-SIEHE AUCH:
-	P_LAST_DAMAGE, P_LAST_DAMTIME, Defend(),
-	/std/living/combat.c, /std/living/life.c
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_LAST_DAMTYPES                 "last_damtypes"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property werden genau die Schadensarten festgehalten,
+   welche ein Lebewesen zuletzt abbekommen hat. Die Property enthaelt
+   diese Information hierbei immer in Form eines Arrays.
+   Auch der Giftschaden durch die Wirkung einer Vergiftung wird hier
+   festgehalten.
+   Dieser Wert koennte z.B. wichtig sein, wenn man nach dem Tod eines
+   Lebewesens feststellen moechte, durch was es umgekommen ist.
+
+
+SIEHE AUCH
+==========
+
+   P_LAST_DAMAGE, P_LAST_DAMTIME, Defend(),
+   /std/living/combat.c, /std/living/life.c
+
 Last modified: Tue Jan 26 12:34:29 1999 by Patryn
diff --git a/doc/props/P_LAST_DEATH_PROPS b/doc/props/P_LAST_DEATH_PROPS
index 712e04e..7249dad 100644
--- a/doc/props/P_LAST_DEATH_PROPS
+++ b/doc/props/P_LAST_DEATH_PROPS
@@ -1,18 +1,32 @@
-NAME:
-    P_LAST_DEATH_PROPS                "last_death_props"
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_LAST_DEATH_PROPS
+******************
 
-BESCHREIBUNG:
-     Diese Property enthaelt nach dem Tod eines Spielers ein Mapping mit 
-     den Werte aller Properties, die im die() zurueckgesetzt werden.
 
-     Auf diese Weise kann ein Objekt auch im NotifyPlayerDeath() noch 
-     auf die Werte zurueckgreifen, obwohl sie bereits geloescht sind.
+NAME
+====
 
-     Folgende Properties werden so gesichert:
-   
-     P_POISON, P_FROG, P_ALCOHOL, P_DRINK, P_FOOD , P_BLIND, P_DEAF, 
-     P_MAX_HANDS, P_PARA, P_NO_REGENERATION , P_HP, P_SP, P_LAST_DEATH_TIME
+   P_LAST_DEATH_PROPS                "last_death_props"
 
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt nach dem Tod eines Spielers ein Mapping mit
+   den Werte aller Properties, die im die() zurueckgesetzt werden.
+
+   Auf diese Weise kann ein Objekt auch im NotifyPlayerDeath() noch
+   auf die Werte zurueckgreifen, obwohl sie bereits geloescht sind.
+
+   Folgende Properties werden so gesichert:
+
+
+
+   P_POISON, P_FROG, P_ALCOHOL, P_DRINK, P_FOOD , P_BLIND, P_DEAF,
+   P_MAX_HANDS, P_PARA, P_NO_REGENERATION , P_HP, P_SP, P_LAST_DEATH_TIME
diff --git a/doc/props/P_LAST_DEATH_TIME b/doc/props/P_LAST_DEATH_TIME
index 71bd787..669e7a1 100644
--- a/doc/props/P_LAST_DEATH_TIME
+++ b/doc/props/P_LAST_DEATH_TIME
@@ -1,8 +1,21 @@
-NAME:
-    P_LAST_DEATH_TIME                "last_death_time"
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_LAST_DEATH_TIME
+*****************
 
-BESCHREIBUNG:
-     Der Zeitpunkt des letzten Todes des Spielers.
+
+NAME
+====
+
+   P_LAST_DEATH_TIME                "last_death_time"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Der Zeitpunkt des letzten Todes des Spielers.
diff --git a/doc/props/P_LAST_LOGIN b/doc/props/P_LAST_LOGIN
index 9287654..4ad7360 100644
--- a/doc/props/P_LAST_LOGIN
+++ b/doc/props/P_LAST_LOGIN
@@ -1,16 +1,35 @@
-NAME:
-    P_LAST_LOGIN                  "last_login"                  
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_LAST_LOGIN
+************
 
-BESCHREIBUNG:
-     Zeitpunkt des letzten Logins
 
-BEMERKUNGEN:
-     Gegen aeussere Aenderung und Set/QueryMethoden geschuetzt.
+NAME
+====
 
-SIEHE AUCH:
-     P_LAST_LOGOUT, save_me
+   P_LAST_LOGIN                  "last_login"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Zeitpunkt des letzten Logins
+
+
+BEMERKUNGEN
+===========
+
+   Gegen aeussere Aenderung und Set/QueryMethoden geschuetzt.
+
+
+SIEHE AUCH
+==========
+
+   P_LAST_LOGOUT, save_me
 
 28. Jan 2013 Gloinson
diff --git a/doc/props/P_LAST_LOGOUT b/doc/props/P_LAST_LOGOUT
index 296ae92..e94e89e 100644
--- a/doc/props/P_LAST_LOGOUT
+++ b/doc/props/P_LAST_LOGOUT
@@ -1,20 +1,39 @@
-NAME:
-    P_LAST_LOGOUT                 "last_logout"                 
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_LAST_LOGOUT
+*************
 
-BESCHREIBUNG:
-     Zeitpunkt des letzten Logouts. Anhand dieser Zeit werden die Feindes-
-     listen und in Abwesenheit eingefuegte Gegenstaende aktualisiert.
 
-     Dieses Datum wird bei Magiern nicht aktualisiert, wenn sie unsichtbar
-     sind/sich unsichtbar ausloggen.
+NAME
+====
 
-BEMERKUNGEN:
-     Gegen aeussere Aenderung und Set/QueryMethoden geschuetzt.
+   P_LAST_LOGOUT                 "last_logout"
 
-SIEHE AUCH:
-     P_LAST_LOGIN, P_INVIS, save_me, init, StopHuntFor
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Zeitpunkt des letzten Logouts. Anhand dieser Zeit werden die Feindes-
+   listen und in Abwesenheit eingefuegte Gegenstaende aktualisiert.
+
+   Dieses Datum wird bei Magiern nicht aktualisiert, wenn sie unsichtbar
+   sind/sich unsichtbar ausloggen.
+
+
+BEMERKUNGEN
+===========
+
+   Gegen aeussere Aenderung und Set/QueryMethoden geschuetzt.
+
+
+SIEHE AUCH
+==========
+
+   P_LAST_LOGIN, P_INVIS, save_me, init, StopHuntFor
 
 28. Jan 2013 Gloinson
diff --git a/doc/props/P_LAST_MOVE b/doc/props/P_LAST_MOVE
index 6b202a2..f6c974a 100644
--- a/doc/props/P_LAST_MOVE
+++ b/doc/props/P_LAST_MOVE
@@ -1,21 +1,36 @@
-NAME:
-	P_LAST_MOVE			"last_move"
 
-DEFINIERT IN:
-	/sys/thing/moving.h
+P_LAST_MOVE
+***********
 
-BESCHREIBUNG:
-	In dieser Property wird die Zeit der letzten Bewegung eines
-	Lebewesens festgehalten. Selbsterklaerend ist auch der dazugehoerige
-	Quellcode innerhalb move() in '/std/living/moving.c':
-	  SetProp(P_LAST_MOVE,time());
-	Wichtig ist diese Property insbesondere fuer die Unterbindung von
-	Rein-Angriff-Raus-Taktiken. Dieser Modus ist standardmaessig in jedem
-	NPC aktiviert und kann ueber die Property P_ENABLE_IN_ATTACK_OUT
-	ausgeschalten werden.
 
-SIEHE AUCH:
-	move(), time(), P_ENABLE_IN_ATTACK_OUT, /std/living/moving.c
+NAME
+====
 
------------------------------------------------------------------------------
+   P_LAST_MOVE                     "last_move"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property wird die Zeit der letzten Bewegung eines
+   Lebewesens festgehalten. Selbsterklaerend ist auch der dazugehoerige
+   Quellcode innerhalb move() in '/std/living/moving.c':
+     SetProp(P_LAST_MOVE,time());
+   Wichtig ist diese Property insbesondere fuer die Unterbindung von
+   Rein-Angriff-Raus-Taktiken. Dieser Modus ist standardmaessig in jedem
+   NPC aktiviert und kann ueber die Property P_ENABLE_IN_ATTACK_OUT
+   ausgeschalten werden.
+
+
+SIEHE AUCH
+==========
+
+   move(), time(), P_ENABLE_IN_ATTACK_OUT, /std/living/moving.c
+
 Last modified: Sat Jan 30 12:53:00 1999 by Patryn
diff --git a/doc/props/P_LAST_USE b/doc/props/P_LAST_USE
index 5ca875d..57519c9 100644
--- a/doc/props/P_LAST_USE
+++ b/doc/props/P_LAST_USE
@@ -1,20 +1,33 @@
+
 P_LAST_USE
+**********
 
-NAME:
-     P_LAST_USE "last_use"
 
-DEFINIERT IN:
-     <properties.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Property wird in Ruestungen und Waffen dazu benutzt um
-     festzuhalten, wann die Ruestung/Waffe zuletzt im Kampf benutzt
-     wurde.
+   P_LAST_USE "last_use"
 
-SIEHE AUCH:
-     Ruestungen:	QueryDefend(L)
-     Waffen:		QueryDamage(L)
-     Sonstiges:		P_EQUIP_TIME, P_UNWIELD_TIME
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   <properties.h>
+
+
+BESCHREIBUNG
+============
+
+   Diese Property wird in Ruestungen und Waffen dazu benutzt um
+   festzuhalten, wann die Ruestung/Waffe zuletzt im Kampf benutzt
+   wurde.
+
+
+SIEHE AUCH
+==========
+
+   Ruestungen:        QueryDefend(L)
+   Waffen:            QueryDamage(L)
+   Sonstiges:         P_EQUIP_TIME, P_UNWIELD_TIME
+
 Last modified: Fri Feb 06 10:15:00 1998 by Paracelsus
diff --git a/doc/props/P_LAST_WEAR_ACTION b/doc/props/P_LAST_WEAR_ACTION
index 1a4d224..5531955 100644
--- a/doc/props/P_LAST_WEAR_ACTION
+++ b/doc/props/P_LAST_WEAR_ACTION
@@ -1,24 +1,31 @@
-PROPERTY:
 
-	P_LAST_WEAR_ACTION    "last_wear_action"
+P_LAST_WEAR_ACTION
+******************
 
-DEFINIERT IN: 
 
-	/sys/armour.h (und damit auch in properties.h)
+PROPERTY
+========
 
-BESCHREIBUNG:
+   P_LAST_WEAR_ACTION    "last_wear_action"
 
-	Diese Prop gibt an, welche An/Auszieh-Aktion ein Spieler zuletzt
-	durchgefuehrt hat. Sie ist ein zweielementiges Array, wobei der
-	erste Eintrag angibt, ob der Spieler sich an- oder ausgezogen
-	hat (WA_WEAR, WA_UNWEAR, auch in armour.h definiert) und der
-	zweite den Zeitpunkt.
+DEFINIERT IN:
 
-	Die Property wird (unter anderem?) dafuer verwendet festzustellen ob
-	der Spieler in der letzten Runde schon einen Ruestungswechsel
-	vorgenommen hat und einen entgegengesetzten zu unterbinden.
+   /sys/armour.h (und damit auch in properties.h)
 
-LETZTE AENDERUNG: 
+
+BESCHREIBUNG
+============
+
+   Diese Prop gibt an, welche An/Auszieh-Aktion ein Spieler zuletzt
+   durchgefuehrt hat. Sie ist ein zweielementiges Array, wobei der
+   erste Eintrag angibt, ob der Spieler sich an- oder ausgezogen
+   hat (WA_WEAR, WA_UNWEAR, auch in armour.h definiert) und der
+   zweite den Zeitpunkt.
+
+   Die Property wird (unter anderem?) dafuer verwendet festzustellen ob
+   der Spieler in der letzten Runde schon einen Ruestungswechsel
+   vorgenommen hat und einen entgegengesetzten zu unterbinden.
+
+LETZTE AENDERUNG:
 
 2003-01-29, 17:30 von Humni
-
diff --git a/doc/props/P_LAST_XP b/doc/props/P_LAST_XP
index e5ee055..c31a8b4 100644
--- a/doc/props/P_LAST_XP
+++ b/doc/props/P_LAST_XP
@@ -1,27 +1,43 @@
-NAME:
-    P_LAST_XP                        "last_xp"
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_LAST_XP
+*********
 
-BESCHREIBUNG:
-    Ein Array vom Typ ({ pfad, xp }).
 
-    Der Eintrag "pfad" gibt das Gebiet an, in dem ein Spieler zuletzt XP
-    bekommen hat. Dabei wird aus "/d/ebene/magier/room/raum1.c" dann
-    "/d/ebene/magier/room".
+NAME
+====
 
-    Der Wert "xp" zeigt an, wieviele XP der Spieler _in diesem Gebiet_
-    gesammelt hat. Sobald er auch nur einen XP in einem anderen Gebiet
-    bekommt, zeigt P_LAST_XP nur noch diesen neu erhaltenen XP an.
+   P_LAST_XP                        "last_xp"
 
-    Der Anwendungszweck waere z.B. eine Heilstelle, die nur dann Wirkung
-    zeigt, wenn der Spieler wirklich in dem betreffenden Gebiet gemetzelt hat
-    und nicht nur zum Tanken hergerannt ist oder eine Unterscheidung, ob
-    jemand metzelt oder nur uebt (ueber die XP).
 
-SIEHE AUCH:
-     Funktionen:  AddExp()
-     Verwandt:    P_NO_XP, P_XP
+DEFINIERT IN
+============
 
-14.Feb 2007 Gloinson
\ No newline at end of file
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Ein Array vom Typ ({ pfad, xp }).
+
+   Der Eintrag "pfad" gibt das Gebiet an, in dem ein Spieler zuletzt XP
+   bekommen hat. Dabei wird aus "/d/ebene/magier/room/raum1.c" dann
+   "/d/ebene/magier/room".
+
+   Der Wert "xp" zeigt an, wieviele XP der Spieler _in diesem Gebiet_
+   gesammelt hat. Sobald er auch nur einen XP in einem anderen Gebiet
+   bekommt, zeigt P_LAST_XP nur noch diesen neu erhaltenen XP an.
+
+   Der Anwendungszweck waere z.B. eine Heilstelle, die nur dann Wirkung
+   zeigt, wenn der Spieler wirklich in dem betreffenden Gebiet gemetzelt hat
+   und nicht nur zum Tanken hergerannt ist oder eine Unterscheidung, ob
+   jemand metzelt oder nur uebt (ueber die XP).
+
+
+SIEHE AUCH
+==========
+
+   Funktionen:  AddExp()
+   Verwandt:    P_NO_XP, P_XP
+
+14.Feb 2007 Gloinson
diff --git a/doc/props/P_LEAVECMDS b/doc/props/P_LEAVECMDS
index e31cf8a..5b0e03c 100644
--- a/doc/props/P_LEAVECMDS
+++ b/doc/props/P_LEAVECMDS
@@ -1,32 +1,56 @@
-NAME:
-    P_LEAVECMDS                   "leavecmds"                   
 
-DEFINIERT IN:
-    /sys/transport.h
+P_LEAVECMDS
+***********
 
-BESCHREIBUNG:
-    Ein Array mit Befehlen, die zum Verlassen des Transporters fuehren. 
 
-BEISPIEL:
-    SetProp(P_LEAVECMDS,({ "verlass","verlasse" }) );
+NAME
+====
 
-    Gibt der Spieler nun 'verlasse xxx' ein, so sorgt /std/transport.c 
-    dafuer, das der Spieler auch von oder aus dem Transporter bewegt 
-    wird. Vorausgesetzt natuerlich, er ist an einem Haltepunkt angelangt.
+   P_LEAVECMDS                   "leavecmds"
 
-BEMERKUNGEN:
-    Um /std/transport.c nicht aufzublaehen, werden weitere Argumente wie
-    etwa 'verlasse das|die|den xxx' _nicht_ unterstuetzt!
 
-    Hier muss der verantwortliche Magier schon eine eigene Loesung finden
-    und in seinen Transporter schreiben.
+DEFINIERT IN
+============
 
-    Sollen Kommandos zum Betreten UND Verlassen eines Transporters ver-
-    wendet werden koennen, muessen diese in P_TRAVEL_CMDS gesetzt werden.
+   /sys/transport.h
 
-SIEHE AUCH:
-    P_LEAVEFAIL, P_ENTERFAIL, P_ENTERCMDS, P_TRAVEL_CMDS, transporter,
 
-LETZTE AENDERUNG:
-    Don, 24.01.2002, 10:15:07h von Tilly
-    
\ No newline at end of file
+BESCHREIBUNG
+============
+
+   Ein Array mit Befehlen, die zum Verlassen des Transporters fuehren.
+
+
+BEISPIEL
+========
+
+   SetProp(P_LEAVECMDS,({ "verlass","verlasse" }) );
+
+   Gibt der Spieler nun 'verlasse xxx' ein, so sorgt /std/transport.c
+   dafuer, das der Spieler auch von oder aus dem Transporter bewegt
+   wird. Vorausgesetzt natuerlich, er ist an einem Haltepunkt angelangt.
+
+
+BEMERKUNGEN
+===========
+
+   Um /std/transport.c nicht aufzublaehen, werden weitere Argumente wie
+   etwa 'verlasse das|die|den xxx' _nicht_ unterstuetzt!
+
+   Hier muss der verantwortliche Magier schon eine eigene Loesung finden
+   und in seinen Transporter schreiben.
+
+   Sollen Kommandos zum Betreten UND Verlassen eines Transporters ver-
+   wendet werden koennen, muessen diese in P_TRAVEL_CMDS gesetzt werden.
+
+
+SIEHE AUCH
+==========
+
+   P_LEAVEFAIL, P_ENTERFAIL, P_ENTERCMDS, P_TRAVEL_CMDS, transporter,
+
+
+LETZTE AENDERUNG
+================
+
+   Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_LEAVEFAIL b/doc/props/P_LEAVEFAIL
index a54b4a1..88e92ea 100644
--- a/doc/props/P_LEAVEFAIL
+++ b/doc/props/P_LEAVEFAIL
@@ -1,26 +1,48 @@
-NAME:
-    P_LEAVEFAIL                   "leavefail"                   
 
-DEFINIERT IN:
-    /sys/transport.h
+P_LEAVEFAIL
+***********
 
-BESCHREIBUNG:
-     Meldung an den Spieler, wenn er ausserhalb der Anlegezeiten einen 
-     Transporter verlassen will. Ist die Propertie ein Array, so wird 
-     das erste Element als Meldung an den Spieler, das zweite als 
-     Meldung an die Mitspieler im Transporter geschickt. Ist der Eintrag
-     dagegen ein simpler String, so wird die Meldung nur an den Spieler
-     ausgegeben.
 
-BEISPIEL:
-     SetProp(P_LEAVEFAIL, "Die Wildgaense fliegen viel zu hoch" );
+NAME
+====
 
-     SetProp(P_LEAVEFAIL, ({ "Die Wildgaense fliegen viel zu hoch",
-                             "versucht, vom Ruecken der Wildgans zu "
-                            +"klettern und besinnt sich dann doch" }) );
-                             
-SIEHE AUCH:
-     P_LEAVEMSG, P_ENTERMSG, P_ENTERFAIL, transporter
+   P_LEAVEFAIL                   "leavefail"
 
-LETZTE AENDERUNG:
-    Don, 24.01.2002, 10:15:07h von Tilly
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Spieler, wenn er ausserhalb der Anlegezeiten einen
+   Transporter verlassen will. Ist die Propertie ein Array, so wird
+   das erste Element als Meldung an den Spieler, das zweite als
+   Meldung an die Mitspieler im Transporter geschickt. Ist der Eintrag
+   dagegen ein simpler String, so wird die Meldung nur an den Spieler
+   ausgegeben.
+
+
+BEISPIEL
+========
+
+   SetProp(P_LEAVEFAIL, "Die Wildgaense fliegen viel zu hoch" );
+
+   SetProp(P_LEAVEFAIL, ({ "Die Wildgaense fliegen viel zu hoch",
+                           "versucht, vom Ruecken der Wildgans zu "
+                          +"klettern und besinnt sich dann doch" }) );
+
+
+SIEHE AUCH
+==========
+
+   P_LEAVEMSG, P_ENTERMSG, P_ENTERFAIL, transporter
+
+
+LETZTE AENDERUNG
+================
+
+   Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_LEAVEMSG b/doc/props/P_LEAVEMSG
index 592bbc4..a3a1baf 100644
--- a/doc/props/P_LEAVEMSG
+++ b/doc/props/P_LEAVEMSG
@@ -1,19 +1,38 @@
-NAME:
-    P_LEAVEMSG                    "leavemsg"                    
 
-DEFINIERT IN:
-    /sys/transport.h
+P_LEAVEMSG
+**********
 
-BESCHREIBUNG:
-     Array mit zwei Meldungen. Der erste Eintrag wird an den Transporter
-     ausgegeben, der zweite an den Raum in den der Spieler kommt.
 
-BEISPIEL:
-     SetProp(P_LEAVEMSG, ({ "klettert vom Ruecken der Wildgans",
-                            "kommt vom Ruecken einer Wildgans herunter" }) );
+NAME
+====
 
-SIEHE AUCH: 
-     P_ENTERMSG, P_LEAVEFAIL, P_ENTERFAIL, transporter
+   P_LEAVEMSG                    "leavemsg"
 
-LETZTE AENDERUNG:
-    Don, 24.01.2002, 10:15:07h von Tilly
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Array mit zwei Meldungen. Der erste Eintrag wird an den Transporter
+   ausgegeben, der zweite an den Raum in den der Spieler kommt.
+
+
+BEISPIEL
+========
+
+   SetProp(P_LEAVEMSG, ({ "klettert vom Ruecken der Wildgans",
+                          "kommt vom Ruecken einer Wildgans herunter" }) );
+
+SIEHE AUCH:
+   P_ENTERMSG, P_LEAVEFAIL, P_ENTERFAIL, transporter
+
+
+LETZTE AENDERUNG
+================
+
+   Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_LEP b/doc/props/P_LEP
index 7628b1c..dbcea68 100644
--- a/doc/props/P_LEP
+++ b/doc/props/P_LEP
@@ -1,9 +1,22 @@
-NAME:
-    P_LEP                         "lep"                         
 
-DEFINIERT IN:
-    /sys/player.h
+P_LEP
+*****
 
-BESCHREIBUNG:
-     Levelpunkte eines Spielers
-     NICHT VON HAND SETZEN!!!
+
+NAME
+====
+
+   P_LEP                         "lep"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Levelpunkte eines Spielers
+   NICHT VON HAND SETZEN!!!
diff --git a/doc/props/P_LEVEL b/doc/props/P_LEVEL
index 40be5d0..a4b804c 100644
--- a/doc/props/P_LEVEL
+++ b/doc/props/P_LEVEL
@@ -1,33 +1,48 @@
-NAME:
-    P_LEVEL                       "level"                       
 
-DEFINIERT IN:
-    /sys/living/description.h
+P_LEVEL
+*******
 
-BESCHREIBUNG:
 
-     Spieler-Level (!= Magierlevel)
+NAME
+====
 
-     In Krankheits- (CL_DISEASE) und Giftobjekten (CL_POISON) drueckt 
-     P_LEVEL aus, wie schwer die Krankheit/das Gift ist. Je nachdem, wie 
-     hoch oder niedrig der Level gesetzt wird, muss z.B. ein Kleriker mehr 
-     oder weniger oft kurieren, um  eine (ggf. stufenweise) Heilung zu 
-     bewirken.
+   P_LEVEL                       "level"
 
-     In Fluchobjekten (CL_CURSE) gibt P_LEVEL ebenfalls die Schwere des
-     Fluches an, jedoch ist hier zu beachten, dass z.B. Kleriker aktuell
-     keine stufenweise Schwaechung bewirken koennen, sondern entweder den
-     Fluch entfernen koennen oder komplett scheitern. 
-     Der Fluchlevel ist hier grob als Chance des Scheiterns in einem 
-     Wertebereich von 1-100 zu sehen, was bedeutet, dass ein Fluchlevel 
-     von 100 als permanenter, nicht entfernbarer Fluch anzusehen ist.
 
-     Genaueres ist in der Klerusgilde nachzulesen oder beim GM Klerus zu
-     erfragen.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     Properties:  P_GUILD_LEVEL
-     Allgemeines: /doc/wiz/gift, /doc/help/gift
-     Funktionen:  AddClass(L), is_class_member(L)
+   /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+   Spieler-Level (!= Magierlevel)
+
+   In Krankheits- (CL_DISEASE) und Giftobjekten (CL_POISON) drueckt
+   P_LEVEL aus, wie schwer die Krankheit/das Gift ist. Je nachdem, wie
+   hoch oder niedrig der Level gesetzt wird, muss z.B. ein Kleriker mehr
+   oder weniger oft kurieren, um  eine (ggf. stufenweise) Heilung zu
+   bewirken.
+
+   In Fluchobjekten (CL_CURSE) gibt P_LEVEL ebenfalls die Schwere des
+   Fluches an, jedoch ist hier zu beachten, dass z.B. Kleriker aktuell
+   keine stufenweise Schwaechung bewirken koennen, sondern entweder den
+   Fluch entfernen koennen oder komplett scheitern.
+   Der Fluchlevel ist hier grob als Chance des Scheiterns in einem
+   Wertebereich von 1-100 zu sehen, was bedeutet, dass ein Fluchlevel
+   von 100 als permanenter, nicht entfernbarer Fluch anzusehen ist.
+
+   Genaueres ist in der Klerusgilde nachzulesen oder beim GM Klerus zu
+   erfragen.
+
+
+SIEHE AUCH
+==========
+
+   Properties:  P_GUILD_LEVEL
+   Allgemeines: /doc/wiz/gift, /doc/help/gift
+   Funktionen:  AddClass(L), is_class_member(L)
 
 Letzte Aenderung: 2015-Feb-02, Arathorn.
diff --git a/doc/props/P_LIFETIME b/doc/props/P_LIFETIME
index 250c287..4c76f14 100644
--- a/doc/props/P_LIFETIME
+++ b/doc/props/P_LIFETIME
@@ -1,30 +1,51 @@
-NAME:

-     P_LIFETIME                    "std_food_lifetime"

-

-DEFINIERT IN:

-     /sys/food.h

-

-BESCHREIBUNG:

-     Zeit in Sekunden, die die Speise haltbar ist.

-     Mit Setzen dieser Property wird der Wert fuer P_RESET_LIFETIME und

-     dort gespeichert.

-     Nach dieser Zeit wird diese Speise schlecht und je nach Konfiguration

-     der Speise eventuell zerstoert. Sichergestellt wird dies durch den

-     Aufruf von reset() nach dieser Anzahl Sekunden.

-     Moechte man eine Speise haben, die niemals verdirbt

-     (genehmigungspflichtig!), nutzt man die Property P_NO_BAD

-     

-BEMERKUNGEN:

-     Sobald der Countdown zum Schlechtwerden der Speise laeuft, also ein

-     Spieler damit in Beruehrung kam, zeigt SetProp auf diese Property keine

-     Wirkung mehr.

-

-DEFAULT:

-     Ohne Setzen von P_LIFETIME ,P_RESET_LIFETIME und P_NO_BAD verdirbt die

-     Speise nach einem Reset, also zwischen 30 und 60 Minuten

-

-SIEHE AUCH:

-     wiz/food, P_RESET_LIFETIME, P_NO_BAD

-

-------------------------------------------------------------------------------

-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+P_LIFETIME
+**********
+
+
+NAME
+====
+
+   P_LIFETIME                    "std_food_lifetime"
+
+
+DEFINIERT IN
+============
+
+   /sys/food.h
+
+
+BESCHREIBUNG
+============
+
+   Zeit in Sekunden, die die Speise haltbar ist.
+   Mit Setzen dieser Property wird der Wert fuer P_RESET_LIFETIME und
+   dort gespeichert.
+   Nach dieser Zeit wird diese Speise schlecht und je nach Konfiguration
+   der Speise eventuell zerstoert. Sichergestellt wird dies durch den
+   Aufruf von reset() nach dieser Anzahl Sekunden.
+   Moechte man eine Speise haben, die niemals verdirbt
+   (genehmigungspflichtig!), nutzt man die Property P_NO_BAD
+
+
+BEMERKUNGEN
+===========
+
+   Sobald der Countdown zum Schlechtwerden der Speise laeuft, also ein
+   Spieler damit in Beruehrung kam, zeigt SetProp auf diese Property keine
+   Wirkung mehr.
+
+
+DEFAULT
+=======
+
+   Ohne Setzen von P_LIFETIME ,P_RESET_LIFETIME und P_NO_BAD verdirbt die
+   Speise nach einem Reset, also zwischen 30 und 60 Minuten
+
+
+SIEHE AUCH
+==========
+
+   wiz/food, P_RESET_LIFETIME, P_NO_BAD
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_LIGHT b/doc/props/P_LIGHT
index 251e927..d0b55d8 100644
--- a/doc/props/P_LIGHT
+++ b/doc/props/P_LIGHT
@@ -1,62 +1,81 @@
-NAME:
-    P_LIGHT                       "light"
 
-DEFINIERT IN:
-    /sys/properties.h
+P_LIGHT
+*******
 
-BESCHREIBUNG:
-    Gibt den Lichtlevel eines Objektes an, d.h. wie hell das Objekt von sich
-    aus leuchtet. Moechte man den gesamten Lichtlevel haben der von einem
-    Objekt ausgeht, so sollte man P_TOTAL_LIGHT nehmen, das den Inhalt eines
-    Containers direkt mit verrechnet.
 
-    Bitte _nur_ ueber SetProp bzw. QueryProp zugreifen, da es fuer die
-    Berechnung wichtig ist, das in allen Containern P_LAST_CONTENT_CHANGE
-    gesetzt wird um ein neuberechnen des Lichtlevels auszuloesen!
+NAME
+====
 
-ANMERKUNG:
-    Um ein ungefaehres Gefuehl davon zu bekommen was ein Lichtlevel in
-    etwa bedeutet hier einige allgemeine Beispiele von Gegenstaenden.
-    Grundsaetzlich sollten Lichtlevel <0 und >2 nur in Ruecksprache mit dem
-    Balanceteam benutzt werden.
+   P_LIGHT                       "light"
 
-    Lichtlevel -1,  z.B. ein schwarzer Ring, von dem eine kleine dunkle Aura
-                    ausgeht, die den Spieler umgibt.
-    Lichtlevel  0,  der Gegenstand beeinflusst das Licht ueberhaupt nicht
-    Lichtlevel  1,  der Spieler haelt eine kleine Lichtquelle in Haenden,
-                    dieses kann ein Leuchtpfirsich, eine Fackel oder ein
-                    Feuerschwert oder aehnliches sein.
-    Lichtlevel  2,  eine etwas groessere Lichtquelle, die aber immer noch
-                    nicht den Raum beleuchtet sondern lediglich dem Spieler
-                    einen Lichtschein gewaehrt mit dem er sehen kann.
-    Lichtlevel >2,  extrem helle Lichtquellen, die den gesamten Raum
-                    ausleuchten, in der Regel wohl eher magischer Natur.
-                    Solche Lichtquellen sollten sich mit der Zeit
-                    verbrauchen, dem Spieler Schaden zufuegen oder
-                    aehnliches, damit die Spieler nicht defaultmaessig mit
-                    einer solchen Lichtquelle durchs MG ziehn.
 
-    Daraus ergeben sich dann folgende Konsequenzen fuer Raeume:
-    Lichtlevel  >1: Der Raum ist sehr hell erleuchtet und kann von Spielern
-                    nicht oder nur sehr schwer abgedunkelt werden. Ein Wert
-                    von 2-3 kann interessant sein, wenn die NPCs im Raum
-                    ueber keine Nachtsicht verfuegen. Ueber ein Abdunkeln des
-                    Raumes kann der Spieler dann doch den Nachtkampf nutzen.
-    Lichtlevel   1: Der Raum ist erleuchtet und die Spieler koennen ohne
-                    weitere Lichtquellen sehen...
-    Lichtlevel   0: Ein dunkler Raum in dem man mit jeder Fackel sehen kann.
-    Lichtlevel  -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht
-                    um in diesem Raum etwas sehen zu koennen.
-    Lichtlevel  -2: Man benoetigt schon eine besondere Lichtquelle um in
-                    diesem Raum noch etwas sehen zu koennen. Solche
-                    Lichtquellen sind nichts fuer Anfaenger oder mittlere
-                    Spieler da sie schwer zu beschaffen und in der Regel
-                    auch einige Handicaps haben.
-    Lichtlevel <-2: Der Raum ist wirklich absolut stockduster und
-                    Lichtquellen die solch einen Raum ausleuchten koennen,
-                    sind ausserordentlich selten und haben immer ihre
-                    Tuecken. Diese Lichtlevel sollten nur mit Vorsicht
-                    genossen werden.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-    P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Gibt den Lichtlevel eines Objektes an, d.h. wie hell das Objekt von sich
+   aus leuchtet. Moechte man den gesamten Lichtlevel haben der von einem
+   Objekt ausgeht, so sollte man P_TOTAL_LIGHT nehmen, das den Inhalt eines
+   Containers direkt mit verrechnet.
+
+   Bitte _nur_ ueber SetProp bzw. QueryProp zugreifen, da es fuer die
+   Berechnung wichtig ist, das in allen Containern P_LAST_CONTENT_CHANGE
+   gesetzt wird um ein neuberechnen des Lichtlevels auszuloesen!
+
+
+ANMERKUNG
+=========
+
+   Um ein ungefaehres Gefuehl davon zu bekommen was ein Lichtlevel in
+   etwa bedeutet hier einige allgemeine Beispiele von Gegenstaenden.
+   Grundsaetzlich sollten Lichtlevel <0 und >2 nur in Ruecksprache mit dem
+   Balanceteam benutzt werden.
+
+   Lichtlevel -1,  z.B. ein schwarzer Ring, von dem eine kleine dunkle Aura
+                   ausgeht, die den Spieler umgibt.
+   Lichtlevel  0,  der Gegenstand beeinflusst das Licht ueberhaupt nicht
+   Lichtlevel  1,  der Spieler haelt eine kleine Lichtquelle in Haenden,
+                   dieses kann ein Leuchtpfirsich, eine Fackel oder ein
+                   Feuerschwert oder aehnliches sein.
+   Lichtlevel  2,  eine etwas groessere Lichtquelle, die aber immer noch
+                   nicht den Raum beleuchtet sondern lediglich dem Spieler
+                   einen Lichtschein gewaehrt mit dem er sehen kann.
+   Lichtlevel >2,  extrem helle Lichtquellen, die den gesamten Raum
+                   ausleuchten, in der Regel wohl eher magischer Natur.
+                   Solche Lichtquellen sollten sich mit der Zeit
+                   verbrauchen, dem Spieler Schaden zufuegen oder
+                   aehnliches, damit die Spieler nicht defaultmaessig mit
+                   einer solchen Lichtquelle durchs MG ziehn.
+
+   Daraus ergeben sich dann folgende Konsequenzen fuer Raeume:
+   Lichtlevel  >1: Der Raum ist sehr hell erleuchtet und kann von Spielern
+                   nicht oder nur sehr schwer abgedunkelt werden. Ein Wert
+                   von 2-3 kann interessant sein, wenn die NPCs im Raum
+                   ueber keine Nachtsicht verfuegen. Ueber ein Abdunkeln des
+                   Raumes kann der Spieler dann doch den Nachtkampf nutzen.
+   Lichtlevel   1: Der Raum ist erleuchtet und die Spieler koennen ohne
+                   weitere Lichtquellen sehen...
+   Lichtlevel   0: Ein dunkler Raum in dem man mit jeder Fackel sehen kann.
+   Lichtlevel  -1: man benoetigt zwei einfache Lichtquellen oder Nachtsicht
+                   um in diesem Raum etwas sehen zu koennen.
+   Lichtlevel  -2: Man benoetigt schon eine besondere Lichtquelle um in
+                   diesem Raum noch etwas sehen zu koennen. Solche
+                   Lichtquellen sind nichts fuer Anfaenger oder mittlere
+                   Spieler da sie schwer zu beschaffen und in der Regel
+                   auch einige Handicaps haben.
+   Lichtlevel <-2: Der Raum ist wirklich absolut stockduster und
+                   Lichtquellen die solch einen Raum ausleuchten koennen,
+                   sind ausserordentlich selten und haben immer ihre
+                   Tuecken. Diese Lichtlevel sollten nur mit Vorsicht
+                   genossen werden.
+
+
+SIEHE AUCH
+==========
+
+   P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_LIGHTDESC b/doc/props/P_LIGHTDESC
index 5898db8..e8c52d1 100644
--- a/doc/props/P_LIGHTDESC
+++ b/doc/props/P_LIGHTDESC
@@ -1,34 +1,56 @@
-NAME:
-    P_LIGHTDESC                   "lightdesc"                   
 
-DEFINIERT IN:
-    /sys/properties.h
+P_LIGHTDESC
+***********
 
-BESCHREIBUNG:
-    String oder Array von Strings mit Adjektiven, die das Leuchten der 
-    Lichtquelle beschreiben (z.B. leuchtend, brennend, gluehend).
-    Standardmaessig ist die Property auf "brennend" gesetzt.
 
-    Wenn ein Array angegeben wird, werden die Beschreibungen passend auf
-    die Benndauer aufgeteilt und das zur aktuell noch vorhandenen Rest-
-    Brenndauer passende Adjektiv ausgegeben. Das Array wird dabei rueck-
-    aerts durchlaufen, d.h. fuer eine frisch entzuendete Lichtquelle wird
-    der letzte Eintrag des Arrays verwendet (s. Beispiele).
+NAME
+====
 
-BEISPIELE:
-    Eine einfache Oellampe:
+   P_LIGHTDESC                   "lightdesc"
 
-    SetProp(P_LIGHTDESC, "angezuendet");
 
-    Eine Fackel mit mehreren Brennstadien (aus /items/fackel.c):
+DEFINIERT IN
+============
 
-    SetProp(P_LIGHTDESC, ({"glimmend","flackernd","leicht flackernd",
-                         "brennend","hell lodernd","frisch angezuendet"}));
+   /sys/properties.h
 
-SIEHE AUCH:
-    Basisklassen: /std/lightsource.c
-    Properties:   P_FUEL, P_DO_DESTRUCT, P_LIGHT
-    Methoden:     AddFuel(L)
 
-LETZTE AENDERUNG:
-    22. Dez. 2015, Arathorn
+BESCHREIBUNG
+============
+
+   String oder Array von Strings mit Adjektiven, die das Leuchten der
+   Lichtquelle beschreiben (z.B. leuchtend, brennend, gluehend).
+   Standardmaessig ist die Property auf "brennend" gesetzt.
+
+   Wenn ein Array angegeben wird, werden die Beschreibungen passend auf
+   die Benndauer aufgeteilt und das zur aktuell noch vorhandenen Rest-
+   Brenndauer passende Adjektiv ausgegeben. Das Array wird dabei rueck-
+   aerts durchlaufen, d.h. fuer eine frisch entzuendete Lichtquelle wird
+   der letzte Eintrag des Arrays verwendet (s. Beispiele).
+
+
+BEISPIELE
+=========
+
+   Eine einfache Oellampe:
+
+   SetProp(P_LIGHTDESC, "angezuendet");
+
+   Eine Fackel mit mehreren Brennstadien (aus /items/fackel.c):
+
+   SetProp(P_LIGHTDESC, ({"glimmend","flackernd","leicht flackernd",
+                        "brennend","hell lodernd","frisch angezuendet"}));
+
+
+SIEHE AUCH
+==========
+
+   Basisklassen: /std/lightsource.c
+   Properties:   P_FUEL, P_DO_DESTRUCT, P_LIGHT
+   Methoden:     AddFuel(L)
+
+
+LETZTE AENDERUNG
+================
+
+   22. Dez. 2015, Arathorn
diff --git a/doc/props/P_LIGHTED b/doc/props/P_LIGHTED
index 9029b02..31d7709 100644
--- a/doc/props/P_LIGHTED
+++ b/doc/props/P_LIGHTED
@@ -1,8 +1,21 @@
-NAME:
-    P_LIGHTED                     "lighted"                     
 
-DEFINIERT IN:
-    /sys/properties.h
+P_LIGHTED
+*********
 
-BESCHREIBUNG:
-     Flag, ob die Lichtquelle in Betrieb ist.
+
+NAME
+====
+
+   P_LIGHTED                     "lighted"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Flag, ob die Lichtquelle in Betrieb ist.
diff --git a/doc/props/P_LIGHT_ABSORPTION b/doc/props/P_LIGHT_ABSORPTION
index 213120f..4443a98 100644
--- a/doc/props/P_LIGHT_ABSORPTION
+++ b/doc/props/P_LIGHT_ABSORPTION
@@ -1,15 +1,31 @@
-NAME:
-    P_LIGHT_ABSORPTION                  "light_absorption"
 
-DEFINIERT IN:
-    /sys/room/description.h
+P_LIGHT_ABSORPTION
+******************
 
-BESCHREIBUNG:
-    In Raeumen verteilt sich aufgrund ihrer Groesse das Licht und gerade in
-    groesseren Raeumen kann eine kleine Fackel unter Umstaenden nicht mehr
-    ausreichen den gesamten Raum auszuleuchten. In diesem Fall kann man
-    ueber diese Property das Verhalten des Lichts steuern.
-    Ein "normaler" durchschnittlicher Raum hat hier den Defaultwert 1.
 
-SIEHE AUCH:
-    P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+NAME
+====
+
+   P_LIGHT_ABSORPTION                  "light_absorption"
+
+
+DEFINIERT IN
+============
+
+   /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+   In Raeumen verteilt sich aufgrund ihrer Groesse das Licht und gerade in
+   groesseren Raeumen kann eine kleine Fackel unter Umstaenden nicht mehr
+   ausreichen den gesamten Raum auszuleuchten. In diesem Fall kann man
+   ueber diese Property das Verhalten des Lichts steuern.
+   Ein "normaler" durchschnittlicher Raum hat hier den Defaultwert 1.
+
+
+SIEHE AUCH
+==========
+
+   P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_LIGHT_MODIFIER b/doc/props/P_LIGHT_MODIFIER
index 2409c79..c7741ee 100644
--- a/doc/props/P_LIGHT_MODIFIER
+++ b/doc/props/P_LIGHT_MODIFIER
@@ -1,49 +1,75 @@
-NAME:
-    P_LIGHT_MODIFIER                     "light_modifier"
 
-DEFINIERT IN:
-    /sys/properties.h
+P_LIGHT_MODIFIER
+****************
 
-BESCHREIBUNG:
-    Veraendert das Lichtlevel das von einem Lebewesen wahrgenommen wird.
-    Der Wert dieser Property wird additiv in P_PLAYER_LIGHT beruecksichtigt.
-    Es ist hiermit z.B. moeglich eine Sonnenbrille zu programmieren, diese
-    veraendert ja nicht das tatsaechliche Lichtlevel, sondern verdunkelt nur
-    die Sicht.
 
-ANMERKUNG:
-    Damit NPCs in der Lage sind solche Gegenstaende richtig einzuschaetzen,
-    sollte diese Property in jedem Gegenstand der einen Light-Modifier setzt,
-    auch gesetzt sein. Das veraendern dieser Property in Spielern durch NPCs
-    oder Gegenstaende ist selbstverstaendlich genehmigungspflichtig.
+NAME
+====
 
-BEISPIELE:
-       // Ein NPC der auch in relativ dunklen Raeumen mit Lichtlevel -2
-       // noch sehen kann...
-       create_default_npc(10);
-       SetProp(P_LIGHT_MODIFIER, 3);
+   P_LIGHT_MODIFIER                     "light_modifier"
 
-       // Eine Sonnenbrille, die das Lichtlevel um eins senkt.
 
-       create()
-       {
-          :
-          SetProp(P_ARMOUR_TYPE, AT_GLASSES);
-          SetProp(P_LIGHT_MODIFIER, -1);
-          :
-       }
+DEFINIERT IN
+============
 
-       // Achtung: Falls pl Query- oder Set-Methoden auf P_LIGHT_MODIFIER hat,
-       // wird diese Methode hier furchtbar schief gehen und im besten Fall
-       // nichts veraendern. In realen Objekten empfiehlt sich zumindest eine
-       // Pruefung im Vorfeld, ob eine Query-/Set-Methode gesetzt ist.
-       protected void InformWear(object pl, int silent, int all) {
-           pl->SetProp(P_LIGHT_MODIFIER, pl->QueryProp(P_LIGHT_MODIFIER) -1);
-       }
+   /sys/properties.h
 
-       protected void InformUnwear(object pl, int silent, int all) {
-           pl->SetProp(P_LIGHT_MODIFIER, pl->QueryProp(P_LIGHT_MODIFIER) +1);
-       }
 
-SIEHE AUCH:
-    P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+BESCHREIBUNG
+============
+
+   Veraendert das Lichtlevel das von einem Lebewesen wahrgenommen wird.
+   Der Wert dieser Property wird additiv in P_PLAYER_LIGHT beruecksichtigt.
+   Es ist hiermit z.B. moeglich eine Sonnenbrille zu programmieren, diese
+   veraendert ja nicht das tatsaechliche Lichtlevel, sondern verdunkelt nur
+   die Sicht.
+
+
+ANMERKUNG
+=========
+
+   Damit NPCs in der Lage sind solche Gegenstaende richtig einzuschaetzen,
+   sollte diese Property in jedem Gegenstand der einen Light-Modifier setzt,
+   auch gesetzt sein. Das veraendern dieser Property in Spielern durch NPCs
+   oder Gegenstaende ist selbstverstaendlich genehmigungspflichtig.
+
+
+BEISPIELE
+=========
+
+   // Ein NPC der auch in relativ dunklen Raeumen mit Lichtlevel -2
+   // noch sehen kann...
+   create_default_npc(10);
+   SetProp(P_LIGHT_MODIFIER, 3);
+
+   // Eine Sonnenbrille, die das Lichtlevel um eins senkt.
+
+   create()
+   {
+
+      :
+
+      SetProp(P_ARMOUR_TYPE, AT_GLASSES);
+      SetProp(P_LIGHT_MODIFIER, -1);
+
+      :
+
+   }
+
+   // Achtung: Falls pl Query- oder Set-Methoden auf P_LIGHT_MODIFIER hat,
+   // wird diese Methode hier furchtbar schief gehen und im besten Fall
+   // nichts veraendern. In realen Objekten empfiehlt sich zumindest eine
+   // Pruefung im Vorfeld, ob eine Query-/Set-Methode gesetzt ist.
+   protected void InformWear(object pl, int silent, int all) {
+       pl->SetProp(P_LIGHT_MODIFIER, pl->QueryProp(P_LIGHT_MODIFIER) -1);
+   }
+
+   protected void InformUnwear(object pl, int silent, int all) {
+       pl->SetProp(P_LIGHT_MODIFIER, pl->QueryProp(P_LIGHT_MODIFIER) +1);
+   }
+
+
+SIEHE AUCH
+==========
+
+   P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_LIGHT_TRANSPARENCY b/doc/props/P_LIGHT_TRANSPARENCY
index 4af4415..42d0d13 100644
--- a/doc/props/P_LIGHT_TRANSPARENCY
+++ b/doc/props/P_LIGHT_TRANSPARENCY
@@ -1,14 +1,30 @@
-NAME:
-    P_LIGHT_TRANSPARENCY             "light_transparency"
 
-DEFINIERT IN:
-    /sys/container.h
+P_LIGHT_TRANSPARENCY
+********************
 
-BESCHREIBUNG:
-    Wieviel Licht schluckt ein Container, d.h. wieviel Licht dringt aus
-    einem Behaelter noch nach draussen. Bei Containern die _nicht_
-    transparent sind, liefert eine _query_method hier immer 999 zurueck.
-    Defaultmaessig steht diese Property auf 2.
 
-SIEHE AUCH:
-    P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+NAME
+====
+
+   P_LIGHT_TRANSPARENCY             "light_transparency"
+
+
+DEFINIERT IN
+============
+
+   /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+   Wieviel Licht schluckt ein Container, d.h. wieviel Licht dringt aus
+   einem Behaelter noch nach draussen. Bei Containern die _nicht_
+   transparent sind, liefert eine _query_method hier immer 999 zurueck.
+   Defaultmaessig steht diese Property auf 2.
+
+
+SIEHE AUCH
+==========
+
+   P_TOTAL_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_LIGHT_TYPE b/doc/props/P_LIGHT_TYPE
index 07322e0..47abbf4 100644
--- a/doc/props/P_LIGHT_TYPE
+++ b/doc/props/P_LIGHT_TYPE
@@ -1,75 +1,106 @@
-NAME:
-    P_LIGHT_TYPE                       "light_type"
 
-DEFINIERT IN:
-    /sys/thing/description.h
-
-BESCHREIBUNG:
-    Gibt an, was fuer ein Licht in einem Objekt vorherrscht. 
-    
-    Es sind verschiedene 'atomare' Lichttypen, vordefiniert:
-    LT_MISC         Unbestimmt, keine Angaben.
-
-    LT_SUN          Sonnenlicht.
-    LT_MOON         Mondlicht 
-    LT_STARS        Sternenlicht.
-    
-    LT_DIFFUSE      Indirektes Tageslicht. (z.B. im Wald)
-
-    LT_CANDLE       Kerzenlicht.
-    LT_TORCH        Fackelschein.
-    LT_OPEN_FIRE    Sonstiges offenes Feuer. (Lagerfeuer etc.)
-    
-    LT_MAGIC        Irgendeine magische Lichtquelle.
-
-    LT_GLOWING      Eine selbstleuchtende Lichtquelle.
-
-    LT_DARKNESS     Kein wirkliches Licht, aber auch Dunkelheit soll
-                    explizit gesetzt werden koennen.
-
-    In einem Objekt koennen mehrere Lichttypen gesetzt werden. Dies
-    geschieht durch logische Oder-Verknuepfungen, siehe man operators.
-
-    Wenn in einem Raum mehr als ein Lichttyp gesetzt ist, bedeutet das, 
-    normalerweise, dass mehrere Lichtquellen verschiedenen Typs im Raum 
-    sind.
-
-    Es gibt zudem noch Lichttypen, die zusammengesetzt sind:
-
-    LT_DAYLIGHT    Tageslicht (Sonne/Diffuse)
-    LT_NATURAL     Natuerliches Licht (Daylight/Sterne/Mond)
-    LT_ARTIFICIAL  Kuenstliches Licht (Magie/Feuer/Gluehen)
-    LT_FIRE        Feuer (Kerzen/Fackeln/offenes Feuer)
-
-BEISPIELE:
-    Ein Objekt soll ein geheimnisvolles Gluehen von sich geben:
-    
-    objekt->SetProp( P_LIGHT_TYPE, LT_GLOWING )
-
-    Soll ein Raum beschrieben werden, der durch Sternenlicht erhellt ist,
-    in dem aber zusaetzlich noch ein Lagerfeuer brennt, sieht die Syntax
-    folgendermassen aus:
-    
-    raum->SetProp( P_LIGHT_TYPE, LT_STARS|LT_OPEN_FIRE );
-
-    Einer brennenden Hose kann der Lichttyp fuer offenes Feuer mitgegeben 
-    werden. Es muss jedoch nicht zwingend der Lichttyp fuer magische
-    Lichtquellen benutzt werden. Es ist klar, dass es irgendwas mit Magie
-    zu tun hat, wenn brennende Spieler durch die Gegend laufen, ohne zu 
-    schreien. P_LIGHT_TYPE sollte jedoch das fassbare Licht beschreiben.
-    LT_MAGIC ist also eher eine Notloesung fuer Licht, dessen Ursache man
-    nicht erklaeren kann.
+P_LIGHT_TYPE
+************
 
 
-ANMERKUNG:
-    P_LIGHT_TYPE dient ausschliesslich der Beschreibung des Lichtes, das 
-    vorherrscht. Es ist nicht verbunden mit dem Lichtsystem, und soll es
-    auch nicht werden.
+NAME
+====
 
-    Die Empfindlichkeit der Dunkelelfen gegen Sonnenlicht wird ueber diese
-    Property gesteuert. Soll ein Raum mit (P_INDOORS==0) so dunkel sein, dass
-    sie nicht in Gefahr sind, sollten nicht LT_MISC oder LT_SUN gesetzt
-    sein.
+   P_LIGHT_TYPE                       "light_type"
 
-SIEHE AUCH:
-    CheckLightType, /std/thing/description.h, operators
+
+DEFINIERT IN
+============
+
+   /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+   Gibt an, was fuer ein Licht in einem Objekt vorherrscht.
+
+
+
+   Es sind verschiedene 'atomare' Lichttypen, vordefiniert:
+   LT_MISC         Unbestimmt, keine Angaben.
+
+   LT_SUN          Sonnenlicht.
+   LT_MOON         Mondlicht
+   LT_STARS        Sternenlicht.
+
+
+
+   LT_DIFFUSE      Indirektes Tageslicht. (z.B. im Wald)
+
+   LT_CANDLE       Kerzenlicht.
+   LT_TORCH        Fackelschein.
+   LT_OPEN_FIRE    Sonstiges offenes Feuer. (Lagerfeuer etc.)
+
+
+
+   LT_MAGIC        Irgendeine magische Lichtquelle.
+
+   LT_GLOWING      Eine selbstleuchtende Lichtquelle.
+
+   LT_DARKNESS     Kein wirkliches Licht, aber auch Dunkelheit soll
+                   explizit gesetzt werden koennen.
+
+   In einem Objekt koennen mehrere Lichttypen gesetzt werden. Dies
+   geschieht durch logische Oder-Verknuepfungen, siehe man operators.
+
+   Wenn in einem Raum mehr als ein Lichttyp gesetzt ist, bedeutet das,
+   normalerweise, dass mehrere Lichtquellen verschiedenen Typs im Raum
+   sind.
+
+   Es gibt zudem noch Lichttypen, die zusammengesetzt sind:
+
+   LT_DAYLIGHT    Tageslicht (Sonne/Diffuse)
+   LT_NATURAL     Natuerliches Licht (Daylight/Sterne/Mond)
+   LT_ARTIFICIAL  Kuenstliches Licht (Magie/Feuer/Gluehen)
+   LT_FIRE        Feuer (Kerzen/Fackeln/offenes Feuer)
+
+
+BEISPIELE
+=========
+
+   Ein Objekt soll ein geheimnisvolles Gluehen von sich geben:
+
+
+
+   objekt->SetProp( P_LIGHT_TYPE, LT_GLOWING )
+
+   Soll ein Raum beschrieben werden, der durch Sternenlicht erhellt ist,
+   in dem aber zusaetzlich noch ein Lagerfeuer brennt, sieht die Syntax
+   folgendermassen aus:
+
+
+
+   raum->SetProp( P_LIGHT_TYPE, LT_STARS|LT_OPEN_FIRE );
+
+   Einer brennenden Hose kann der Lichttyp fuer offenes Feuer mitgegeben
+   werden. Es muss jedoch nicht zwingend der Lichttyp fuer magische
+   Lichtquellen benutzt werden. Es ist klar, dass es irgendwas mit Magie
+   zu tun hat, wenn brennende Spieler durch die Gegend laufen, ohne zu
+   schreien. P_LIGHT_TYPE sollte jedoch das fassbare Licht beschreiben.
+   LT_MAGIC ist also eher eine Notloesung fuer Licht, dessen Ursache man
+   nicht erklaeren kann.
+
+
+ANMERKUNG
+=========
+
+   P_LIGHT_TYPE dient ausschliesslich der Beschreibung des Lichtes, das
+   vorherrscht. Es ist nicht verbunden mit dem Lichtsystem, und soll es
+   auch nicht werden.
+
+   Die Empfindlichkeit der Dunkelelfen gegen Sonnenlicht wird ueber diese
+   Property gesteuert. Soll ein Raum mit (P_INDOORS==0) so dunkel sein, dass
+   sie nicht in Gefahr sind, sollten nicht LT_MISC oder LT_SUN gesetzt
+   sein.
+
+
+SIEHE AUCH
+==========
+
+   CheckLightType, /std/thing/description.h, operators
diff --git a/doc/props/P_LIQUID b/doc/props/P_LIQUID
index 1631a8e..55672bb 100644
--- a/doc/props/P_LIQUID
+++ b/doc/props/P_LIQUID
@@ -1,8 +1,21 @@
-NAME:
-    P_LIQUID                      "w_max_wasserfuellmenge"      
 
-DEFINIERT IN:
-    /sys/fishing.h
+P_LIQUID
+********
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_LIQUID                      "w_max_wasserfuellmenge"
+
+
+DEFINIERT IN
+============
+
+   /sys/fishing.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_LOCALCMDS b/doc/props/P_LOCALCMDS
index 5a7b515..02a3c2a 100644
--- a/doc/props/P_LOCALCMDS
+++ b/doc/props/P_LOCALCMDS
@@ -1,12 +1,25 @@
-NAME:
-    P_LOCALCMDS                   "localcmds"                   
 
-DEFINIERT IN:
-    /sys/properties.h
+P_LOCALCMDS
+***********
 
-BESCHREIBUNG:
-    Ein Array von Arrays aller Befehle die im Spieler selbst definiert sind.
-    ({ ({ "befehl", "funktion", flag, wizlevel }) })
-    Wenn flag gesetzt ist werden nur die ersten Zeichen die auch in Befehl
-    angegeben sind mit dem Verb ueberprueft. Siehe auch
-    add_action("funktion", "befehl", 1) und AddCmd("befehl", "funktion", 1).
+
+NAME
+====
+
+   P_LOCALCMDS                   "localcmds"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Ein Array von Arrays aller Befehle die im Spieler selbst definiert sind.
+   ({ ({ "befehl", "funktion", flag, wizlevel }) })
+   Wenn flag gesetzt ist werden nur die ersten Zeichen die auch in Befehl
+   angegeben sind mit dem Verb ueberprueft. Siehe auch
+   add_action("funktion", "befehl", 1) und AddCmd("befehl", "funktion", 1).
diff --git a/doc/props/P_LOCATION b/doc/props/P_LOCATION
index 97344d8..cf2ed6c 100644
--- a/doc/props/P_LOCATION
+++ b/doc/props/P_LOCATION
@@ -1,19 +1,32 @@
-NAME:
-    P_LOCATION                   "location"
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_LOCATION
+**********
 
-BESCHREIBUNG:
-    Hier kann der Spieler mit dem Befehl "ort" den Ort setzen,
-    von dem er kommt bzw. zu kommen glaubt ;)
-    Um wieder den automatisch ermittelten Ort anzuzeigen, ist
-    P_LOCATION auf 0 zu setzen.
-    
-SIEHE AUCH:
-    ort
 
-----------------------------------------------------------------------------
+NAME
+====
+
+   P_LOCATION                   "location"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Hier kann der Spieler mit dem Befehl "ort" den Ort setzen,
+   von dem er kommt bzw. zu kommen glaubt ;)
+   Um wieder den automatisch ermittelten Ort anzuzeigen, ist
+   P_LOCATION auf 0 zu setzen.
+
+
+SIEHE AUCH
+==========
+
+   ort
+
 Last modified: Sat Jul 01 23:16:00 2000 by Mupfel
-    
-    
diff --git a/doc/props/P_LOG_INFO b/doc/props/P_LOG_INFO
index b6bd8dc..0ed186d 100644
--- a/doc/props/P_LOG_INFO
+++ b/doc/props/P_LOG_INFO
@@ -1,32 +1,55 @@
-NAME:
-    P_LOG_INFO                    "log_info"                    
 
-DEFINIERT IN:
-    /sys/properties.h
+P_LOG_INFO
+**********
 
-BESCHREIBUNG:
-     Wenn diese Property gesetzt ist wird jede Frage, die ein
-     Monster nicht beantworten kann, im Report-File des
-     zustaendigen Magiers geloggt.
 
-     Es ist jedoch auch moeglich, direkt einen Filenamen anzugeben.
-     Bei diesen wird dann jedoch automatisch ein /log/ vorne angehaengt.
+NAME
+====
 
-BEISPIELE:
-     SetProp(P_LOG_INFO,1);           // Alle fehlenden Infos dieses
-                                         Monsters werden in das Report-
-                                         File unter /log/report/ gelogt.
+   P_LOG_INFO                    "log_info"
 
-     SetProp(P_LOG_INFO,"tilly/opa"); // Alle fehlenden Infos dieses
-                                         Monsters werden in das File
-                                         monster unter /log/tilly/ ge-
-                                         logt.
-BEMERKUNGEN:
-     Bei nachtraeglich angeschlossenen Monstern empfiehlt sich Variante 
-     2 der Beispiele. Ein muehsames Suchen (und Loeschen) der fehlenden 
-     Infos des Monsters im Report-File eruebrigt sich dann naemlich.
 
-SIEHE AUCH:
-     P_LOG_FILE, write_file(), log_file(), AddInfo
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wenn diese Property gesetzt ist wird jede Frage, die ein
+   Monster nicht beantworten kann, im Report-File des
+   zustaendigen Magiers geloggt.
+
+   Es ist jedoch auch moeglich, direkt einen Filenamen anzugeben.
+   Bei diesen wird dann jedoch automatisch ein /log/ vorne angehaengt.
+
+
+BEISPIELE
+=========
+
+   SetProp(P_LOG_INFO,1);           // Alle fehlenden Infos dieses
+                                       Monsters werden in das Report-
+                                       File unter /log/report/ gelogt.
+
+   SetProp(P_LOG_INFO,"tilly/opa"); // Alle fehlenden Infos dieses
+                                       Monsters werden in das File
+                                       monster unter /log/tilly/ ge-
+                                       logt.
+
+
+BEMERKUNGEN
+===========
+
+   Bei nachtraeglich angeschlossenen Monstern empfiehlt sich Variante
+   2 der Beispiele. Ein muehsames Suchen (und Loeschen) der fehlenden
+   Infos des Monsters im Report-File eruebrigt sich dann naemlich.
+
+
+SIEHE AUCH
+==========
+
+   P_LOG_FILE, write_file(), log_file(), AddInfo
 
 Letzte Aenderung: 13.09.04 Tilly@MorgenGrauen
diff --git a/doc/props/P_LONG b/doc/props/P_LONG
index 04a3659..bad7968 100644
--- a/doc/props/P_LONG
+++ b/doc/props/P_LONG
@@ -1,29 +1,48 @@
+
 P_LONG
-NAME:
-     P_LONG					"long"
+******
 
-DEFINIERT IN:
-     <thing/description.h>
 
-BESCHREIBUNG:
-     Die Langbeschreibung des Objektes als String oder Closure (diese muss
-     einen String zurueckgeben). Die Langbeschreibung wird beim Untersuchen
-     des Objektes ausgegeben. Sie sollte umgebrochen sein.
+NAME
+====
 
-     Diese Property bestimmt die Ansicht des Objektes von aussen. Fuer die
-     Innen(lang)ansicht von Raeumen muss man P_INT_LONG benutzen.
+   P_LONG                                     "long"
 
-BEMERKUNGEN:
-     - long() ("untersuche") filtert P_LONG durch process_string()
-       -> daher sind Closures moeglich
 
-BEISPIELE:
+DEFINIERT IN
+============
 
-     SetProp(P_LONG, "Diese Axt ist eine furchtbare Waffe!\n");
+   <thing/description.h>
 
-SIEHE AUCH:
-     Aehnliches:	P_SHORT, long()
-     Sonstiges:		P_INT_LONG, process_string(), break_string()
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Die Langbeschreibung des Objektes als String oder Closure (diese muss
+   einen String zurueckgeben). Die Langbeschreibung wird beim Untersuchen
+   des Objektes ausgegeben. Sie sollte umgebrochen sein.
+
+   Diese Property bestimmt die Ansicht des Objektes von aussen. Fuer die
+   Innen(lang)ansicht von Raeumen muss man P_INT_LONG benutzen.
+
+
+BEMERKUNGEN
+===========
+
+   - long() ("untersuche") filtert P_LONG durch process_string()
+     -> daher sind Closures moeglich
+
+
+BEISPIELE
+=========
+
+   SetProp(P_LONG, "Diese Axt ist eine furchtbare Waffe!\n");
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches:        P_SHORT, long()
+   Sonstiges:         P_INT_LONG, process_string(), break_string()
+
 Last modified: Sun May 19 20:10:18 1996 by Wargon
diff --git a/doc/props/P_LONG_EMPTY b/doc/props/P_LONG_EMPTY
index 1a9cce2..cac74e0 100644
--- a/doc/props/P_LONG_EMPTY
+++ b/doc/props/P_LONG_EMPTY
@@ -1,8 +1,21 @@
-NAME:
-    P_LONG_EMPTY                  "w_longdesc_empty"            
 
-DEFINIERT IN:
-    /sys/fishing.h
+P_LONG_EMPTY
+************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_LONG_EMPTY                  "w_longdesc_empty"
+
+
+DEFINIERT IN
+============
+
+   /sys/fishing.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_LONG_FULL b/doc/props/P_LONG_FULL
index 3b997f6..7de6081 100644
--- a/doc/props/P_LONG_FULL
+++ b/doc/props/P_LONG_FULL
@@ -1,8 +1,21 @@
-NAME:
-    P_LONG_FULL                   "w_longdesc_full"             
 
-DEFINIERT IN:
-    /sys/fishing.h
+P_LONG_FULL
+***********
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_LONG_FULL                   "w_longdesc_full"
+
+
+DEFINIERT IN
+============
+
+   /sys/fishing.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_MAGIC b/doc/props/P_MAGIC
index b3a0bb7..8994533 100644
--- a/doc/props/P_MAGIC
+++ b/doc/props/P_MAGIC
@@ -1,8 +1,21 @@
-NAME:
-    P_MAGIC                       "magic"                       
 
-DEFINIERT IN:
-    /sys/properties.h
+P_MAGIC
+*******
 
-BESCHREIBUNG:
-     Dieses Objekt ist magisch.
+
+NAME
+====
+
+   P_MAGIC                       "magic"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Dieses Objekt ist magisch.
diff --git a/doc/props/P_MAGIC_RESISTANCE_OFFSET b/doc/props/P_MAGIC_RESISTANCE_OFFSET
index 47ae281..8d270e3 100644
--- a/doc/props/P_MAGIC_RESISTANCE_OFFSET
+++ b/doc/props/P_MAGIC_RESISTANCE_OFFSET
@@ -1,33 +1,52 @@
-NAME:
-     P_MAGIC_RESISTANCE_OFFSET                     "mag_res_offset"                     
 
-DEFINIERT IN:
-     /sys/new_skills.h
+P_MAGIC_RESISTANCE_OFFSET
+*************************
 
-BESCHREIBUNG:
-     Mapping mit ganzzahligen Prozentwerten in 0.01%-Schritten
-     (0-10000) zur Resistenz/Empfindlichkeit gegen bestimmte
-     Magieklassen.
 
-     Die Property wird in der Methode SpellDefend() ausgewertet und
-     fuer einen auf den NPC/Spieler gesprochenen Spell werden die
-     Werte fuer all dessen Magieklassen aufaddiert. Daher sind auch
-     negative Werte fuer einzelne Magieklassen sinnvoll.
+NAME
+====
 
-     P_MAGIC_RESISTANCE_OFFSET und SpellDefend werden von den Spellbooks
-     ausgewertet. Der Einfluss ist daher abhaengig vom Spellbook.
+   P_MAGIC_RESISTANCE_OFFSET                     "mag_res_offset"
 
-BEISPIELE:
-     // Goblins
-     SetProp(P_MAGIC_RESISTANCE_OFFSET,
-               ([MT_ANGRIFF:600,         // 6% Resistenz gegen Angriff
-	         MT_ILLUSION:500,        // 6% Resistenz gegen Illusionen
-                 MT_VERWANDLUNG:-300,    // 3% Empfindlichkeit
-		 MT_HELLSICHT:-750,      // 7.5% Empfindlichkeit
-		 MT_BEHERRSCHUNG:250])); // 2.5% Resistenz
 
-SIEHE AUCH:
-     Verwandt:     SpellDefend
-     Aehnlich:     P_NOMAGIC
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Mapping mit ganzzahligen Prozentwerten in 0.01%-Schritten
+   (0-10000) zur Resistenz/Empfindlichkeit gegen bestimmte
+   Magieklassen.
+
+   Die Property wird in der Methode SpellDefend() ausgewertet und
+   fuer einen auf den NPC/Spieler gesprochenen Spell werden die
+   Werte fuer all dessen Magieklassen aufaddiert. Daher sind auch
+   negative Werte fuer einzelne Magieklassen sinnvoll.
+
+   P_MAGIC_RESISTANCE_OFFSET und SpellDefend werden von den Spellbooks
+   ausgewertet. Der Einfluss ist daher abhaengig vom Spellbook.
+
+
+BEISPIELE
+=========
+
+   // Goblins
+   SetProp(P_MAGIC_RESISTANCE_OFFSET,
+             ([MT_ANGRIFF:600,         // 6% Resistenz gegen Angriff
+               MT_ILLUSION:500,        // 6% Resistenz gegen Illusionen
+               MT_VERWANDLUNG:-300,    // 3% Empfindlichkeit
+               MT_HELLSICHT:-750,      // 7.5% Empfindlichkeit
+               MT_BEHERRSCHUNG:250])); // 2.5% Resistenz
+
+
+SIEHE AUCH
+==========
+
+   Verwandt:     SpellDefend
+   Aehnlich:     P_NOMAGIC
 
 29.Dez 2007 Gloinson
diff --git a/doc/props/P_MAILADDR b/doc/props/P_MAILADDR
index e1b849d..32556a7 100644
--- a/doc/props/P_MAILADDR
+++ b/doc/props/P_MAILADDR
@@ -1,8 +1,21 @@
-NAME:
-    P_MAILADDR                    "mailaddr"                    
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_MAILADDR
+**********
 
-BESCHREIBUNG:
-     EMailadresse des Spielers.
+
+NAME
+====
+
+   P_MAILADDR                    "mailaddr"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   EMailadresse des Spielers.
diff --git a/doc/props/P_MAP_RESTRICTIONS b/doc/props/P_MAP_RESTRICTIONS
index fd422c0..ee9e620 100644
--- a/doc/props/P_MAP_RESTRICTIONS
+++ b/doc/props/P_MAP_RESTRICTIONS
@@ -1,39 +1,56 @@
-NAME:
-    P_MAP_RESTRICTIONS                      "lib_p_map_restrictions"
 
-DEFINIERT IN:
-    /sys/rooms.h
+P_MAP_RESTRICTIONS
+******************
 
-BESCHREIBUNG:
-     Mit dieser Property laesst sich beeinflussen, welche Informationen ueber
-     den Raum das Morgengrauen dem Client zukommen laesst (zur Zeit nur via
-     GMCP, aber es mag irgendwann auch andere Wege geben).
-     Beispielsweise sollen vielleicht in einem Labyrinth keine eindeutigen
-     Raum-IDs uebermittelt werden.
 
-     Als Werte duerfen alle MR_-Konstanten aus <rooms.h> verwendet werden.
-     Diese duerfen auch ver-ODER-t werden, wenn mehr als eine davon gelten
-     soll.
+NAME
+====
 
-     Moegliche Werte:
-       MR_NOUID - verhindert, dass die eindeutige Raum-ID uebertragen wird.
-       MR_NOINFO - verhindert, dass ueberhaupt irgendetwas an den Client
-                   uebermittelt wird. Damit kriegt er ggf. auch nicht mit,
-                   dass er Raum gewechselt wurde. Ist fuer Sequenzraeume
-                   gedacht. Bitte SEHR sparsam einsetzen.
+   P_MAP_RESTRICTIONS                      "lib_p_map_restrictions"
 
-     Die Verwendung dieser Property sollte der Ausnahmefall sein!
 
-BEISPIEL:
-     (in einem Raum)
-     SetProp(P_MAP_RESTRICTIONS, MR_NOUID);
+DEFINIERT IN
+============
 
-     Nun bekommt der Client zwar die Kurzbeschreibung des Raums, die Region
-     und die sichtbaren Ausgaenge, aber keine UID mehr uebermittelt.
+   /sys/rooms.h
 
-SIEHE AUCH:
-     gmcp
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Mit dieser Property laesst sich beeinflussen, welche Informationen ueber
+   den Raum das Morgengrauen dem Client zukommen laesst (zur Zeit nur via
+   GMCP, aber es mag irgendwann auch andere Wege geben).
+   Beispielsweise sollen vielleicht in einem Labyrinth keine eindeutigen
+   Raum-IDs uebermittelt werden.
+
+   Als Werte duerfen alle MR_-Konstanten aus <rooms.h> verwendet werden.
+   Diese duerfen auch ver-ODER-t werden, wenn mehr als eine davon gelten
+   soll.
+
+   Moegliche Werte:
+     MR_NOUID - verhindert, dass die eindeutige Raum-ID uebertragen wird.
+     MR_NOINFO - verhindert, dass ueberhaupt irgendetwas an den Client
+                 uebermittelt wird. Damit kriegt er ggf. auch nicht mit,
+                 dass er Raum gewechselt wurde. Ist fuer Sequenzraeume
+                 gedacht. Bitte SEHR sparsam einsetzen.
+
+   Die Verwendung dieser Property sollte der Ausnahmefall sein!
+
+
+BEISPIEL
+========
+
+   (in einem Raum)
+   SetProp(P_MAP_RESTRICTIONS, MR_NOUID);
+
+   Nun bekommt der Client zwar die Kurzbeschreibung des Raums, die Region
+   und die sichtbaren Ausgaenge, aber keine UID mehr uebermittelt.
+
+
+SIEHE AUCH
+==========
+
+   gmcp
+
 23.02.2013, Zesstra
-
diff --git a/doc/props/P_MARRIED b/doc/props/P_MARRIED
index 768404e..7cafa6f 100644
--- a/doc/props/P_MARRIED
+++ b/doc/props/P_MARRIED
@@ -1,12 +1,28 @@
-NAME:
-    P_MARRIED                     "married"                     
 
-DEFINIERT IN:
-    /sys/properties.h
+P_MARRIED
+*********
 
-BESCHREIBUNG:
-     Enthaelt einen String mit der uid des Partners
-     (sofern vorhanden)
 
-SIEHE AUCH:
-     scheidung
+NAME
+====
+
+   P_MARRIED                     "married"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt einen String mit der uid des Partners
+   (sofern vorhanden)
+
+
+SIEHE AUCH
+==========
+
+   scheidung
diff --git a/doc/props/P_MATERIAL b/doc/props/P_MATERIAL
index 5be1bef..4ea4032 100644
--- a/doc/props/P_MATERIAL
+++ b/doc/props/P_MATERIAL
@@ -1,79 +1,99 @@
+
 P_MATERIAL
-NAME:
-     P_MATERIAL					"material"
+**********
 
-DEFINIERT IN:
-     <thing/material.h>
 
-BESCHREIBUNG:
-     Mapping mit prozentualen Anteilen von Materialien, aus denen ein Objekt 
-     besteht.
+NAME
+====
 
-BEMERKUNGEN:
-     Bei SetProp kann man zu Vereinfachung auch ein einzelnes Material oder 
-     ein Array aus Materialien angeben. Die Anteile werden dann 
-     gleichmaessig verteilt.
+   P_MATERIAL                                 "material"
 
-BEISPIELE:
-     // 100% Eis
-     SetProp(P_MATERIAL, MAT_ICE);
-     // QueryProp(P_MATERIAL) -> ([MAT_ICE:100])
 
-     // 50% Eis, 50% Misc-Holz
-     SetProp(P_MATERIAL, ({ MAT_ICE, MAT_MISC_WOOD }));
-     // QueryProp(P_MATERIAL) -> ([MAT_ICE:50, MAT_MISC_WOOD: 50])
+DEFINIERT IN
+============
 
-     // 60% Eis, 40% Misc-Holz
-     SetProp(P_MATERIAL, ([ MAT_ICE: 60, MAT_MISC_WOOD: 40 ]));
+   <thing/material.h>
 
-     // 100% Papier
-     SetProp(P_MATERIAL, MAT_PAPER);
-     // QueryProp(P_MATERIAL) -> ([MAT_PAPER:100])
 
-     // 50% Silber, 50% Gold
-     SetProp(P_MATERIAL, ({MAT_SILVER, MAT_GOLD}))
-     // QueryProp(P_MATERIAL) -> ([MAT_SILVER:50,MAT_GOLD:50])
+BESCHREIBUNG
+============
 
-     // ein weiser Schmied, der was daraus macht:
-     int i;
-     string *mat, mname, mgroup;
-     mat=m_indices(ob->QueryProp(P_MATERIAL));
-     i=sizeof(mat);
+   Mapping mit prozentualen Anteilen von Materialien, aus denen ein Objekt
+   besteht.
 
-     write("Der Schmied sagt: "+ob->Name(WER)+" besteht aus ...\n");
-     while(i--) {
-      // den Namen erkennen/aussprechen:
-      // Materialien werden allgemein ganz schlecht erkannt (zu 5%), aber
-      // alles aus Metall wird zu +100% gut erkannt ...
-      mname=MATERIALDB->MaterialName(mat[i], WER,
-	     ({5, ([MATERIAL_SYMMETRIC_RECOGNIZABILITY:
-			({MATGROUP_METAL, 100})])}));
 
-      // und nur Metalle analysieren ...
-      if(MATERIALDB->MaterialGroup(([mat[i]:100]),MATGROUP_METAL)>=100) {
-       int j;
-       string *mgr;
-       mgr=MATERIALDB->GetMatMembership(mat[i]);
-       j=sizeof(mgr);
-       mgroup=" gehoert zu ";
-       while(j--) {
-        mgroup+=MATERIALDB->GroupName(mgr[j]);
-        if(j>0) mgroup+=", ";
-       }
-      } else mgroup=" kenne ich nicht";
-      printf("%-12.12s: %s\n",mname, mgroup);
+BEMERKUNGEN
+===========
+
+   Bei SetProp kann man zu Vereinfachung auch ein einzelnes Material oder
+   ein Array aus Materialien angeben. Die Anteile werden dann
+   gleichmaessig verteilt.
+
+
+BEISPIELE
+=========
+
+   // 100% Eis
+   SetProp(P_MATERIAL, MAT_ICE);
+   // QueryProp(P_MATERIAL) -> ([MAT_ICE:100])
+
+   // 50% Eis, 50% Misc-Holz
+   SetProp(P_MATERIAL, ({ MAT_ICE, MAT_MISC_WOOD }));
+   // QueryProp(P_MATERIAL) -> ([MAT_ICE:50, MAT_MISC_WOOD: 50])
+
+   // 60% Eis, 40% Misc-Holz
+   SetProp(P_MATERIAL, ([ MAT_ICE: 60, MAT_MISC_WOOD: 40 ]));
+
+   // 100% Papier
+   SetProp(P_MATERIAL, MAT_PAPER);
+   // QueryProp(P_MATERIAL) -> ([MAT_PAPER:100])
+
+   // 50% Silber, 50% Gold
+   SetProp(P_MATERIAL, ({MAT_SILVER, MAT_GOLD}))
+   // QueryProp(P_MATERIAL) -> ([MAT_SILVER:50,MAT_GOLD:50])
+
+   // ein weiser Schmied, der was daraus macht:
+   int i;
+   string *mat, mname, mgroup;
+   mat=m_indices(ob->QueryProp(P_MATERIAL));
+   i=sizeof(mat);
+
+   write("Der Schmied sagt: "+ob->Name(WER)+" besteht aus ...\n");
+   while(i--) {
+    // den Namen erkennen/aussprechen:
+    // Materialien werden allgemein ganz schlecht erkannt (zu 5%), aber
+    // alles aus Metall wird zu +100% gut erkannt ...
+    mname=MATERIALDB->MaterialName(mat[i], WER,
+           ({5, ([MATERIAL_SYMMETRIC_RECOGNIZABILITY:
+                      ({MATGROUP_METAL, 100})])}));
+
+    // und nur Metalle analysieren ...
+    if(MATERIALDB->MaterialGroup(([mat[i]:100]),MATGROUP_METAL)>=100) {
+     int j;
+     string *mgr;
+     mgr=MATERIALDB->GetMatMembership(mat[i]);
+     j=sizeof(mgr);
+     mgroup=" gehoert zu ";
+     while(j--) {
+      mgroup+=MATERIALDB->GroupName(mgr[j]);
+      if(j>0) mgroup+=", ";
      }
+    } else mgroup=" kenne ich nicht";
+    printf("%-12.12s: %s\n",mname, mgroup);
+   }
 
 
-SIEHE AUCH:
-     Konzepte:	  material, materialerkennung
-     Grundlegend: /sys/thing/material.h
-     Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
-     Listen:	  AllMaterials(), AllGroups(), Dump()
-		  materialliste, materialgruppen
-     Master:	  AddMaterial(), ConvMaterialList(), MaterialGroup(),
-		  GroupName(), MaterialName(),
-		  GetGroupMembers(), GetMatMembership()
-     Sonstiges:	  P_MATERIAL_KNOWLEDGE
+SIEHE AUCH
+==========
 
-7. Mai 2004 Gloinson
\ No newline at end of file
+   Konzepte:    material, materialerkennung
+   Grundlegend: /sys/thing/material.h
+   Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
+   Listen:      AllMaterials(), AllGroups(), Dump()
+                materialliste, materialgruppen
+   Master:      AddMaterial(), ConvMaterialList(), MaterialGroup(),
+                GroupName(), MaterialName(),
+                GetGroupMembers(), GetMatMembership()
+   Sonstiges:   P_MATERIAL_KNOWLEDGE
+
+7. Mai 2004 Gloinson
diff --git a/doc/props/P_MATERIAL_KNOWLEDGE b/doc/props/P_MATERIAL_KNOWLEDGE
index c954083..0694fef 100644
--- a/doc/props/P_MATERIAL_KNOWLEDGE
+++ b/doc/props/P_MATERIAL_KNOWLEDGE
@@ -1,39 +1,56 @@
+
 P_MATERIAL_KNOWLEDGE
-NAME:
-     P_MATERIAL_KNOWLEDGE				"material_knowledge"
-
-DEFINIERT IN:
-     <thing/material.h>
-
-BESCHREIBUNG:
-     Mapping, Closure oder Integer mit Regeln zur Materialienerkennung. Die
-     Regeln sind in "man materialerkennung" zu lesen.
-
-     Diese werden bei Angabe eines Spielerobjektes in MaterialList() oder
-     MaterialName() an diesem abgefragt und hat Einfluss darauf, ob ein
-     Material genau, generell oder gar nicht erkannt wird.
-
-     In den einzelnen Rassenshells sind Defaultwerte dafuer angegeben.
+********************
 
 
-BEISPIELE:
-     // Erkennungsbonus auf diverse Materialgruppen und
-     // Erkennungsbonus/-malus auf biologische/nichtbiologische Materialien
-     SetProp(P_MATERIAL_KNOWLEDGE,
-	([MATGROUP_WOOD:20,
-	  MATGROUP_METAL:20,
-	  MATGROUP_ELEMENTAL:20,
-	  MATGROUP_CLOTH:20,
-	  MATERIAL_SYMMETRIC_RECOGNIZABILITY: ({MATGROUP_BIO,5})]));
+NAME
+====
 
-SIEHE AUCH:
-     Konzepte:	  material, materialerkennung
-     Grundlegend: P_MATERIAL, /sys/thing/material.h
-     Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
-     Listen:	  AllMaterials(), AllGroups(), Dump()
-		  materialliste, materialgruppen
-     Master:	  AddMaterial(), ConvMaterialList(), MaterialGroup(),
-		  GroupName(), MaterialName(),
-		  GetGroupMembers(), GetMatMembership()
+   P_MATERIAL_KNOWLEDGE                               "material_knowledge"
 
-7. Mai 2004 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   <thing/material.h>
+
+
+BESCHREIBUNG
+============
+
+   Mapping, Closure oder Integer mit Regeln zur Materialienerkennung. Die
+   Regeln sind in "man materialerkennung" zu lesen.
+
+   Diese werden bei Angabe eines Spielerobjektes in MaterialList() oder
+   MaterialName() an diesem abgefragt und hat Einfluss darauf, ob ein
+   Material genau, generell oder gar nicht erkannt wird.
+
+   In den einzelnen Rassenshells sind Defaultwerte dafuer angegeben.
+
+
+BEISPIELE
+=========
+
+   // Erkennungsbonus auf diverse Materialgruppen und
+   // Erkennungsbonus/-malus auf biologische/nichtbiologische Materialien
+   SetProp(P_MATERIAL_KNOWLEDGE,
+      ([MATGROUP_WOOD:20,
+        MATGROUP_METAL:20,
+        MATGROUP_ELEMENTAL:20,
+        MATGROUP_CLOTH:20,
+        MATERIAL_SYMMETRIC_RECOGNIZABILITY: ({MATGROUP_BIO,5})]));
+
+
+SIEHE AUCH
+==========
+
+   Konzepte:    material, materialerkennung
+   Grundlegend: P_MATERIAL, /sys/thing/material.h
+   Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
+   Listen:      AllMaterials(), AllGroups(), Dump()
+                materialliste, materialgruppen
+   Master:      AddMaterial(), ConvMaterialList(), MaterialGroup(),
+                GroupName(), MaterialName(),
+                GetGroupMembers(), GetMatMembership()
+
+7. Mai 2004 Gloinson
diff --git a/doc/props/P_MAX_ALCOHOL b/doc/props/P_MAX_ALCOHOL
index 10a64c3..541972f 100644
--- a/doc/props/P_MAX_ALCOHOL
+++ b/doc/props/P_MAX_ALCOHOL
@@ -1,21 +1,39 @@
-NAME:
-	P_MAX_ALCOHOL			"max_alcohol"
 
-DEFINIERT IN:
-	/sys/living/life.h
+P_MAX_ALCOHOL
+*************
 
-BESCHREIBUNG:
-	Numerischer Wert fuer den maximalen Grad der Betrunkenheit eines
-	Lebewesens.
 
-ANMERKUNGEN:
-	Der Wert von P_MAX_ALCOHOL ist bei den einzelnen Rassen verschieden,
-	ebenso wie der fuer P_ALCOHOL_DELAY. Die genauen Werte stehen in den
-	Rassen-Shells (/std/shells).
+NAME
+====
 
-SIEHE AUCH:
-	P_ALCOHOL, P_ALCOHOL_DELAY, drink_alcohol,
-	P_MAX_FOOD, P_MAX_DRINK
+   P_MAX_ALCOHOL                   "max_alcohol"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert fuer den maximalen Grad der Betrunkenheit eines
+   Lebewesens.
+
+
+ANMERKUNGEN
+===========
+
+   Der Wert von P_MAX_ALCOHOL ist bei den einzelnen Rassen verschieden,
+   ebenso wie der fuer P_ALCOHOL_DELAY. Die genauen Werte stehen in den
+   Rassen-Shells (/std/shells).
+
+
+SIEHE AUCH
+==========
+
+   P_ALCOHOL, P_ALCOHOL_DELAY, drink_alcohol,
+   P_MAX_FOOD, P_MAX_DRINK
+
 Last modified: Tue Dec 18 12:16:10 2001 by Patryn
diff --git a/doc/props/P_MAX_DRINK b/doc/props/P_MAX_DRINK
index 940eddc..33fdeb8 100644
--- a/doc/props/P_MAX_DRINK
+++ b/doc/props/P_MAX_DRINK
@@ -1,21 +1,39 @@
-NAME:
-	P_MAX_DRINK			"max_drink"
 
-DEFINIERT IN:
-	/sys/living/life.h
+P_MAX_DRINK
+***********
 
-BESCHREIBUNG:
-	Numerischer Wert fuer die maximale Saettigung eines Lebewesens mit
-	Getraenken.
 
-ANMERKUNGEN:
-	Der Wert von P_MAX_DRINK ist bei den einzelnen Rassen verschieden,
-	ebenso wie der fuer P_DRINK_DELAY. Die genauen Werte stehen in den
-	Rassen-Shells (/std/shells).
+NAME
+====
 
-SIEHE AUCH:
-	P_DRINK, P_DRINK_DELAY, drink_soft,
-	P_MAX_FOOD, P_MAX_ALCOHOL
+   P_MAX_DRINK                     "max_drink"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert fuer die maximale Saettigung eines Lebewesens mit
+   Getraenken.
+
+
+ANMERKUNGEN
+===========
+
+   Der Wert von P_MAX_DRINK ist bei den einzelnen Rassen verschieden,
+   ebenso wie der fuer P_DRINK_DELAY. Die genauen Werte stehen in den
+   Rassen-Shells (/std/shells).
+
+
+SIEHE AUCH
+==========
+
+   P_DRINK, P_DRINK_DELAY, drink_soft,
+   P_MAX_FOOD, P_MAX_ALCOHOL
+
 Last modified: Tue Dec 18 12:16:10 2001 by Patryn
diff --git a/doc/props/P_MAX_FOOD b/doc/props/P_MAX_FOOD
index 5f49cfe..fa7f661 100644
--- a/doc/props/P_MAX_FOOD
+++ b/doc/props/P_MAX_FOOD
@@ -1,20 +1,38 @@
-NAME:
-	P_MAX_FOOD			"max_food"
 
-DEFINIERT IN:
-	/sys/living/life.h
+P_MAX_FOOD
+**********
 
-BESCHREIBUNG:
-	Numerischer Wert fuer die maximale Saettigung eines Lebewesens.
 
-ANMERKUNGEN:
-	Der Wert von P_MAX_FOOD ist bei den einzelnen Rassen verschieden, 
-	ebenso wie der fuer P_FOOD_DELAY. Die genauen Werte stehen in den
-	Rassen-Shells (/std/shells).
+NAME
+====
 
-SIEHE AUCH:
-	P_FOOD, P_FOOD_DELAY, eat_food,
-	P_MAX_DRINK, P_MAX_ALCOHOL
+   P_MAX_FOOD                      "max_food"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert fuer die maximale Saettigung eines Lebewesens.
+
+
+ANMERKUNGEN
+===========
+
+   Der Wert von P_MAX_FOOD ist bei den einzelnen Rassen verschieden,
+   ebenso wie der fuer P_FOOD_DELAY. Die genauen Werte stehen in den
+   Rassen-Shells (/std/shells).
+
+
+SIEHE AUCH
+==========
+
+   P_FOOD, P_FOOD_DELAY, eat_food,
+   P_MAX_DRINK, P_MAX_ALCOHOL
+
 Last modified: Tue Dec 18 12:16:10 2001 by Patryn
diff --git a/doc/props/P_MAX_HANDS b/doc/props/P_MAX_HANDS
index 96b1ae8..4c65afa 100644
--- a/doc/props/P_MAX_HANDS
+++ b/doc/props/P_MAX_HANDS
@@ -1,27 +1,45 @@
+
 P_MAX_HANDS
-NAME:
-     P_MAX_HANDS                   "max_hands"
+***********
 
-DEFINIERT IN:
-     /sys/living/combat.h
 
-BESCHREIBUNG:
-     Anzahl der Haende, die ein Wesen hat.
+NAME
+====
 
-BEMERKUNGEN:
-     An dieser Propertie sollte bei Spielern nur im Rahmen der
-     Gilden 'gespielt' werden.
+   P_MAX_HANDS                   "max_hands"
 
-     Fuer Magier, die in ihren Npc gerne alle Properties setzen,
-     gilt folgendes:
 
-                  Setzt diese Propertie NIE auf 0 !
+DEFINIERT IN
+============
 
-     Ohne Haende wird kein Npc irgendeinen Spieler angreifen koennen.
+   /sys/living/combat.h
 
-SIEHE AUCH:
-     P_HANDS, P_HANDS_USED_BY
-     P_USED_HANDS, P_FREE_HANDS
-     UseHands, FreeHands
+
+BESCHREIBUNG
+============
+
+   Anzahl der Haende, die ein Wesen hat.
+
+
+BEMERKUNGEN
+===========
+
+   An dieser Propertie sollte bei Spielern nur im Rahmen der
+   Gilden 'gespielt' werden.
+
+   Fuer Magier, die in ihren Npc gerne alle Properties setzen,
+   gilt folgendes:
+
+                Setzt diese Propertie NIE auf 0 !
+
+   Ohne Haende wird kein Npc irgendeinen Spieler angreifen koennen.
+
+
+SIEHE AUCH
+==========
+
+   P_HANDS, P_HANDS_USED_BY
+   P_USED_HANDS, P_FREE_HANDS
+   UseHands, FreeHands
 
 1.Feb.2004 Gloinson
diff --git a/doc/props/P_MAX_HP b/doc/props/P_MAX_HP
index 13a84c4..fcb3cb0 100644
--- a/doc/props/P_MAX_HP
+++ b/doc/props/P_MAX_HP
@@ -1,14 +1,30 @@
-NAME:
-    P_MAX_HP                      "max_hp"
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_MAX_HP
+********
 
-BESCHREIBUNG:
-     Maximale Anzahl der Lebenspunkte.
 
-SIEHE AUCH:
-     Props:	P_HP
-     Verwandt:	UpdateAttributes()
+NAME
+====
 
-21.April 2006 Gloinson
\ No newline at end of file
+   P_MAX_HP                      "max_hp"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Maximale Anzahl der Lebenspunkte.
+
+
+SIEHE AUCH
+==========
+
+   Props:     P_HP
+   Verwandt:  UpdateAttributes()
+
+21.April 2006 Gloinson
diff --git a/doc/props/P_MAX_OBJECTS b/doc/props/P_MAX_OBJECTS
index a76f0d1..68c008f 100644
--- a/doc/props/P_MAX_OBJECTS
+++ b/doc/props/P_MAX_OBJECTS
@@ -1,22 +1,44 @@
-NAME:
-    P_MAX_OBJECTS                  "max_objects"                  
 
-DEFINIERT IN:
-    /sys/container.h
+P_MAX_OBJECTS
+*************
 
-BESCHREIBUNG:
-     Maximale Anzahl an Objekten, die in einen Container passen.
-     P_MAX_OBJECTS sollte im Normfall zwischen 0 - 100 liegen.
 
-BEMERKUNGEN:
-     Soll es sich um einen herausragenden Container handeln, der zum
-     Beispiel das Gewicht um mehr als 50% reduziert, sollte P_MAX_OBJECTS
-     einen kleineren Wert haben. Das Verhaeltnis von P_MAX_WEIGHT,
-     P_WEIGHT_PERCENT und dieser Property sollte stimmen.
+NAME
+====
 
-BEISPIELE:
-     Als Beispiel sollte man sich das Postpaket ansehen und sich an dessen
-     Werten orientieren (/p/service/loco/obj/parcel).
+   P_MAX_OBJECTS                  "max_objects"
 
-SIEHE AUCH:
-     P_MAX_WEIGHT, P_WEIGHT_PERCENT, P_LIGHT_TRANSPARENCY, container
+
+DEFINIERT IN
+============
+
+   /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+   Maximale Anzahl an Objekten, die in einen Container passen.
+   P_MAX_OBJECTS sollte im Normfall zwischen 0 - 100 liegen.
+
+
+BEMERKUNGEN
+===========
+
+   Soll es sich um einen herausragenden Container handeln, der zum
+   Beispiel das Gewicht um mehr als 50% reduziert, sollte P_MAX_OBJECTS
+   einen kleineren Wert haben. Das Verhaeltnis von P_MAX_WEIGHT,
+   P_WEIGHT_PERCENT und dieser Property sollte stimmen.
+
+
+BEISPIELE
+=========
+
+   Als Beispiel sollte man sich das Postpaket ansehen und sich an dessen
+   Werten orientieren (/p/service/loco/obj/parcel).
+
+
+SIEHE AUCH
+==========
+
+   P_MAX_WEIGHT, P_WEIGHT_PERCENT, P_LIGHT_TRANSPARENCY, container
diff --git a/doc/props/P_MAX_PASSENGERS b/doc/props/P_MAX_PASSENGERS
index b0bc6a5..32e5f27 100644
--- a/doc/props/P_MAX_PASSENGERS
+++ b/doc/props/P_MAX_PASSENGERS
@@ -1,9 +1,22 @@
-NAME:
-    P_MAX_PASSENGERS              "maxpass"                     
 
-DEFINIERT IN:
-    /sys/transport.h
+P_MAX_PASSENGERS
+****************
 
-BESCHREIBUNG:
-     Numerischer Wert fuer die maximale Anzahl von Wesen in dem Transporter.
-     0 bedeutet unbeschaenkte Spielerzahl.
+
+NAME
+====
+
+   P_MAX_PASSENGERS              "maxpass"
+
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert fuer die maximale Anzahl von Wesen in dem Transporter.
+   0 bedeutet unbeschaenkte Spielerzahl.
diff --git a/doc/props/P_MAX_POISON b/doc/props/P_MAX_POISON
index 35b8e9b..0d39dc4 100644
--- a/doc/props/P_MAX_POISON
+++ b/doc/props/P_MAX_POISON
@@ -1,8 +1,21 @@
-NAME:
-    P_MAX_POISON                  "max_poison"                  
 
-DEFINIERT IN:
-    /sys/properties.h
+P_MAX_POISON
+************
 
-BESCHREIBUNG:
-     Maximale Vergiftung
+
+NAME
+====
+
+   P_MAX_POISON                  "max_poison"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Maximale Vergiftung
diff --git a/doc/props/P_MAX_SP b/doc/props/P_MAX_SP
index 307aaf5..7f7aa43 100644
--- a/doc/props/P_MAX_SP
+++ b/doc/props/P_MAX_SP
@@ -1,14 +1,30 @@
-NAME:
-    P_MAX_SP                      "max_sp"
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_MAX_SP
+********
 
-BESCHREIBUNG:
-     Maximale Anzahl der Magiepunkte.
 
-SIEHE AUCH:
-     Props:	P_SP
-     Verwandt:	UpdateAttributes()
+NAME
+====
 
-21.April 2006 Gloinson
\ No newline at end of file
+   P_MAX_SP                      "max_sp"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Maximale Anzahl der Magiepunkte.
+
+
+SIEHE AUCH
+==========
+
+   Props:     P_SP
+   Verwandt:  UpdateAttributes()
+
+21.April 2006 Gloinson
diff --git a/doc/props/P_MAX_WEIGHT b/doc/props/P_MAX_WEIGHT
index 7e2f16b..abd0942 100644
--- a/doc/props/P_MAX_WEIGHT
+++ b/doc/props/P_MAX_WEIGHT
@@ -1,19 +1,38 @@
-NAME:
-    P_MAX_WEIGHT                  "max_weight"                  
 
-DEFINIERT IN:
-    /sys/container.h
+P_MAX_WEIGHT
+************
 
-BESCHREIBUNG:
-     Maximales Gewicht in Gramm, das in dem Container verstaut werden
-     kann.
 
-BEMERKUNGEN:
-     Das Verhaeltnis von P_WEIGHT_PERCENT, P_MAX_OBJECTS und dieser Property
-     sollte stimmen. Eine feste Grenze gibt es nicht. Als Beispiel kann 
-     das Postpaket von Loco unter /p/servive/loco/obj herangezogen werden.
-     Bessere Werte als in diesem sollte es nicht, und wenn doch nur gut be-
-     gruendet, geben.
+NAME
+====
 
-SIEHE AUCH:
-     P_WEIGHT_PERCENT, P_MAX_OBJECTS, P_LIGHT_TRANSPARENCY, container
+   P_MAX_WEIGHT                  "max_weight"
+
+
+DEFINIERT IN
+============
+
+   /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+   Maximales Gewicht in Gramm, das in dem Container verstaut werden
+   kann.
+
+
+BEMERKUNGEN
+===========
+
+   Das Verhaeltnis von P_WEIGHT_PERCENT, P_MAX_OBJECTS und dieser Property
+   sollte stimmen. Eine feste Grenze gibt es nicht. Als Beispiel kann
+   das Postpaket von Loco unter /p/servive/loco/obj herangezogen werden.
+   Bessere Werte als in diesem sollte es nicht, und wenn doch nur gut be-
+   gruendet, geben.
+
+
+SIEHE AUCH
+==========
+
+   P_WEIGHT_PERCENT, P_MAX_OBJECTS, P_LIGHT_TRANSPARENCY, container
diff --git a/doc/props/P_MESSAGE_BEEP b/doc/props/P_MESSAGE_BEEP
index 9e40fa5..6ecf718 100644
--- a/doc/props/P_MESSAGE_BEEP
+++ b/doc/props/P_MESSAGE_BEEP
@@ -1,19 +1,38 @@
-NAME:
-    P_MESSAGE_BEEP                        "message_beep"
 
-DEFINIERT IN:
-    /sys/player/comm.h
+P_MESSAGE_BEEP
+**************
 
-BESCHREIBUNG:
-     Wertebereich: int=0..3600 (Sekunden)
-     Wenn gesetzt wird in der Kommunikation des Spielers in den angegebenen
-     Zeitraeumen ein Signalton ausgegeben. Wird in player/comm.c in comm_beep()
-     verarbeitet.
-     Ausgabe erfolgt nur, wenn P_VISUALBELL nicht gesetzt ist.
-     Wird im Spielerobjekt gespeichert!
 
-SIEHE AUCH:
-     klingelton, ton, P_VISUALBELL, P_MESSAGE_LAST_BEEP
+NAME
+====
 
-LETZTE AENDERUNG:
+   P_MESSAGE_BEEP                        "message_beep"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+   Wertebereich: int=0..3600 (Sekunden)
+   Wenn gesetzt wird in der Kommunikation des Spielers in den angegebenen
+   Zeitraeumen ein Signalton ausgegeben. Wird in player/comm.c in comm_beep()
+   verarbeitet.
+   Ausgabe erfolgt nur, wenn P_VISUALBELL nicht gesetzt ist.
+   Wird im Spielerobjekt gespeichert!
+
+
+SIEHE AUCH
+==========
+
+   klingelton, ton, P_VISUALBELL, P_MESSAGE_LAST_BEEP
+
+
+LETZTE AENDERUNG
+================
+
    16. Mai 2007  Ennox
diff --git a/doc/props/P_MESSAGE_PREPEND b/doc/props/P_MESSAGE_PREPEND
index ee44dda..be54d65 100644
--- a/doc/props/P_MESSAGE_PREPEND
+++ b/doc/props/P_MESSAGE_PREPEND
@@ -1,18 +1,37 @@
-NAME:
-    P_MESSAGE_PREPEND                        "message_prepend"
 
-DEFINIERT IN:
-    /sys/player/comm.h
+P_MESSAGE_PREPEND
+*****************
 
-BESCHREIBUNG:
-     Wertebereich: int = 0,1
-     Wenn vom Ziel eingeschaltet, wird von teile mit (_tell) und sag (_communicate) das 
-     BS_PREPEND_INDENT Flag fuer break_string genutzt, um den Indent (Sender) ggf.
-     vor dem Textblock anzuzeigen.
-     Wird im Spielerobjekt gespeichert!
 
-SIEHE AUCH:
-     grafik aus, break_string, senderwiederholung
+NAME
+====
 
-LETZTE AENDERUNG:
+   P_MESSAGE_PREPEND                        "message_prepend"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+   Wertebereich: int = 0,1
+   Wenn vom Ziel eingeschaltet, wird von teile mit (_tell) und sag (_communicate) das
+   BS_PREPEND_INDENT Flag fuer break_string genutzt, um den Indent (Sender) ggf.
+   vor dem Textblock anzuzeigen.
+   Wird im Spielerobjekt gespeichert!
+
+
+SIEHE AUCH
+==========
+
+   grafik aus, break_string, senderwiederholung
+
+
+LETZTE AENDERUNG
+================
+
    16. Mai 2007  Ennox
diff --git a/doc/props/P_MIN_STOCK b/doc/props/P_MIN_STOCK
index d896fb3..3be8d4e 100644
--- a/doc/props/P_MIN_STOCK
+++ b/doc/props/P_MIN_STOCK
@@ -1,37 +1,55 @@
-NAME:
-	P_MIN_STOCK			"min_stock"
 
-DEFINIERT IN:
-	/sys/bank.h
+P_MIN_STOCK
+***********
 
-BESCHREIBUNG:
-	P_MIN_STOCK enthaelt die Anzahl an Objekten, die ein Lager eines
-	Ladens minimal behaelt. Standardmaessig entspricht dies 20 Objekten
-	und sollte auch nicht wesentlich erhoeht werden. Nur fuer
-	Anfaengergebiete waeren Werte zwischen 20 und 60 akzeptabel. In die
-	Berechnung der Anzahl von Objekten gehen keine Objekte ein, die im
-	Laden mittels AddFixedObject() staendig verfuegbar gemacht worden
-	sind und auch keine Objekte, die per AddItem() im Lager hinzugefuegt
-	wurden und nach jedem Reset aufgefrischt werden.
-	Bei jedem Reset wird nun aus Speicher- und Laggruenden das Lager um
-	eine bestimmte Prozentzahl an Objekten dezimiert. Entscheidend
-	dafuer ist der Wert in der Property P_STORE_CONSUME.
-	Beide hier erwaehnten Properties sollten ueberigens nur mittels
-	QueryProp/SetProp ausgelesen bzw. veraendert werden.
 
-BEISPIEL:
-	In '/std/store.c' befindet sich bereits ein gutes Beispiel, da dort
-	der Standardwert von 20 Objekten bereitgestellt wird:
-	  create()
-	  { ...
-	    SetProp(P_MIN_STOCK,20);
-	  }
-	Diesen Wert kann man in einem davon abgeleiteten eigenen Lager
-	natuerlich auch veraendern.
+NAME
+====
 
-SIEHE AUCH:
-	P_STORE_CONSUME, SetStorageRoom(), /std/store.c, /std/shop.c
-	AddItem(), RemoveItem(), AddFixedObject(), RemoveFixedObject()
+   P_MIN_STOCK                     "min_stock"
 
-----------------------------------------------------------------------------
-Last modified: 19-Jun-2015, Arathorn 
+
+DEFINIERT IN
+============
+
+   /sys/bank.h
+
+
+BESCHREIBUNG
+============
+
+   P_MIN_STOCK enthaelt die Anzahl an Objekten, die ein Lager eines
+   Ladens minimal behaelt. Standardmaessig entspricht dies 20 Objekten
+   und sollte auch nicht wesentlich erhoeht werden. Nur fuer
+   Anfaengergebiete waeren Werte zwischen 20 und 60 akzeptabel. In die
+   Berechnung der Anzahl von Objekten gehen keine Objekte ein, die im
+   Laden mittels AddFixedObject() staendig verfuegbar gemacht worden
+   sind und auch keine Objekte, die per AddItem() im Lager hinzugefuegt
+   wurden und nach jedem Reset aufgefrischt werden.
+   Bei jedem Reset wird nun aus Speicher- und Laggruenden das Lager um
+   eine bestimmte Prozentzahl an Objekten dezimiert. Entscheidend
+   dafuer ist der Wert in der Property P_STORE_CONSUME.
+   Beide hier erwaehnten Properties sollten ueberigens nur mittels
+   QueryProp/SetProp ausgelesen bzw. veraendert werden.
+
+
+BEISPIEL
+========
+
+   In '/std/store.c' befindet sich bereits ein gutes Beispiel, da dort
+   der Standardwert von 20 Objekten bereitgestellt wird:
+     create()
+     { ...
+       SetProp(P_MIN_STOCK,20);
+     }
+   Diesen Wert kann man in einem davon abgeleiteten eigenen Lager
+   natuerlich auch veraendern.
+
+
+SIEHE AUCH
+==========
+
+   P_STORE_CONSUME, SetStorageRoom(), /std/store.c, /std/shop.c
+   AddItem(), RemoveItem(), AddFixedObject(), RemoveFixedObject()
+
+Last modified: 19-Jun-2015, Arathorn
diff --git a/doc/props/P_MMSGIN b/doc/props/P_MMSGIN
index cd8e84e..98d37f3 100644
--- a/doc/props/P_MMSGIN
+++ b/doc/props/P_MMSGIN
@@ -1,9 +1,22 @@
-NAME:
-    P_MMSGIN                      "mmsgin"                      
 
-DEFINIERT IN:
-    /sys/player/moving.h
+P_MMSGIN
+********
 
-BESCHREIBUNG:
-     String mit der Meldung, die beim Verlassen eines Raumes mit M_TPORT
-     an die uebrigen Anwesenden ausgegeben wird.
+
+NAME
+====
+
+   P_MMSGIN                      "mmsgin"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/moving.h
+
+
+BESCHREIBUNG
+============
+
+   String mit der Meldung, die beim Verlassen eines Raumes mit M_TPORT
+   an die uebrigen Anwesenden ausgegeben wird.
diff --git a/doc/props/P_MMSGOUT b/doc/props/P_MMSGOUT
index defd09f..6035ba8 100644
--- a/doc/props/P_MMSGOUT
+++ b/doc/props/P_MMSGOUT
@@ -1,9 +1,22 @@
-NAME:
-    P_MMSGOUT                     "mmsgout"                     
 
-DEFINIERT IN:
-    /sys/player/moving.h
+P_MMSGOUT
+*********
 
-BESCHREIBUNG:
-     String mit der Meldung, die beim Betreten eines Raumes mit M_TPORT
-     an die uebrigen Anwesenden ausgegeben wird.
+
+NAME
+====
+
+   P_MMSGOUT                     "mmsgout"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/moving.h
+
+
+BESCHREIBUNG
+============
+
+   String mit der Meldung, die beim Betreten eines Raumes mit M_TPORT
+   an die uebrigen Anwesenden ausgegeben wird.
diff --git a/doc/props/P_MSGIN b/doc/props/P_MSGIN
index cf14a91..f5d90f8 100644
--- a/doc/props/P_MSGIN
+++ b/doc/props/P_MSGIN
@@ -1,9 +1,22 @@
-NAME:
-    P_MSGIN                       "msgin"                       
 
-DEFINIERT IN:
-    /sys/player/moving.h
+P_MSGIN
+*******
 
-BESCHREIBUNG:
-     String mit der Meldung, die beim Betreten eines Raumes mit M_GO
-     an die uebrigen Anwesenden ausgegeben wird.
+
+NAME
+====
+
+   P_MSGIN                       "msgin"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/moving.h
+
+
+BESCHREIBUNG
+============
+
+   String mit der Meldung, die beim Betreten eines Raumes mit M_GO
+   an die uebrigen Anwesenden ausgegeben wird.
diff --git a/doc/props/P_MSGOUT b/doc/props/P_MSGOUT
index 0587afb..95a8545 100644
--- a/doc/props/P_MSGOUT
+++ b/doc/props/P_MSGOUT
@@ -1,9 +1,22 @@
-NAME:
-    P_MSGOUT                      "msgout"                      
 
-DEFINIERT IN:
-    /sys/player/moving.h
+P_MSGOUT
+********
 
-BESCHREIBUNG:
-     String mit der Meldung, die beim Verlassen eines Raumes mit M_GO
-     an die uebrigen Anwesenden ausgegeben wird.
+
+NAME
+====
+
+   P_MSGOUT                      "msgout"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/moving.h
+
+
+BESCHREIBUNG
+============
+
+   String mit der Meldung, die beim Verlassen eines Raumes mit M_GO
+   an die uebrigen Anwesenden ausgegeben wird.
diff --git a/doc/props/P_MSG_PROB b/doc/props/P_MSG_PROB
index d520067..b4465df 100644
--- a/doc/props/P_MSG_PROB
+++ b/doc/props/P_MSG_PROB
@@ -1,19 +1,35 @@
-NAME:
-    P_MSG_PROB                    "msg_prob"                    
 
-DEFINIERT IN:
-    /sys/room/description.h
+P_MSG_PROB
+**********
 
-BESCHREIBUNG:
-     Parameter fuer die Wartezeit in Sekunden bis zur naechsten Ausgabe
-     einer Raumnachricht.
-     Wird in AddRoomMessage() explizit mitgesetzt. Koennte natuerlich von
-     einer Nachrichtenmethode auch regelmaessig geaendert werden, um
-     mehr Zufall in die Intervalle zu bringen.
 
-SIEHE AUCH:
-     LFuns:    AddRoomMessage()
-     Props:    P_ROOM_MSG, P_MSG_PROB
-     Verwandt: call_out()
+NAME
+====
+
+   P_MSG_PROB                    "msg_prob"
+
+
+DEFINIERT IN
+============
+
+   /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+   Parameter fuer die Wartezeit in Sekunden bis zur naechsten Ausgabe
+   einer Raumnachricht.
+   Wird in AddRoomMessage() explizit mitgesetzt. Koennte natuerlich von
+   einer Nachrichtenmethode auch regelmaessig geaendert werden, um
+   mehr Zufall in die Intervalle zu bringen.
+
+
+SIEHE AUCH
+==========
+
+   LFuns:    AddRoomMessage()
+   Props:    P_ROOM_MSG, P_MSG_PROB
+   Verwandt: call_out()
 
 2.Feb 2016 Gloinson
diff --git a/doc/props/P_MUD_NEWBIE b/doc/props/P_MUD_NEWBIE
index bebb77f..71801eb 100644
--- a/doc/props/P_MUD_NEWBIE
+++ b/doc/props/P_MUD_NEWBIE
@@ -1,17 +1,31 @@
-NAME:
-    P_MUD_NEWBIE                      "_lib_mud_newbie" 
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_MUD_NEWBIE
+************
 
-BESCHREIBUNG:
-    Der Spieler hat bei Erstellung des Charakters angegeben, noch nie in einem
-    Mud gespielt zu haben. In diesem Fall enthaelt die Property den
-    Zeitstempel der Charaktererstellung.
 
-    ACHTUNG: Diese Prop wird nicht gespeichert, d.h. nachdem ein solcher
-    Spieler "ende" gemacht hat oder ein Reboot erfolgte, ist diese Information
-    verloren.
+NAME
+====
 
-SIEHE AUCH:
+   P_MUD_NEWBIE                      "_lib_mud_newbie"
 
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Der Spieler hat bei Erstellung des Charakters angegeben, noch nie in einem
+   Mud gespielt zu haben. In diesem Fall enthaelt die Property den
+   Zeitstempel der Charaktererstellung.
+
+   ACHTUNG: Diese Prop wird nicht gespeichert, d.h. nachdem ein solcher
+   Spieler "ende" gemacht hat oder ein Reboot erfolgte, ist diese Information
+   verloren.
+
+
+SIEHE AUCH
+==========
diff --git a/doc/props/P_MURDER_MSG b/doc/props/P_MURDER_MSG
index 63d594c..c565cfa 100644
--- a/doc/props/P_MURDER_MSG
+++ b/doc/props/P_MURDER_MSG
@@ -1,63 +1,83 @@
+
 P_MURDER_MSG
-
-NAME:
-     P_MURDER_MSG			"murder_msg"
-
-DEFINIERT IN:
-     /sys/properties.h
-
-BESCHREIBUNG:
-     In dieser Property kann man einen String oder eine Closure ablegen
-     dessen Wert bzw. deren Resultat beim Tod des NPCs auf dem
-     Moerder-Kanal erscheint.
-     Normalerweise ist die Property nicht gesetzt, woraufhin zufaellig
-     eine Meldung generiert wird.
-
-     Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon ab,
-     wie oft und welche Art von NPCs in der letzten Zeit getoetet wurden. Zum
-     Beispiel ist es eher selten, dass ein schwacher NPC auf dem Kanal
-     erscheint, wenn kuerzlich viele starke NPCs getoetet wurden. Allerdings
-     kann man auf diese Regelung mittels der Property P_FORCE_MURDER_MSG
-     Einfluss nehmen.
-
-     Wird in einen String der Platzhalter %s eingefuegt, so erscheint an der
-     Stelle spaeter der Name des Moerders.
-
-BEISPIELE:
-     // Zum Beispiel koennte man ja bei einer Ratte, die getoetet wird,
-     // folgendes auf dem Moerder-Kanal ausgeben lassen:
-     SetProp(P_MURDER_MSG,
-       "Ratten aller MUDs, vereinigt euch gegen %s!");
+************
 
 
-     // Um auch mal eine Closure zu zeigen: die Ratte koennte auch ihre
-     // Meldung erst bei ihrem Tod erstellen lassen:
-     private string moerder_meldung() {
-       return ({"Achweh!", "Au!", "Weia!"})[random(3)];
-     }
+NAME
+====
 
-     SetProp(P_MURDER_MSG, #'moerder_meldung);
+   P_MURDER_MSG                       "murder_msg"
 
-BEMERKUNGEN:
-     - P_NOCORPSE:
-       Ist in dem NPC die Property P_NOCORPSE gesetzt, so wird die
-       Moerdermeldung nicht auf dem Kanal gesendet, da diese Ausgabe ueber
-       /std/corpse laeuft.
-       Will man dennoch eine Meldung, so sollte man /std/corpse im die()
-       selbst clonen, daran Identify(this_object()) rufen und das geclonte
-       Objekt wieder entsorgen.
 
-     - Closures:
-       Closures bieten sich an, wenn ein zentrales Objekt fuer mehrere NPCs
-       bestimmte Moerdermeldungen generieren soll. Dann muss nur noch bei
-       den NPCs die Closure, die auf die erstellende Methode zeigt gesetzt
-       werden.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     Tod:		die(L)
-     Verwandt:		P_FORCE_MURDER_MSG
-     Todesmeldungen:	P_KILL_NAME, P_KILL_MSG, P_DIE_MSG
-			P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
-     Sonstiges:		P_CORPSE, P_NOCORPSE, /std/corpse.c
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property kann man einen String oder eine Closure ablegen
+   dessen Wert bzw. deren Resultat beim Tod des NPCs auf dem
+   Moerder-Kanal erscheint.
+   Normalerweise ist die Property nicht gesetzt, woraufhin zufaellig
+   eine Meldung generiert wird.
+
+   Ob der Tod eines NPCs auf dem Moerder-Kanal erscheint, haengt davon ab,
+   wie oft und welche Art von NPCs in der letzten Zeit getoetet wurden. Zum
+   Beispiel ist es eher selten, dass ein schwacher NPC auf dem Kanal
+   erscheint, wenn kuerzlich viele starke NPCs getoetet wurden. Allerdings
+   kann man auf diese Regelung mittels der Property P_FORCE_MURDER_MSG
+   Einfluss nehmen.
+
+   Wird in einen String der Platzhalter %s eingefuegt, so erscheint an der
+   Stelle spaeter der Name des Moerders.
+
+
+BEISPIELE
+=========
+
+   // Zum Beispiel koennte man ja bei einer Ratte, die getoetet wird,
+   // folgendes auf dem Moerder-Kanal ausgeben lassen:
+   SetProp(P_MURDER_MSG,
+     "Ratten aller MUDs, vereinigt euch gegen %s!");
+
+
+   // Um auch mal eine Closure zu zeigen: die Ratte koennte auch ihre
+   // Meldung erst bei ihrem Tod erstellen lassen:
+   private string moerder_meldung() {
+     return ({"Achweh!", "Au!", "Weia!"})[random(3)];
+   }
+
+   SetProp(P_MURDER_MSG, #'moerder_meldung);
+
+
+BEMERKUNGEN
+===========
+
+   - P_NOCORPSE:
+     Ist in dem NPC die Property P_NOCORPSE gesetzt, so wird die
+     Moerdermeldung nicht auf dem Kanal gesendet, da diese Ausgabe ueber
+     /std/corpse laeuft.
+     Will man dennoch eine Meldung, so sollte man /std/corpse im die()
+     selbst clonen, daran Identify(this_object()) rufen und das geclonte
+     Objekt wieder entsorgen.
+
+   - Closures:
+     Closures bieten sich an, wenn ein zentrales Objekt fuer mehrere NPCs
+     bestimmte Moerdermeldungen generieren soll. Dann muss nur noch bei
+     den NPCs die Closure, die auf die erstellende Methode zeigt gesetzt
+     werden.
+
+
+SIEHE AUCH
+==========
+
+   Tod:               die(L)
+   Verwandt:          P_FORCE_MURDER_MSG
+   Todesmeldungen:    P_KILL_NAME, P_KILL_MSG, P_DIE_MSG
+                      P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
+   Sonstiges:         P_CORPSE, P_NOCORPSE, /std/corpse.c
 
 30. Mai 2006, Gloinson
diff --git a/doc/props/P_M_ATTR_MOD b/doc/props/P_M_ATTR_MOD
index 8a79717..d279484 100644
--- a/doc/props/P_M_ATTR_MOD
+++ b/doc/props/P_M_ATTR_MOD
@@ -1,42 +1,64 @@
-NAME:
-    P_M_ATTR_MOD                  "magic_attributes_modifier"
 
-DEFINIERT IN:
-    /sys/living/attributes.h
+P_M_ATTR_MOD
+************
 
-BESCHREIBUNG:
-    Mapping, das die Attribute des Spielers veraendert, der diese Ruestung
-    bzw. Waffe traegt bzw. benutzt.
 
-    Zu beachten:
-    P_M_ATTR_MOD kann problemlos durch ein SetProp() gesetzt werden. Es wird
-    nur dann beruecksichtigt, wenn die Ruestung/Waffe getragen/benutzt wird.
-    Beim Tragen/Ausziehen/Zuecken/Wegstecken wird im Spieler automatisch
-    UpdateAttributes() aufgerufen.
+NAME
+====
 
-    Fuer Krankheiten etc. oder Objekte, deren *Besitz* allein schon die
-    Attribute veraendern sollen, verwendet man besser P_X_ATTR_MOD.
+   P_M_ATTR_MOD                  "magic_attributes_modifier"
 
-    P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten
-    positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert,
-    CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert.
 
-BEMERKUNGEN:
-    Die Werte sollten moeglichst nicht dynamisch geaendert werden.
-    Wenn doch, muss mit TestLimitViolation() am Spieler auf Validitaet
-    geprueft und ggf. mit UpdateAttributes() an ihm upgedatet werden.
+DEFINIERT IN
+============
 
-BEISPIELE:
-    // Dem Spieler, der das Objekt benutzt, wird 2 von A_INT abgezogen und
-    // dafuer 1 auf A_STR aufaddiert.
-    SetProp(P_M_ATTR_MOD, ([A_INT:-2, A_STR:1]) );
+   /sys/living/attributes.h
 
-SIEHE AUCH:
-    QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
-    SetAttribute(), SetRealAttribute(), UpdateAttributes(),
-    SetTimedAttrModifier(), QueryTimedAttrModifier(),
-    DeleteTimedAttrModifier(),
-    P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
-    P_TIMED_ATTR_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+
+BESCHREIBUNG
+============
+
+   Mapping, das die Attribute des Spielers veraendert, der diese Ruestung
+   bzw. Waffe traegt bzw. benutzt.
+
+   Zu beachten:
+   P_M_ATTR_MOD kann problemlos durch ein SetProp() gesetzt werden. Es wird
+   nur dann beruecksichtigt, wenn die Ruestung/Waffe getragen/benutzt wird.
+   Beim Tragen/Ausziehen/Zuecken/Wegstecken wird im Spieler automatisch
+   UpdateAttributes() aufgerufen.
+
+   Fuer Krankheiten etc. oder Objekte, deren *Besitz* allein schon die
+   Attribute veraendern sollen, verwendet man besser P_X_ATTR_MOD.
+
+   P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten
+   positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert,
+   CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert.
+
+
+BEMERKUNGEN
+===========
+
+   Die Werte sollten moeglichst nicht dynamisch geaendert werden.
+   Wenn doch, muss mit TestLimitViolation() am Spieler auf Validitaet
+   geprueft und ggf. mit UpdateAttributes() an ihm upgedatet werden.
+
+
+BEISPIELE
+=========
+
+   // Dem Spieler, der das Objekt benutzt, wird 2 von A_INT abgezogen und
+   // dafuer 1 auf A_STR aufaddiert.
+   SetProp(P_M_ATTR_MOD, ([A_INT:-2, A_STR:1]) );
+
+
+SIEHE AUCH
+==========
+
+   QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+   SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+   SetTimedAttrModifier(), QueryTimedAttrModifier(),
+   DeleteTimedAttrModifier(),
+   P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
+   P_TIMED_ATTR_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
 
 02.02.2016, Gloinson
diff --git a/doc/props/P_M_HEALTH_MOD b/doc/props/P_M_HEALTH_MOD
index a4c89e6..cdc3fd4 100644
--- a/doc/props/P_M_HEALTH_MOD
+++ b/doc/props/P_M_HEALTH_MOD
@@ -1,40 +1,64 @@
-NAME:
-     P_M_HEALTH_MOD                  "magic_health_modifier"
 
-DEFINIERT IN:
-     /sys/living/attributes.h
+P_M_HEALTH_MOD
+**************
 
-BESCHREIBUNG:
-     Mapping, mit dem die maximalen Lebenspunkte und Magiepunkte eines 
-     Spielers veraendert werden, der diese Ruestung/Waffe traegt/benutzt. Im 
-     Gegensatz zu P_M_ATTR_MOD erfolgt hier jedoch keine Blockade.
 
-     Zu beachten: P_M_HEALTH_MOD kann problemlos durch ein SetProp() gesetzt 
-     werden, es wird nur beruecksichtigt, wenn die Ruestung/Waffe 
-     getragen/benutzt wird. Beim tragen/ausziehen/zuecken/wegstecken wird im 
-     Spieler automatisch UpdateAttributes() aufgerufen.
+NAME
+====
 
-     Fuer Krankheiten etc. verwendet man besser die Property P_X_HEALTH_MOD.
+   P_M_HEALTH_MOD                  "magic_health_modifier"
 
-     Bitte beachten: Die positiven Modifier werden nicht mehr 1:1 auf die
-     Lebens- und Magiepunkte draufaddiert. Stattdessen wird nur noch ein 
-     gewisser Teil dort hinzuaddiert, der mit groesserer Menge von Punkten
-     zunimmt, und im unteren Bereich grob dem Wert entspricht. Das 
-     theoretische Maximum ist insgesamt 149.
 
-BEMERKUNGEN:
-     Die Werte sollten moeglichst nicht dynamisch geaendert werden.
-     Wenn doch, muss mit TestLimitViolation() am Spieler auf Validitaet 
-     geprueft werden und mit UpdateAttributes() an ihm ggf. upgedatet.
+DEFINIERT IN
+============
 
-BEISPIEL:
-     SetProp(P_M_HEALTH_MOD,([P_HP:5,P_SP:-5]));
-     // Dem Spieler, der das Objekt benutzt, wird P_MAX_HP um 5 erhoeht und
-     // P_MAX_SP um 5 erniedrigt.
+   /sys/living/attributes.h
 
-SIEHE AUCH:
-     P_X_HEALTH_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, balance
 
-LETZTE AeNDERUNG:
-    Fre,11.05.2007, 00:20 von Humni
+BESCHREIBUNG
+============
 
+   Mapping, mit dem die maximalen Lebenspunkte und Magiepunkte eines
+   Spielers veraendert werden, der diese Ruestung/Waffe traegt/benutzt. Im
+   Gegensatz zu P_M_ATTR_MOD erfolgt hier jedoch keine Blockade.
+
+   Zu beachten: P_M_HEALTH_MOD kann problemlos durch ein SetProp() gesetzt
+   werden, es wird nur beruecksichtigt, wenn die Ruestung/Waffe
+   getragen/benutzt wird. Beim tragen/ausziehen/zuecken/wegstecken wird im
+   Spieler automatisch UpdateAttributes() aufgerufen.
+
+   Fuer Krankheiten etc. verwendet man besser die Property P_X_HEALTH_MOD.
+
+   Bitte beachten: Die positiven Modifier werden nicht mehr 1:1 auf die
+   Lebens- und Magiepunkte draufaddiert. Stattdessen wird nur noch ein
+   gewisser Teil dort hinzuaddiert, der mit groesserer Menge von Punkten
+   zunimmt, und im unteren Bereich grob dem Wert entspricht. Das
+   theoretische Maximum ist insgesamt 149.
+
+
+BEMERKUNGEN
+===========
+
+   Die Werte sollten moeglichst nicht dynamisch geaendert werden.
+   Wenn doch, muss mit TestLimitViolation() am Spieler auf Validitaet
+   geprueft werden und mit UpdateAttributes() an ihm ggf. upgedatet.
+
+
+BEISPIEL
+========
+
+   SetProp(P_M_HEALTH_MOD,([P_HP:5,P_SP:-5]));
+   // Dem Spieler, der das Objekt benutzt, wird P_MAX_HP um 5 erhoeht und
+   // P_MAX_SP um 5 erniedrigt.
+
+
+SIEHE AUCH
+==========
+
+   P_X_HEALTH_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, balance
+
+
+LETZTE AeNDERUNG
+================
+
+   Fre,11.05.2007, 00:20 von Humni
diff --git a/doc/props/P_NAME b/doc/props/P_NAME
index f609cea..1fdc261 100644
--- a/doc/props/P_NAME
+++ b/doc/props/P_NAME
@@ -1,65 +1,84 @@
+
 P_NAME
+******
 
-NAME:
-     P_NAME "name"
 
-DEFINIERT IN:
-     <thing/description.h>
+NAME
+====
 
-BESCHREIBUNG:
-     In dieser Property wird der Name eines Objektes vermerkt. Wenn der Name
-     regelmaessig dekliniert wird, reicht ein einfacher String. Wird der
-     Name unregelmaessig dekliniert, so kann man ein Array von vier Strings
-     mit dem Namen im Nominativ, Genitiv, Dativ und Akkusativ (in dieser
-     Reihenfolge) angeben.
+   P_NAME "name"
 
-     Die Funktion name() behandelt recht viele Sonderfaelle; man sollte den
-     Namen also erst einmal in der Form eines einzelnen Strings pruefen.
 
-     Eine Sonderrolle nehmen Unit-Objekte ein: Hier kann man einen Namen
-     fuer den Singular und einen Namen fuer den Plural vergeben.
+DEFINIERT IN
+============
 
-     Setzt man P_NAME eines Unit-Objekts auf einen einfachen String, so wird
-     dieser als Name sowohl im Singular als auch im Plural verwendet.
+   <thing/description.h>
 
-     Uebergibt man ein Array von Strings, so wird der erste Eintrag fuer den
-     Singular und der zweite Eintrag fuer den Plural benutzt.
 
-     Bei Unit-Objekten ist es nicht moeglich, auch noch zwischen den
-     verschiedenen Faellen zu unterscheiden.
+BESCHREIBUNG
+============
 
-BEMERKUNGEN:
-     Diese Property sollte nur den reinen Namen enthalten; will man dem
-     Namen noch Adjektive voranstellen, so sollte man dies mit P_NAME_ADJ
-     bewerkstelligen, also statt
+   In dieser Property wird der Name eines Objektes vermerkt. Wenn der Name
+   regelmaessig dekliniert wird, reicht ein einfacher String. Wird der
+   Name unregelmaessig dekliniert, so kann man ein Array von vier Strings
+   mit dem Namen im Nominativ, Genitiv, Dativ und Akkusativ (in dieser
+   Reihenfolge) angeben.
 
-     SetProp(P_NAME, ({ "alter Hut", "alten Huts",
-                        "alten Hut", "alten Hut" }) );
+   Die Funktion name() behandelt recht viele Sonderfaelle; man sollte den
+   Namen also erst einmal in der Form eines einzelnen Strings pruefen.
 
-     besser
+   Eine Sonderrolle nehmen Unit-Objekte ein: Hier kann man einen Namen
+   fuer den Singular und einen Namen fuer den Plural vergeben.
 
-     SetProp(P_NAME, "Hut");
-     SetProp(P_NAME_ADJ, "alt");
+   Setzt man P_NAME eines Unit-Objekts auf einen einfachen String, so wird
+   dieser als Name sowohl im Singular als auch im Plural verwendet.
 
-     Bei Lebewesen wird lower_case(P_NAME) (bei Arrays das erste Element 
-     daraus) automatisch als LivingName gesetzt.
+   Uebergibt man ein Array von Strings, so wird der erste Eintrag fuer den
+   Singular und der zweite Eintrag fuer den Plural benutzt.
 
-BEISPIELE:
-     Ein regelmaessig deklinierbarer Name:
+   Bei Unit-Objekten ist es nicht moeglich, auch noch zwischen den
+   verschiedenen Faellen zu unterscheiden.
 
-     SetProp(P_NAME, "Arkshat");
 
-     Hier ein Beispiel fuer einen unregelmaessig deklinierbaren Namen:
+BEMERKUNGEN
+===========
 
-     SetProp(P_NAME, ({ "Drache", "Drachen", "Drachen", "Drachen" }));
+   Diese Property sollte nur den reinen Namen enthalten; will man dem
+   Namen noch Adjektive voranstellen, so sollte man dies mit P_NAME_ADJ
+   bewerkstelligen, also statt
 
-     Und schliesslich der Name eines allseits bekannten Unit-Objektes:
+   SetProp(P_NAME, ({ "alter Hut", "alten Huts",
+                      "alten Hut", "alten Hut" }) );
 
-     SetProp(P_NAME, ({ "Muenze", "Muenzen" }));
+   besser
 
-SIEHE AUCH:
-     /std/thing/description.c, name(), P_NAME_ADJ, set_living_name(),
-     find_living(), find_livings()
+   SetProp(P_NAME, "Hut");
+   SetProp(P_NAME_ADJ, "alt");
 
-----------------------------------------------------------------------------
-Last modified: 19. Okt. 2015, Arathorn. 
+   Bei Lebewesen wird lower_case(P_NAME) (bei Arrays das erste Element
+   daraus) automatisch als LivingName gesetzt.
+
+
+BEISPIELE
+=========
+
+   Ein regelmaessig deklinierbarer Name:
+
+   SetProp(P_NAME, "Arkshat");
+
+   Hier ein Beispiel fuer einen unregelmaessig deklinierbaren Namen:
+
+   SetProp(P_NAME, ({ "Drache", "Drachen", "Drachen", "Drachen" }));
+
+   Und schliesslich der Name eines allseits bekannten Unit-Objektes:
+
+   SetProp(P_NAME, ({ "Muenze", "Muenzen" }));
+
+
+SIEHE AUCH
+==========
+
+   /std/thing/description.c, name(), P_NAME_ADJ, set_living_name(),
+   find_living(), find_livings()
+
+Last modified: 19. Okt. 2015, Arathorn.
diff --git a/doc/props/P_NAME_ADJ b/doc/props/P_NAME_ADJ
index 2bf15e6..c4cc4a4 100644
--- a/doc/props/P_NAME_ADJ
+++ b/doc/props/P_NAME_ADJ
@@ -1,55 +1,72 @@
+
 P_NAME_ADJ
-
-NAME:
-     P_NAME_ADJ "name_adj"
-
-DEFINIERT IN:
-     <thing/description.h>
-
-BESCHREIBUNG:
-     Diese Property enthaelt ein oder mehrere Adjektive in Form eines Arrays
-     von Strings. Es ist nur der Wortstamm anzugeben! Die Adjektive werden
-     von der Funktion name() dekliniert und vor den Namen gesetzt, wirken
-     also als Aufzaehlung von Adjektiven vor dem Namen.
-
-     Die hier angegebenen Adjektive dienen nur zur Ausgabe! Soll sich das
-     Objekt auch ueber Adjektive ansprechen lassen, muss man diese mit
-     AddAdjective() uebergeben.
-
-     Soll das Objekt nur ein einzelnes Namensadjektiv besitzen, kann man dem
-     SetProp()-Aufruf auch einen String uebergeben; gespeichert wird die
-     Property aber in jedem Fall als Array.
-
-     Wenn ein Adjektiv unregelmaessig ist, kann man die vier Faelle auch
-     als Array uebergeben. Man muss dann aber Arrays schachteln, damit von den
-     mehrfachen Adjektiven unterschieden werden kann.
-	
-BEISPIELE:
-     SetProp(P_NAME, "Hut");
-     SetProp(P_NAME_ADJ, "alt");
-
-     name(WESSEN,1)      => "des alten Huts"
+**********
 
 
-     // Zwei Adjektive, gleichrangig zu Substantiv
-     SetProp(P_NAME_ADJ, ({"alt", "gammelig"}));
+NAME
+====
 
-     name(WESSEN,1)      => "des alten, gammeligen Huts"
+   P_NAME_ADJ "name_adj"
 
 
-     // Zwei Adjektive, erstes ist Attribut zu zweitem
-     falsch:  SetProp(P_NAME_ADJ, ({"gruen", "gestreift"}));
-              name(WESSEN,1)      => "des gruenen, gestreiften Huts"
-     richtig: SetProp(P_NAME_ADJ, ({"gruen gestreift"}));
-              name(WESSEN,1)      => "des gruen gestreiften Huts"
+DEFINIERT IN
+============
 
-     // Unregelmaessiges Adjektiv
-     SetProp( P_NAME_ADJ,({({"rosa","rosa","rosa","rosa"})});
-              name(WESSEN,1)         => "des rosa Huts"
-     // Ohne inneres Array haette man 4 mal rosa als Adjektiv
-     // => "des rosaen, rosaen, rosaen, rosaen Huts"
+   <thing/description.h>
 
-SIEHE AUCH:
-     /std/thing/description.c, name(), P_NAME, DeclAdj()
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt ein oder mehrere Adjektive in Form eines Arrays
+   von Strings. Es ist nur der Wortstamm anzugeben! Die Adjektive werden
+   von der Funktion name() dekliniert und vor den Namen gesetzt, wirken
+   also als Aufzaehlung von Adjektiven vor dem Namen.
+
+   Die hier angegebenen Adjektive dienen nur zur Ausgabe! Soll sich das
+   Objekt auch ueber Adjektive ansprechen lassen, muss man diese mit
+   AddAdjective() uebergeben.
+
+   Soll das Objekt nur ein einzelnes Namensadjektiv besitzen, kann man dem
+   SetProp()-Aufruf auch einen String uebergeben; gespeichert wird die
+   Property aber in jedem Fall als Array.
+
+   Wenn ein Adjektiv unregelmaessig ist, kann man die vier Faelle auch
+   als Array uebergeben. Man muss dann aber Arrays schachteln, damit von den
+   mehrfachen Adjektiven unterschieden werden kann.
+
+
+BEISPIELE
+=========
+
+   SetProp(P_NAME, "Hut");
+   SetProp(P_NAME_ADJ, "alt");
+
+   name(WESSEN,1)      => "des alten Huts"
+
+
+   // Zwei Adjektive, gleichrangig zu Substantiv
+   SetProp(P_NAME_ADJ, ({"alt", "gammelig"}));
+
+   name(WESSEN,1)      => "des alten, gammeligen Huts"
+
+
+   // Zwei Adjektive, erstes ist Attribut zu zweitem
+   falsch:  SetProp(P_NAME_ADJ, ({"gruen", "gestreift"}));
+            name(WESSEN,1)      => "des gruenen, gestreiften Huts"
+   richtig: SetProp(P_NAME_ADJ, ({"gruen gestreift"}));
+            name(WESSEN,1)      => "des gruen gestreiften Huts"
+
+   // Unregelmaessiges Adjektiv
+   SetProp( P_NAME_ADJ,({({"rosa","rosa","rosa","rosa"})});
+            name(WESSEN,1)         => "des rosa Huts"
+   // Ohne inneres Array haette man 4 mal rosa als Adjektiv
+   // => "des rosaen, rosaen, rosaen, rosaen Huts"
+
+
+SIEHE AUCH
+==========
+
+   /std/thing/description.c, name(), P_NAME, DeclAdj()
 
 23.April 2007 Rumata
diff --git a/doc/props/P_NEEDED_QP b/doc/props/P_NEEDED_QP
index e38f9eb..2df4c78 100644
--- a/doc/props/P_NEEDED_QP
+++ b/doc/props/P_NEEDED_QP
@@ -1,15 +1,31 @@
-NAME:
-    P_NEEDED_QP                   "needed_qp"                   
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_NEEDED_QP
+***********
 
-BESCHREIBUNG:
-     APs, die man fuer den Seherstatus braucht
 
-     Diese Property ist mittlerweile obsolet. Die
-     aktuell geltenden Seher-Anforderungen stehen in
-     /secure/lepmaster.h
+NAME
+====
 
-LETZTE AENDERUNG:
-     2006-09-30, Zook.
\ No newline at end of file
+   P_NEEDED_QP                   "needed_qp"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   APs, die man fuer den Seherstatus braucht
+
+   Diese Property ist mittlerweile obsolet. Die
+   aktuell geltenden Seher-Anforderungen stehen in
+   /secure/lepmaster.h
+
+
+LETZTE AENDERUNG
+================
+
+   2006-09-30, Zook.
diff --git a/doc/props/P_NETDEAD_ENV b/doc/props/P_NETDEAD_ENV
index b2d6317..2e46f5d 100644
--- a/doc/props/P_NETDEAD_ENV
+++ b/doc/props/P_NETDEAD_ENV
@@ -1,24 +1,43 @@
-NAME:
-    P_NETDEAD_ENV                  "netdead_env"
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_NETDEAD_ENV
+*************
 
-BESCHREIBUNG:
-    Diese Property kann in netztoten Spielern abgefragt werden,
-		um herauszufinden, in welchem Raum sie netztot geworden sind.
 
-		Es wird der selbe Wert zurueckgegeben, den die Mudlib benutzen
-		wuerde, um die Spieler beim reconnect wieder an den richtigen
-		ort zu bringen. Das ist normalerweise das Raumobjekt oder der
-		Dateiname des Raums (zum Beispiel so dieser ein clone war).
+NAME
+====
 
-		Bei nicht netztoten Spielern wird 0 zurueckgegeben.
+   P_NETDEAD_ENV                  "netdead_env"
 
-BEMERKUNGEN:
-    Diese Property ist read-only.
 
-SIEHE AUCH:
-    P_NETDEAD_INFO
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property kann in netztoten Spielern abgefragt werden,
+               um herauszufinden, in welchem Raum sie netztot geworden sind.
+
+               Es wird der selbe Wert zurueckgegeben, den die Mudlib benutzen
+               wuerde, um die Spieler beim reconnect wieder an den richtigen
+               ort zu bringen. Das ist normalerweise das Raumobjekt oder der
+               Dateiname des Raums (zum Beispiel so dieser ein clone war).
+
+               Bei nicht netztoten Spielern wird 0 zurueckgegeben.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property ist read-only.
+
+
+SIEHE AUCH
+==========
+
+   P_NETDEAD_INFO
 
 2009-08-04 Rumata
diff --git a/doc/props/P_NETDEAD_INFO b/doc/props/P_NETDEAD_INFO
index 83c36fd..fe96ac6 100644
--- a/doc/props/P_NETDEAD_INFO
+++ b/doc/props/P_NETDEAD_INFO
@@ -1,91 +1,120 @@
-NAME:
-    P_NETDEAD_INFO                "netdead_info"                
 
-DEFINIERT IN:
-    /sys/player.h
+P_NETDEAD_INFO
+**************
 
-BESCHREIBUNG:
-     Wird im Raum X gesetzt und wirkt nur, falls dieser Raum ein '#' im
-     object_name() hat (normale Clones, zB "/room/void#10153018").
-     
-     Bei Einschlafen eines Spielers in diesem Raum werden die Werte aus
-     der Property im Spieler gespeichert (Netztoteninformationen).
 
-     Ist beim Aufwachen des Spielers das Raumobjekt X zerstoert worden, dann
-     wird bei der Blueprint von X per SetProp() die gespeicherte Information
-     gesetzt. Der Rueckgabewert des SetProp wird als Pfad zu einem Ausweich-
-     Aufwach-Raum interpretiert und der Spieler wird in dem Fall dorthin
-     bewegt.
+NAME
+====
 
-BEMERKUNGEN:
-     Zum Clonen von Raeumen sollten Virtual Compiler benutzt werden:
-     Wird in den erzeugten Objektnamen KEIN '#' verwendet, dann ist diese
-     Property nicht sinnvoll und wird nicht verwendet. Ein ordentlicher
-     VC kann Bewegen eines Spielers in dessen alten, nicht mehr existierenden
-     Raum oder einen Ersatzraum beim Aufwachen selbst loesen.
+   P_NETDEAD_INFO                "netdead_info"
 
-BEISPIELE:
-     // #1: geclonter Raum mit Ausweich-Aufwachraum: Klerus-Gilde
-     #include <properties.h>
-     inherit "/std/room";
-     
-     void create() {
-       ::create();
 
-       SetProp(P_NETDEAD_INFO, "/gilden/klerus");
-       SetProp(P_LIGHT, 1);
-     }
-     
-     // #2: komplexerer Beispielraum fuer P_NETDEAD_INFO-Funktionalitaet
-     // Siehe auch: /doc/beispiele/testobjekte/netdead_info_testraum.c
-     #include <properties.h>
-     inherit "/std/room";
+DEFINIERT IN
+============
 
-     void create() {
-       ::create();
+   /sys/player.h
 
-       if (clonep(this_object()))
-         // setze Informationen, die im Netztoten gespeichert werden sollen
-         Set(P_NETDEAD_INFO, random(5));
-       else
-         // Blueprint: hier kann man zu einem Cloneraum gehen
-         AddExit("cloneraum", #'create_room);
 
-       // Set-Method, um die Informationen aus P_NETDEAD_INFO beim Aufwachen
-       // in der Blueprint auswerten zu koennen
-       Set(P_NETDEAD_INFO, #'create_destiny, F_SET_METHOD);
-       SetProp(P_LIGHT, 1);
-     }
-     
-     // Raum entfernen, normalerweise so KEINE GUTE IDEE!
-     void BecomesNetDead(object pl) {
-       call_out(#'remove, 30);
-     }
+BESCHREIBUNG
+============
 
-     // erzeuge einen Cloneraum und bewege den Spieler dahin
-     int create_room(string dir) {
-       object dest = clone_object(object_name(this_object()));
-       this_player()->move(dest, M_NOCHECK);
-       return 1;
-     }
-     
-     // Set-Method fuer P_NETDEAD_INFO: gibt Pfad zurueck
-     // benutze die Informationen aus dem jetzt aufwachenden Netztoten, um
-     // einen alternativen Aufwachraum zu ermitteln, da der Einschlafraum
-     // zerstoert ist
-     string create_destiny(mixed val) {
-       if (intp(val)) {
-         switch (val) {
-           case 0:
-             return "/d/ebene/room/PortVain/po_haf1";
-           case 1:
-             return "/gilden/klerus";
-           case 2:
-             return "/gilden/karate";
-           default:
-         }
-         return "/d/ebene/room/waldweg4";
+   Wird im Raum X gesetzt und wirkt nur, falls dieser Raum ein '#' im
+   object_name() hat (normale Clones, zB "/room/void#10153018").
+
+
+
+   Bei Einschlafen eines Spielers in diesem Raum werden die Werte aus
+   der Property im Spieler gespeichert (Netztoteninformationen).
+
+   Ist beim Aufwachen des Spielers das Raumobjekt X zerstoert worden, dann
+   wird bei der Blueprint von X per SetProp() die gespeicherte Information
+   gesetzt. Der Rueckgabewert des SetProp wird als Pfad zu einem Ausweich-
+   Aufwach-Raum interpretiert und der Spieler wird in dem Fall dorthin
+   bewegt.
+
+
+BEMERKUNGEN
+===========
+
+   Zum Clonen von Raeumen sollten Virtual Compiler benutzt werden:
+   Wird in den erzeugten Objektnamen KEIN '#' verwendet, dann ist diese
+   Property nicht sinnvoll und wird nicht verwendet. Ein ordentlicher
+   VC kann Bewegen eines Spielers in dessen alten, nicht mehr existierenden
+   Raum oder einen Ersatzraum beim Aufwachen selbst loesen.
+
+
+BEISPIELE
+=========
+
+   // #1: geclonter Raum mit Ausweich-Aufwachraum: Klerus-Gilde
+   #include <properties.h>
+   inherit "/std/room";
+
+
+
+   void create() {
+     ::create();
+
+     SetProp(P_NETDEAD_INFO, "/gilden/klerus");
+     SetProp(P_LIGHT, 1);
+   }
+
+
+
+   // #2: komplexerer Beispielraum fuer P_NETDEAD_INFO-Funktionalitaet
+   // Siehe auch: /doc/beispiele/testobjekte/netdead_info_testraum.c
+   #include <properties.h>
+   inherit "/std/room";
+
+   void create() {
+     ::create();
+
+     if (clonep(this_object()))
+       // setze Informationen, die im Netztoten gespeichert werden sollen
+       Set(P_NETDEAD_INFO, random(5));
+     else
+       // Blueprint: hier kann man zu einem Cloneraum gehen
+       AddExit("cloneraum", #'create_room);
+
+     // Set-Method, um die Informationen aus P_NETDEAD_INFO beim Aufwachen
+     // in der Blueprint auswerten zu koennen
+     Set(P_NETDEAD_INFO, #'create_destiny, F_SET_METHOD);
+     SetProp(P_LIGHT, 1);
+   }
+
+
+
+   // Raum entfernen, normalerweise so KEINE GUTE IDEE!
+   void BecomesNetDead(object pl) {
+     call_out(#'remove, 30);
+   }
+
+   // erzeuge einen Cloneraum und bewege den Spieler dahin
+   int create_room(string dir) {
+     object dest = clone_object(object_name(this_object()));
+     this_player()->move(dest, M_NOCHECK);
+     return 1;
+   }
+
+
+
+   // Set-Method fuer P_NETDEAD_INFO: gibt Pfad zurueck
+   // benutze die Informationen aus dem jetzt aufwachenden Netztoten, um
+   // einen alternativen Aufwachraum zu ermitteln, da der Einschlafraum
+   // zerstoert ist
+   string create_destiny(mixed val) {
+     if (intp(val)) {
+       switch (val) {
+         case 0:
+           return "/d/ebene/room/PortVain/po_haf1";
+         case 1:
+           return "/gilden/klerus";
+         case 2:
+           return "/gilden/karate";
+         default:
        }
+       return "/d/ebene/room/waldweg4";
      }
+   }
 
 2. Jan 2012 Gloinson
diff --git a/doc/props/P_NEVERDROP b/doc/props/P_NEVERDROP
index 80364ce..d0cdf41 100644
--- a/doc/props/P_NEVERDROP
+++ b/doc/props/P_NEVERDROP
@@ -1,29 +1,50 @@
-NAME:
-	P_NEVERDROP			"neverdrop"
 
-DEFINIERT IN:
-	/sys/thing/moving.h
+P_NEVERDROP
+***********
 
-BESCHREIBUNG:
-	Objekte, welche diese Property gesetzt haben, werden beim Tod eines
-	Lebewesens nicht automatisch in die Leiche oder in den umgebenden
-	Raum (z.B. bei bei gesetztem P_NOCORPSE) transportiert.
 
-BEMERKUNGEN:
-	Soll das Objekt vom Lebewesen nicht weggelegt werden koennen, so ist
-	die Property P_NODROP zu verwenden.
-	Beide Properties zusammen stellen sicher, dass ein Objekt nicht
-	weitergegeben werden kann.
+NAME
+====
 
-BEISPIELE:
-	Eine dauerhafte Belohnung, die auch beim Tod des Spielers bei ihm
-	verbleiben soll, setzt das so:
-	  SetProp(P_NEVERDROP,1);
-	Sollen auch Reboots ueberstanden werden, ist zusaetzlich
-	P_AUTOLOADOBJ zu setzen.
+   P_NEVERDROP                     "neverdrop"
 
-SIEHE AUCH:
-	P_NODROP, P_NOGET, P_NOCORPSE, P_AUTOLOADOBJ, /std/living/life.c
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+   Objekte, welche diese Property gesetzt haben, werden beim Tod eines
+   Lebewesens nicht automatisch in die Leiche oder in den umgebenden
+   Raum (z.B. bei bei gesetztem P_NOCORPSE) transportiert.
+
+
+BEMERKUNGEN
+===========
+
+   Soll das Objekt vom Lebewesen nicht weggelegt werden koennen, so ist
+   die Property P_NODROP zu verwenden.
+   Beide Properties zusammen stellen sicher, dass ein Objekt nicht
+   weitergegeben werden kann.
+
+
+BEISPIELE
+=========
+
+   Eine dauerhafte Belohnung, die auch beim Tod des Spielers bei ihm
+   verbleiben soll, setzt das so:
+     SetProp(P_NEVERDROP,1);
+   Sollen auch Reboots ueberstanden werden, ist zusaetzlich
+   P_AUTOLOADOBJ zu setzen.
+
+
+SIEHE AUCH
+==========
+
+   P_NODROP, P_NOGET, P_NOCORPSE, P_AUTOLOADOBJ, /std/living/life.c
+
 Last modified: Thu Jun 14 22:26:29 2001 by Patryn
diff --git a/doc/props/P_NEVER_CLEAN b/doc/props/P_NEVER_CLEAN
index 5a84820..fc568ff 100644
--- a/doc/props/P_NEVER_CLEAN
+++ b/doc/props/P_NEVER_CLEAN
@@ -1,35 +1,53 @@
-NAME:
-	P_NEVER_CLEAN			" never clean "                   
 
-DEFINIERT IN:
-	/sys/rooms.h
+P_NEVER_CLEAN
+*************
 
-BESCHREIBUNG:
-	Normalerweise wird ein Raum nach 2 Resets zerstoert, wenn er waerend
-	dieser Zeit von keinem Lebewesen betreten wurde und wenn
-	keine REFRESH_NONE- oder REFRESH_DESTRUCT-Objekte existieren, die
-	nicht mehr im Raum vorhanden sind.
-	Mit dieser Property kann man den sogenannten Clean-Up unterbinden.
 
-BEISPIEL:
-	Der folgende Raum wird nicht mehr zerstoert, wenn er einmal geladen
-	wurde:
-	  #include <properties.h>
-	  // #include <rooms.h> ... wird schon von properties.h included!
-	  inherit "std/room";
-	  void create()
-	  { ::create();
-	    SetProp(P_SHORT,"Ein toller Raum");
-	    ...
-	    SetProp(P_NEVER_CLEAN,1);
-	    ...
-	  }
-	Man sollte die Anwendung nicht uebertreiben! Wichtig ist diese
-	Funktion zum Beispiel fuer Raeume, die gleichzeitig Masterobjekte
-	darstellen.
+NAME
+====
 
-SIEHE AUCH:
-	/std/room.c
+   P_NEVER_CLEAN                   " never clean "
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/rooms.h
+
+
+BESCHREIBUNG
+============
+
+   Normalerweise wird ein Raum nach 2 Resets zerstoert, wenn er waerend
+   dieser Zeit von keinem Lebewesen betreten wurde und wenn
+   keine REFRESH_NONE- oder REFRESH_DESTRUCT-Objekte existieren, die
+   nicht mehr im Raum vorhanden sind.
+   Mit dieser Property kann man den sogenannten Clean-Up unterbinden.
+
+
+BEISPIEL
+========
+
+   Der folgende Raum wird nicht mehr zerstoert, wenn er einmal geladen
+   wurde:
+     #include <properties.h>
+     // #include <rooms.h> ... wird schon von properties.h included!
+     inherit "std/room";
+     void create()
+     { ::create();
+       SetProp(P_SHORT,"Ein toller Raum");
+       ...
+       SetProp(P_NEVER_CLEAN,1);
+       ...
+     }
+   Man sollte die Anwendung nicht uebertreiben! Wichtig ist diese
+   Funktion zum Beispiel fuer Raeume, die gleichzeitig Masterobjekte
+   darstellen.
+
+
+SIEHE AUCH
+==========
+
+   /std/room.c
+
 Last modified: Wed Feb  3 00:54:32 1999 by Patryn
diff --git a/doc/props/P_NEWSKILLS b/doc/props/P_NEWSKILLS
index 66ba1ff..7cb61c7 100644
--- a/doc/props/P_NEWSKILLS
+++ b/doc/props/P_NEWSKILLS
@@ -1,20 +1,38 @@
-NAME:
-	P_NEWSKILLS			"newskills"                   
 
-DEFINIERT IN:
-	/sys/new_skills.h
+P_NEWSKILLS
+***********
 
-BESCHREIBUNG:
-	In dieser Property sind saemtliche Skills und Spells vermerkt, die
-	das Lebewesen kennt.
 
-BEMERKUNGEN:
-	Man sollte diese Property nicht per Hand veraendern, sondern die
-	Funktionen von "/std/living/skills.c" nutzen.
+NAME
+====
 
-SIEHE AUCH:
-	ModifySkill(), LearnSkill(), UseSkill(), /std/living/skills.c,
-	P_GUILD_SKILLS, P_SB_SPELLS
+   P_NEWSKILLS                     "newskills"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property sind saemtliche Skills und Spells vermerkt, die
+   das Lebewesen kennt.
+
+
+BEMERKUNGEN
+===========
+
+   Man sollte diese Property nicht per Hand veraendern, sondern die
+   Funktionen von "/std/living/skills.c" nutzen.
+
+
+SIEHE AUCH
+==========
+
+   ModifySkill(), LearnSkill(), UseSkill(), /std/living/skills.c,
+   P_GUILD_SKILLS, P_SB_SPELLS
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_NEXT_DEATH_SEQUENCE b/doc/props/P_NEXT_DEATH_SEQUENCE
index 4ae7e7a..6992a32 100644
--- a/doc/props/P_NEXT_DEATH_SEQUENCE
+++ b/doc/props/P_NEXT_DEATH_SEQUENCE
@@ -1,48 +1,68 @@
+
 P_NEXT_DEATH_SEQUENCE
+*********************
 
-NAME:
-     P_NEXT_DEATH_SEQUENCE         "p_lib_next_death_sequence"
 
-DEFINIERT IN:
-     /sys/living/combat.h
+NAME
+====
 
-BESCHREIBUNG:
-     Im Spieler kann damit dessen eigene Todessequenz fuer den naechsten
-     Tod festgelegt werden. Nach einem Tod (egal welche Todessequenz
-     gewaehlt wurde) wird die Property geloescht und muesste neu gesetzt
-     werden.
+   P_NEXT_DEATH_SEQUENCE         "p_lib_next_death_sequence"
 
-     Es gibt folgende gueltige Werte:
-     - string: Pfad zu einer eigenen Todessequenz im gueltigen Format
-     - mixed*  Eine Todessequenz im Format des Todesraumes:
-               ({<int gesamtlaenge>,
-                 ([<int index1>: <string umgebrochene Meldung1>,
-                   <int index2>: <string umgebrochene Meldung2>,
-                   ...])
-               })
-     - mapping In die Standard-Lars-Todessequenz einzufuegende Zeilen:
-               ([<int zeitindex>: <string umgebrochener Text>])
 
-BEMERKUNGEN:
-     Eine Todessequenz eines Gegners, festgelegt ueber
-     P_ENEMY_DEATH_SEQUENCE hat Vorrang vor dieser Property.
+DEFINIERT IN
+============
 
-BEISPIELE:
-     // Pfad zu einer eigenen DSQ
-     SetProp(P_NEXT_DEATH_SEQUENCE,  ".../passende_dsq.txt");
+   /sys/living/combat.h
 
-     // eigene DSQ im Todesraumformat:
-     SetProp(P_NEXT_DEATH_SEQUENCE,
-             ({ 2, ([1: "Der Tod entlaesst dich eilig.\n"])}));
 
-     // Einfuegen einer Meldung in die Standard-Todessequenz
-     SetProp(P_NEXT_DEATH_SEQUENCE,
-             ([5: "Du fuehlst dich etwas daemlich.\n"]));
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-     Tod:            die(L)
-     Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
-                     P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
-     Sonstiges:      P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+   Im Spieler kann damit dessen eigene Todessequenz fuer den naechsten
+   Tod festgelegt werden. Nach einem Tod (egal welche Todessequenz
+   gewaehlt wurde) wird die Property geloescht und muesste neu gesetzt
+   werden.
 
-10. Nov 2011 Gloinson
\ No newline at end of file
+   Es gibt folgende gueltige Werte:
+   - string: Pfad zu einer eigenen Todessequenz im gueltigen Format
+   - mixed*  Eine Todessequenz im Format des Todesraumes:
+             ({<int gesamtlaenge>,
+               ([<int index1>: <string umgebrochene Meldung1>,
+                 <int index2>: <string umgebrochene Meldung2>,
+                 ...])
+             })
+   - mapping In die Standard-Lars-Todessequenz einzufuegende Zeilen:
+             ([<int zeitindex>: <string umgebrochener Text>])
+
+
+BEMERKUNGEN
+===========
+
+   Eine Todessequenz eines Gegners, festgelegt ueber
+   P_ENEMY_DEATH_SEQUENCE hat Vorrang vor dieser Property.
+
+
+BEISPIELE
+=========
+
+   // Pfad zu einer eigenen DSQ
+   SetProp(P_NEXT_DEATH_SEQUENCE,  ".../passende_dsq.txt");
+
+   // eigene DSQ im Todesraumformat:
+   SetProp(P_NEXT_DEATH_SEQUENCE,
+           ({ 2, ([1: "Der Tod entlaesst dich eilig.\n"])}));
+
+   // Einfuegen einer Meldung in die Standard-Todessequenz
+   SetProp(P_NEXT_DEATH_SEQUENCE,
+           ([5: "Du fuehlst dich etwas daemlich.\n"]));
+
+
+SIEHE AUCH
+==========
+
+   Tod:            die(L)
+   Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
+                   P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
+   Sonstiges:      P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+
+10. Nov 2011 Gloinson
diff --git a/doc/props/P_NEXT_DISABLE_ATTACK b/doc/props/P_NEXT_DISABLE_ATTACK
index 7019ac6..6a9eea3 100644
--- a/doc/props/P_NEXT_DISABLE_ATTACK
+++ b/doc/props/P_NEXT_DISABLE_ATTACK
@@ -1,31 +1,52 @@
-PROPERTY
-  P_NEXT_DISABLE_ATTACK    "next_diable_attack"
 
-DEFINIERT IN 
-  combat.h
+P_NEXT_DISABLE_ATTACK
+*********************
+
+
+PROPERTY
+========
+
+   P_NEXT_DISABLE_ATTACK    "next_diable_attack"
+
+
+DEFINIERT IN
+============
+
+   combat.h
+
 
 BESCHREIBUNG
-  Diese Property gibt an, wann der NPC das naechste Mal paralysiert
-  werden kann. Ueblicherweise wird sie automatisch beim Setzen
-  von P_DISABLE_ATTACK gesetzt. Sie gibt einen Zeitpunkt wie
-  die Funktion time() an, an dem zum ersten Mal wieder Paralyse
-  moeglich ist.
+============
 
-  Will man einen NPC schreiben, der immer paralysierbar ist und nicht erst
-  nach einer gewissen Wartezeit nach der letzten Paralyse, laesst sich dies
-  durch eine Set-Methode auf P_NEXT_DISABLE_ATTACK erreichen:
-    
-  Set(P_NEXT_DISABLE_ATTACK, function int () {return 0;}, F_SET_METHOD);
+   Diese Property gibt an, wann der NPC das naechste Mal paralysiert
+   werden kann. Ueblicherweise wird sie automatisch beim Setzen
+   von P_DISABLE_ATTACK gesetzt. Sie gibt einen Zeitpunkt wie
+   die Funktion time() an, an dem zum ersten Mal wieder Paralyse
+   moeglich ist.
 
-  Diese Set-Methode verhindert das Setzen von P_NEXT_DISABLE_ATTACK mittels
-  eines SetProp-Aufrufes.
+   Will man einen NPC schreiben, der immer paralysierbar ist und nicht erst
+   nach einer gewissen Wartezeit nach der letzten Paralyse, laesst sich dies
+   durch eine Set-Methode auf P_NEXT_DISABLE_ATTACK erreichen:
 
-BEMERKUNGEN:
-  Die Zeit zum Schutz vor erneuter Paralyse existiert absichtlich. Bitte
-  waegt sorgfaeltig ab, bevor ihr diese Property an Gegnern/Spielern
-  manipuliert.
 
-SIEHE AUCH:
-  P_DISABLE_ATTACK
+
+   Set(P_NEXT_DISABLE_ATTACK, function int () {return 0;}, F_SET_METHOD);
+
+   Diese Set-Methode verhindert das Setzen von P_NEXT_DISABLE_ATTACK mittels
+   eines SetProp-Aufrufes.
+
+
+BEMERKUNGEN
+===========
+
+   Die Zeit zum Schutz vor erneuter Paralyse existiert absichtlich. Bitte
+   waegt sorgfaeltig ab, bevor ihr diese Property an Gegnern/Spielern
+   manipuliert.
+
+
+SIEHE AUCH
+==========
+
+   P_DISABLE_ATTACK
 
 21.Jul 2014 Gloinson
diff --git a/doc/props/P_NOBUY b/doc/props/P_NOBUY
index 561bbba..27f6c70 100644
--- a/doc/props/P_NOBUY
+++ b/doc/props/P_NOBUY
@@ -1,10 +1,23 @@
-NAME:
-    P_NOBUY                       "nobuy"                       
 
-DEFINIERT IN:
-    /sys/properties.h
+P_NOBUY
+*******
 
-BESCHREIBUNG:
-     Wenn diese Property gesetzt ist, wird das Objekt nach einem
-     Verkauf im Laden zerstoert, damit es nicht wieder von einem Spieler
-     gekauft werden kann.
+
+NAME
+====
+
+   P_NOBUY                       "nobuy"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wenn diese Property gesetzt ist, wird das Objekt nach einem
+   Verkauf im Laden zerstoert, damit es nicht wieder von einem Spieler
+   gekauft werden kann.
diff --git a/doc/props/P_NOCORPSE b/doc/props/P_NOCORPSE
index 799391a..15d5de2 100644
--- a/doc/props/P_NOCORPSE
+++ b/doc/props/P_NOCORPSE
@@ -1,30 +1,51 @@
-NAME:
-	P_NOCORPSE			"nocorpse"
 
-DEFINIERT IN:
-	/sys/properties.h
+P_NOCORPSE
+**********
 
-BESCHREIBUNG:
-	Diese Property ist gesetzt, wenn im Todesfall kein Leichnam
-	automatisch erzeugt werden soll.
 
-BEMERKUNGEN:
-	In diesem Fall wird die Property P_CORPSE ignoriert, mit der man
-	ein spezielles Leichenobjekt angeben kann, sofern nicht die
-	Standardleiche "/std/corpse.c" verwendet werden soll.
-	Da die Moerdermeldungen ueber ebendiese Objekt laufen, werden
-	hierbei auch keine ausgegeben.
+NAME
+====
 
-BEISPIELE:
-	Das Lebewesen soll keine Leiche hinterlassen, weil es zu Staub
-	zerfaellt:
-	  SetProp(P_DIE_MSG," zerfaellt zu Staub!\n");
-	  SetProp(P_NOCORPSE,1)
-	Es wurde auch gleich die Sterbemeldung dementsprechend gesetzt.
+   P_NOCORPSE                      "nocorpse"
 
-SIEHE AUCH:
-	P_CORPSE, P_ZAP_MSG, P_DIE_MSG, P_MURDER_MSG, P_KILL_MSG,
-	P_NEVERDROP, /std/corpse.c
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property ist gesetzt, wenn im Todesfall kein Leichnam
+   automatisch erzeugt werden soll.
+
+
+BEMERKUNGEN
+===========
+
+   In diesem Fall wird die Property P_CORPSE ignoriert, mit der man
+   ein spezielles Leichenobjekt angeben kann, sofern nicht die
+   Standardleiche "/std/corpse.c" verwendet werden soll.
+   Da die Moerdermeldungen ueber ebendiese Objekt laufen, werden
+   hierbei auch keine ausgegeben.
+
+
+BEISPIELE
+=========
+
+   Das Lebewesen soll keine Leiche hinterlassen, weil es zu Staub
+   zerfaellt:
+     SetProp(P_DIE_MSG," zerfaellt zu Staub!\n");
+     SetProp(P_NOCORPSE,1)
+   Es wurde auch gleich die Sterbemeldung dementsprechend gesetzt.
+
+
+SIEHE AUCH
+==========
+
+   P_CORPSE, P_ZAP_MSG, P_DIE_MSG, P_MURDER_MSG, P_KILL_MSG,
+   P_NEVERDROP, /std/corpse.c
+
 Last modified: Thu Jun 14 22:26:29 2001 by Patryn
diff --git a/doc/props/P_NODRINK_MSG b/doc/props/P_NODRINK_MSG
index 3f847c7..a3407c7 100644
--- a/doc/props/P_NODRINK_MSG
+++ b/doc/props/P_NODRINK_MSG
@@ -1,25 +1,46 @@
-NAME:
-     P_NODRINK_MSG                 "std_food_nodrink_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_NODRINK_MSG
+*************
 
-BESCHREIBUNG:
-     Meldung an den Konsumenten, wenn versucht wird, ein Nicht-Getraenk
-     zu trinken. Sobald eine Speise einen Wert in P_FOOD setzt, gilt es als
-     Nicht-Getraenk.
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "@WEN1 kann man nicht trinken!"
 
-SIEHE AUCH:
-     P_FOOD, P_DRINK, wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_NODRINK_MSG                 "std_food_nodrink_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Konsumenten, wenn versucht wird, ein Nicht-Getraenk
+   zu trinken. Sobald eine Speise einen Wert in P_FOOD setzt, gilt es als
+   Nicht-Getraenk.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "@WEN1 kann man nicht trinken!"
+
+
+SIEHE AUCH
+==========
+
+   P_FOOD, P_DRINK, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_NODROP b/doc/props/P_NODROP
index 37eb5b5..786cdea 100644
--- a/doc/props/P_NODROP
+++ b/doc/props/P_NODROP
@@ -1,39 +1,60 @@
-NAME:
-	P_NODROP			"nodrop"                      
 
-DEFINIERT IN:
-	/sys/thing/moving.h
+P_NODROP
+********
 
-BESCHREIBUNG:
-	Ist diese Property in einem Objekt gesetzt, so kann ein Lebewesen
-	das Objekt nicht weglegen.
-	Als Standardmeldung kommt in diesem Fall beispielsweise:
-	  Du kannst <Objektname> nicht wegwerfen!
-	  Du kannst <Objektname> nicht weggeben.
-	Man kann auch eine alternative Meldung angeben, wobei selbstaendig
-	auf einen korrekten Zeilenumbruch zu achten ist.
 
-BEMERKUNGEN:
-	Soll ein Objekt beim Tod des Lebewesens oder bei Ende eines Spielers
-	nicht in der Leiche bzw. im Raum zurueckgelassen werden, so ist
-	die Property P_NEVERDROP zu nutzen.
-	Beide Properties zusammen stellen sicher, dass ein Objekt nicht
-	weitergegeben werden kann.
+NAME
+====
 
-BEISPIELE:
-	Ein schwer zu erkaempfender Dolch koennte folgendes beinhalten,
-	um nicht weitergegeben werden zu koennen:
-	  SetProp(P_NODROP,1);
-	Informativer jedoch ist eine eigene Meldung:
-	  SetProp(P_NODROP,
-	 "Den Dolch hast Du Dir hart erkaempft, nicht wegwerfen!\n");
+   P_NODROP                        "nodrop"
 
-SIEHE AUCH:
-     Aehnliches: P_NOGET, P_NEVERDROP, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG,
-                 P_TOO_MANY_MSG, P_NOINSERT_MSG, P_NOLEAVE_MSG,  
-     Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
-                 P_WEAR_MSG, P_WIELD_MSG
-     Sonstiges:  replace_personal(E), /std/living/put_and_get.c
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+   Ist diese Property in einem Objekt gesetzt, so kann ein Lebewesen
+   das Objekt nicht weglegen.
+   Als Standardmeldung kommt in diesem Fall beispielsweise:
+     Du kannst <Objektname> nicht wegwerfen!
+     Du kannst <Objektname> nicht weggeben.
+   Man kann auch eine alternative Meldung angeben, wobei selbstaendig
+   auf einen korrekten Zeilenumbruch zu achten ist.
+
+
+BEMERKUNGEN
+===========
+
+   Soll ein Objekt beim Tod des Lebewesens oder bei Ende eines Spielers
+   nicht in der Leiche bzw. im Raum zurueckgelassen werden, so ist
+   die Property P_NEVERDROP zu nutzen.
+   Beide Properties zusammen stellen sicher, dass ein Objekt nicht
+   weitergegeben werden kann.
+
+
+BEISPIELE
+=========
+
+   Ein schwer zu erkaempfender Dolch koennte folgendes beinhalten,
+   um nicht weitergegeben werden zu koennen:
+     SetProp(P_NODROP,1);
+   Informativer jedoch ist eine eigene Meldung:
+     SetProp(P_NODROP,
+    "Den Dolch hast Du Dir hart erkaempft, nicht wegwerfen!\n");
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_NOGET, P_NEVERDROP, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG,
+               P_TOO_MANY_MSG, P_NOINSERT_MSG, P_NOLEAVE_MSG,
+   Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+               P_WEAR_MSG, P_WIELD_MSG
+   Sonstiges:  replace_personal(E), /std/living/put_and_get.c
+
 Last modified: Thu Jun 14 22:26:29 2001 by Patryn
diff --git a/doc/props/P_NOFOOD_MSG b/doc/props/P_NOFOOD_MSG
index c367b7c..d195c5e 100644
--- a/doc/props/P_NOFOOD_MSG
+++ b/doc/props/P_NOFOOD_MSG
@@ -1,25 +1,46 @@
-NAME:
-     P_NOFOOD_MSG                  "std_food_nofood_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_NOFOOD_MSG
+************
 
-BESCHREIBUNG:
-     Meldung an den Konsumenten, wenn versucht wird, ein Getraenk zu essen.
-     Sobald eine Speise keinen Wert in P_FOOD und einen Wert in P_DRINK
-     setzt, gilt es als Getraenk.
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "@WEN1 kann man nicht essen!"
 
-SIEHE AUCH:
-     P_FOOD, P_DRINK, wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_NOFOOD_MSG                  "std_food_nofood_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung an den Konsumenten, wenn versucht wird, ein Getraenk zu essen.
+   Sobald eine Speise keinen Wert in P_FOOD und einen Wert in P_DRINK
+   setzt, gilt es als Getraenk.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "@WEN1 kann man nicht essen!"
+
+
+SIEHE AUCH
+==========
+
+   P_FOOD, P_DRINK, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_NOGET b/doc/props/P_NOGET
index af3ed1d..17a6248 100644
--- a/doc/props/P_NOGET
+++ b/doc/props/P_NOGET
@@ -1,31 +1,49 @@
-NAME:
-	P_NOGET				"noget"
 
-DEFINIERT IN:
-	/sys/thing/moving.h
+P_NOGET
+*******
 
-BESCHREIBUNG:
-	Ist diese Property in einem Objekt gesetzt, so kann ein Lebewesen
-	das Objekt nicht nehmen.
-	Als Standardmeldung kommt in diesem Fall beispielsweise:
-	  Du kannst <Objektname> nicht nehmen.
-	  Du kannst <Objektname> so nirgendwo reinstecken.
-	Man kann auch eine alternative Meldung angeben, wobei selbstaendig
-	auf einen korrekten Zeilenumbruch zu achten ist.
 
-BEISPIELE:
-	Ein Objekt, welches fest im Raum verankert ist, kann natuerlich
-	nicht entfernt werden, z.B. ein angebundenes Seil:
-	  SetProp(P_NOGET,"Das Seil ist fest am Baum verknotet!\n");
-	In einem Kommando zum Losknoten koennte man die Property dann
-	loeschen, um ein Wegnehmen zu ermoeglichen.
+NAME
+====
 
-SIEHE AUCH:
-     Aehnliches: P_NODROP, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG,
-                 P_TOO_MANY_MSG, P_NOINSERT_MSG, P_NOLEAVE_MSG 
-     Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
-                 P_WEAR_MSG, P_WIELD_MSG
-     Sonstiges:  replace_personal(E), /std/living/put_and_get.c
+   P_NOGET                         "noget"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+   Ist diese Property in einem Objekt gesetzt, so kann ein Lebewesen
+   das Objekt nicht nehmen.
+   Als Standardmeldung kommt in diesem Fall beispielsweise:
+     Du kannst <Objektname> nicht nehmen.
+     Du kannst <Objektname> so nirgendwo reinstecken.
+   Man kann auch eine alternative Meldung angeben, wobei selbstaendig
+   auf einen korrekten Zeilenumbruch zu achten ist.
+
+
+BEISPIELE
+=========
+
+   Ein Objekt, welches fest im Raum verankert ist, kann natuerlich
+   nicht entfernt werden, z.B. ein angebundenes Seil:
+     SetProp(P_NOGET,"Das Seil ist fest am Baum verknotet!\n");
+   In einem Kommando zum Losknoten koennte man die Property dann
+   loeschen, um ein Wegnehmen zu ermoeglichen.
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_NODROP, P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG,
+               P_TOO_MANY_MSG, P_NOINSERT_MSG, P_NOLEAVE_MSG
+   Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+               P_WEAR_MSG, P_WIELD_MSG
+   Sonstiges:  replace_personal(E), /std/living/put_and_get.c
+
 Last modified: Thu Jun 14 22:26:29 2001 by Patryn
diff --git a/doc/props/P_NOINSERT_MSG b/doc/props/P_NOINSERT_MSG
index a79994e..de7d8e8 100644
--- a/doc/props/P_NOINSERT_MSG
+++ b/doc/props/P_NOINSERT_MSG
@@ -1,46 +1,65 @@
-NAME:
-    P_NOINSERT_MSG                      "noinsert_msg"                      
 
-DEFINIERT IN:
-    /sys/thing/moving.h
+P_NOINSERT_MSG
+**************
 
-BESCHREIBUNG:
-     Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn
-     jemand versucht, ein Objekt in einen Behaelter zu bewegen und der
-     Behaelter dieses im PreventInsert() verhindert.
-     Die Property ist im Zielbehaelter zu setzen.
-     Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
-     so wird die Standardmeldung ausgegeben.
-     ("<Objekt> kannst Du dort nicht hineinstecken.")
-     Der String in der Property wird noch durch replace_personal()
-     verarbeitet, das zu bewegende Objekt wird als erstes, der Zielbehaelter
-     als zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
-     umgebrochen.
-     Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
-     ganz.
 
-BEISPIELE:
-     1. Ein Kochtopf laesst im PreventInsert nur bestimmte Objekte zu, die zu
-     einer Suppe gehoeren. Fuer eine passende Meldung wird im Topf jetzt die
-     Property gesetzt:
-     SetProp(P_NOINSERT_MSG, "Du kannst @WEN1 nicht in den Kochtopf tun, da"
-	                     " gehoeren doch nur Suppenzutaten rein!");
-     Wenn jemand jetzt versucht, eine Muenze reinzustecken, dann wuerde
-     folgende Meldung erscheinen:
-	Du kannst die Muenze nicht in den Kochtopf tun, da gehoeren doch nur
-	Suppenzutaten rein!
+NAME
+====
 
-     2. Ein Rucksack soll in einer bestimmten Reihenfolge gepackt werden, dazu
-     kann im PreventInsert die Meldung je nach Bedarf gesetzt werden:
-     if (<objekt noch nicht an der Reihe>)
-	SetProp(P_NOINSERT_MSG, "@WEN1 solltest du erst spaeter einpacken.");
-     else if (<objekt schon im Rucksack>)
-	SetProp(P_NOINSERT_MSG, "Aber @WER1 ist doch schon eingepackt!");
-     else ...
+   P_NOINSERT_MSG                      "noinsert_msg"
 
-SIEHE AUCH:
-     Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
-                 P_NOLEAVE_MSG, P_NODROP, P_NOGET 
-     Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
-                 P_WEAR_MSG, P_WIELD_MSG
-     Sonstiges:  replace_personal(E), /std/living/put_and_get.c
+
+DEFINIERT IN
+============
+
+   /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn
+   jemand versucht, ein Objekt in einen Behaelter zu bewegen und der
+   Behaelter dieses im PreventInsert() verhindert.
+   Die Property ist im Zielbehaelter zu setzen.
+   Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
+   so wird die Standardmeldung ausgegeben.
+   ("<Objekt> kannst Du dort nicht hineinstecken.")
+   Der String in der Property wird noch durch replace_personal()
+   verarbeitet, das zu bewegende Objekt wird als erstes, der Zielbehaelter
+   als zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
+   umgebrochen.
+   Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
+   ganz.
+
+
+BEISPIELE
+=========
+
+   1. Ein Kochtopf laesst im PreventInsert nur bestimmte Objekte zu, die zu
+   einer Suppe gehoeren. Fuer eine passende Meldung wird im Topf jetzt die
+   Property gesetzt:
+   SetProp(P_NOINSERT_MSG, "Du kannst @WEN1 nicht in den Kochtopf tun, da"
+                           " gehoeren doch nur Suppenzutaten rein!");
+   Wenn jemand jetzt versucht, eine Muenze reinzustecken, dann wuerde
+   folgende Meldung erscheinen:
+      Du kannst die Muenze nicht in den Kochtopf tun, da gehoeren doch nur
+      Suppenzutaten rein!
+
+   2. Ein Rucksack soll in einer bestimmten Reihenfolge gepackt werden, dazu
+   kann im PreventInsert die Meldung je nach Bedarf gesetzt werden:
+   if (<objekt noch nicht an der Reihe>)
+      SetProp(P_NOINSERT_MSG, "@WEN1 solltest du erst spaeter einpacken.");
+   else if (<objekt schon im Rucksack>)
+      SetProp(P_NOINSERT_MSG, "Aber @WER1 ist doch schon eingepackt!");
+   else ...
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+               P_NOLEAVE_MSG, P_NODROP, P_NOGET
+   Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+               P_WEAR_MSG, P_WIELD_MSG
+   Sonstiges:  replace_personal(E), /std/living/put_and_get.c
diff --git a/doc/props/P_NOLEAVE_MSG b/doc/props/P_NOLEAVE_MSG
index 0a226dd..d2cd164 100644
--- a/doc/props/P_NOLEAVE_MSG
+++ b/doc/props/P_NOLEAVE_MSG
@@ -1,33 +1,52 @@
-NAME:
-    P_NOLEAVE_MSG                      "noleave_msg"                      
 
-DEFINIERT IN:
-    /sys/thing/moving.h
+P_NOLEAVE_MSG
+*************
 
-BESCHREIBUNG:
-     Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn
-     jemand versucht, ein Objekt aus einem Behaelter zu entfernen und der
-     Behaelter dieses im PreventLeave() verhindert.
-     Die Property ist im verhindernden Behaelter zu setzen.
-     Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
-     so wird die Standardmeldung ausgegeben.
-     ("Du kannst <Objekt> nicht nehmen.")
-     Der String in der Property wird noch durch replace_personal()
-     verarbeitet, das zu bewegende Objekt wird als erstes, der verhindernde
-     Behaelter als zweites Objekt angegeben. Danach wird der String auf 78
-     Zeichen umgebrochen.
-     Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
-     ganz.
 
-BEISPIELE:
-     Nur Bierschuettler sollen eine Bierflasche aus einem Kasten nehmen
-     koennen, neben einer entsprechenden Behandlung im PreventLeave setzt man
-     dazu die Property:
-     SetProp(P_NOLEAVE_MSG, "Nur Bierschuettler duerfen das!");
+NAME
+====
 
-SIEHE AUCH:
-     Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
-                 P_NOINSERT_MSG, P_NODROP, P_NOGET 
-     Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
-                 P_WEAR_MSG, P_WIELD_MSG
-     Sonstiges:  replace_personal(E), /std/living/put_and_get.c
+   P_NOLEAVE_MSG                      "noleave_msg"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn
+   jemand versucht, ein Objekt aus einem Behaelter zu entfernen und der
+   Behaelter dieses im PreventLeave() verhindert.
+   Die Property ist im verhindernden Behaelter zu setzen.
+   Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
+   so wird die Standardmeldung ausgegeben.
+   ("Du kannst <Objekt> nicht nehmen.")
+   Der String in der Property wird noch durch replace_personal()
+   verarbeitet, das zu bewegende Objekt wird als erstes, der verhindernde
+   Behaelter als zweites Objekt angegeben. Danach wird der String auf 78
+   Zeichen umgebrochen.
+   Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
+   ganz.
+
+
+BEISPIELE
+=========
+
+   Nur Bierschuettler sollen eine Bierflasche aus einem Kasten nehmen
+   koennen, neben einer entsprechenden Behandlung im PreventLeave setzt man
+   dazu die Property:
+   SetProp(P_NOLEAVE_MSG, "Nur Bierschuettler duerfen das!");
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+               P_NOINSERT_MSG, P_NODROP, P_NOGET
+   Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+               P_WEAR_MSG, P_WIELD_MSG
+   Sonstiges:  replace_personal(E), /std/living/put_and_get.c
diff --git a/doc/props/P_NOMAGIC b/doc/props/P_NOMAGIC
index bdee7f7..42e51d1 100644
--- a/doc/props/P_NOMAGIC
+++ b/doc/props/P_NOMAGIC
@@ -1,21 +1,42 @@
-NAME:
-    P_NOMAGIC                     "nomagic"                     
 
-DEFINIERT IN:
-    /sys/properties.h
+P_NOMAGIC
+*********
 
-BESCHREIBUNG:
-     Angabe in Prozent, mit welcher Wahrscheinlichkeit Magie fehlschlaegt.
-     
-     Fuer einen Raum ist es eine generelle Aussage, wie wahrscheinlich ein
-     Spell in ihm fehlschlaegt. Bei NPC zeigt es an, wie wahrscheinlich
-     ein auf ihn gesprochener Spell fehlschlaegt.
 
-BEISPIEL:
-     // in einem Raum keine Spells zulassen
-     SetProp(P_NOMAGIC, 100)
+NAME
+====
 
-SIEHE AUCH:
-     Aehnlich:     P_MAGIC_RESISTANCE_OFFSET, SpellDefend
+   P_NOMAGIC                     "nomagic"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Angabe in Prozent, mit welcher Wahrscheinlichkeit Magie fehlschlaegt.
+
+
+
+   Fuer einen Raum ist es eine generelle Aussage, wie wahrscheinlich ein
+   Spell in ihm fehlschlaegt. Bei NPC zeigt es an, wie wahrscheinlich
+   ein auf ihn gesprochener Spell fehlschlaegt.
+
+
+BEISPIEL
+========
+
+   // in einem Raum keine Spells zulassen
+   SetProp(P_NOMAGIC, 100)
+
+
+SIEHE AUCH
+==========
+
+   Aehnlich:     P_MAGIC_RESISTANCE_OFFSET, SpellDefend
 
 29.Dez 2007 Gloinson
diff --git a/doc/props/P_NOSELL b/doc/props/P_NOSELL
index 48b0ddb..6141be3 100644
--- a/doc/props/P_NOSELL
+++ b/doc/props/P_NOSELL
@@ -1,33 +1,50 @@
-NAME:
-    P_NOSELL                      "nosell"
 
-DEFINIERT IN:
-    /sys/properties.h
+P_NOSELL
+********
 
-BESCHREIBUNG:
-     Wenn diese Property gesetzt ist, kann das Objekt nicht in einem
-     Laden verkauft werden.
-     Gibt man in der Property einen String an, wird dieser ausgegeben,
-     ansonsten erfolgt eine Meldung "Du kannst <NAME> nicht verkaufen!"
 
-     Diese Meldung beinhaltet auch den Namen des in P_NAME einge-
-     tragenen Besitzer des Ladens. Ist dies nicht gesetzt, wird per
-     default 'Der Haendler' ausgegeben.
+NAME
+====
 
-BEISPIEL:
-     SetProp(P_NOSELL,"Den Schrott behaeltst Du lieber selber.");
+   P_NOSELL                      "nosell"
 
-     ==> Apu sagt: Den Schrott behaeltst Du lieber selber.
-     ==> Der Haendler sagt: Den Schrott behaeltst Du lieber selber.
 
-     SetProp(P_NOSELL,1);
+DEFINIERT IN
+============
 
-     ==> Apu sagt: Du kannst <name> nicht verkaufen!
-     ==> Der Haendler sagt: Du kannst <name> nicht verkaufen!
+   /sys/properties.h
 
-SIEHE AUCH:
-     P_NOBUY, P_NODROP, P_KEEPER
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Wenn diese Property gesetzt ist, kann das Objekt nicht in einem
+   Laden verkauft werden.
+   Gibt man in der Property einen String an, wird dieser ausgegeben,
+   ansonsten erfolgt eine Meldung "Du kannst <NAME> nicht verkaufen!"
+
+   Diese Meldung beinhaltet auch den Namen des in P_NAME einge-
+   tragenen Besitzer des Ladens. Ist dies nicht gesetzt, wird per
+   default 'Der Haendler' ausgegeben.
+
+
+BEISPIEL
+========
+
+   SetProp(P_NOSELL,"Den Schrott behaeltst Du lieber selber.");
+
+   ==> Apu sagt: Den Schrott behaeltst Du lieber selber.
+   ==> Der Haendler sagt: Den Schrott behaeltst Du lieber selber.
+
+   SetProp(P_NOSELL,1);
+
+   ==> Apu sagt: Du kannst <name> nicht verkaufen!
+   ==> Der Haendler sagt: Du kannst <name> nicht verkaufen!
+
+
+SIEHE AUCH
+==========
+
+   P_NOBUY, P_NODROP, P_KEEPER
+
 03.09.2010, Zesstra
-
diff --git a/doc/props/P_NO_ASCII_ART b/doc/props/P_NO_ASCII_ART
index 9b40cde..3a143a4 100644
--- a/doc/props/P_NO_ASCII_ART
+++ b/doc/props/P_NO_ASCII_ART
@@ -1,20 +1,35 @@
-NAME:
-    P_NO_ASCII_ART                   "no_ascii_art"
+
+P_NO_ASCII_ART
+**************
 
 
-DEFINIERT IN:
-    /sys/player/base.h
+NAME
+====
 
-BESCHREIBUNG:
-    Diese Property kann der Spieler mit dem Befehl "grafik aus" auf
-    1 setzen. Damit zeigt er an, dass er keine ASCII Art sehen moechte.
+   P_NO_ASCII_ART                   "no_ascii_art"
 
-    Wer ASCII-Art einsetzt, sollte an diesen Stellen die Property 
-    abfragen und textliche Umschreibungen oder Alternativloesungen
-    einbauen.
-    
-SIEHE AUCH:
-    grafik
 
-----------------------------------------------------------------------------
-    Letzte Aenderung: 2005-10-18, Zook.   
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property kann der Spieler mit dem Befehl "grafik aus" auf
+   1 setzen. Damit zeigt er an, dass er keine ASCII Art sehen moechte.
+
+   Wer ASCII-Art einsetzt, sollte an diesen Stellen die Property
+   abfragen und textliche Umschreibungen oder Alternativloesungen
+   einbauen.
+
+
+SIEHE AUCH
+==========
+
+   grafik
+
+
+   Letzte Aenderung: 2005-10-18, Zook.
diff --git a/doc/props/P_NO_ATTACK b/doc/props/P_NO_ATTACK
index 0f39180..9ca4c95 100644
--- a/doc/props/P_NO_ATTACK
+++ b/doc/props/P_NO_ATTACK
@@ -1,82 +1,99 @@
+
 P_NO_ATTACK
-
-NAME:
-     P_NO_ATTACK "no_attack"
-
-DEFINIERT IN:
-     <living/combat.h>
-
-BESCHREIBUNG:
-     Wenn ein NPC nicht angreifbar sein soll (weil er zum Beispiel in einer
-     Gilde oder einer Quest Informationen vermittelt oder aehnlichen), sollte
-     man diese Property auf einen Wert ungleich Null setzen. Sie wird immer
-     abgefragt, wenn ermittelt wird, ob ein Lebewesen prinzipiell angreifbar
-     ist. D.h. auch, dass nach Abfragen von P_NO_ATTACK _nicht_ immer ein
-     Kampf gestartet wird und dass man dabei _nicht_ im Kampf sein muss!
-
-     Gibt man hier einen String an (mit einem Satzzeichen und "\n" abge-
-     schlossen), wird dieser bei direkten Angriffen ausgegeben. Bei anderen
-     Datentypen wird eine Defaultmeldung ausgegeben. Die Defaultmeldung
-     lautet: "<Name> laesst sich nicht angreifen!\n"
-
-     Mit direkten Angriffen sind 'toete <name>' und Angriffszauber gemeint
-     (bzw. alles, was living/life::Kill(), spellbook::TryAttackSpell(),
-     spellbook::TryDefaultAttackSpell() und spellbook::FindEnemyVictim()
-     aufruft).
-
-ACHTUNG:
-
-  1) Zum Thema QueryMethoden auf P_NO_ATTACK
-     Grundsaetzlich legt man entweder eine Query-Methode auf P_NO_ATTACK:
-        Set(P_NO_ATTACK, #'my_no_attack, F_QUERY_METHOD);
-     oder definiert eine Funktion _query_no_attack() im NPC.
-
-     Wie muss nun eine solche Funktion aussehen? Z.B.:
-     
-     int|string my_no_attack() {
-       if (!objectp(this_player())) return 0;
-       if (opfer==getuid(this_player()) || this_player()==this_object())
-         return(0);
-       return(1); //nicht angreifbar
-     }
-
-     Diese Funktion macht den NPC nun nur fuer den Spieler 'opfer' angreifbar.
-     Stattdessen kann natuerlich auch jede andere Bedingung genutzt werden.
-
-     Aber warum die zweite Bedingung, this_player()==this_object()?
-     Warum sollte der NPC sich selber angreifen duerfen?
-
-     Das liegt an folgenden 2 Dingen:
-
-     1. Kaempfer kriegen bei eingeschaltetem Fokus Probleme, wenn man das 
-     nicht macht. Das liegt an folgendem: Wenn der NPC angreift, ruft er 
-     natuerlich Defend() im Spieler auf. Dieses schaut nach, ob der Spieler 
-     den Skill SK_MAGICAL_DEFENSE hat. Dieser ist bei Kaempfern das Parieren.
-     Dieses schaut nach, ob der Fokus aktiv ist, wenn ja, wird dem 
-     ge'fokus'te Gegner besonders gut ausgewichen. Zu diesem Zweck wird die 
-     Liste der Feind im Raum erstellt mit PresentEnemies() abgerufen. Dieses 
-     fragt aber in allen (potentiellen) Gegnern P_NO_ATTACK ab und beendet 
-     den Kampf mit allen Gegnern, die nicht angreifbar sind. Bei dieser 
-     Abfrage ist jedoch TP==NPC, weil der ja angreift. Wenn er nun 1 
-     zurueckgibt, wird der Kampf an der Stelle beendet. 
-
-     2. Wenn der NPC den Spieler angreift, wird im Spieler InsertEnemy(NPC)
-     aufgerufen. Auch diesem Fall findet die Abfrage von P_NO_ATTACK statt, 
-     da InsertEnemy() ja erstmal rausfinden muss, ob der Gegner angreifbar 
-     ist, bevor er in die Feindliste eingetragen wird. Da der NPC den 
-     Angriff beginnt, ist TP der NPC. Wenn die Query-Methode auf P_NO_ATTACK
-     hier abbricht, wird der NPC nicht in die Feindliste des Spielers 
-     eingetragen. Dann bekaempft der NPC den Spieler, aber der Spieler nicht
-     den NPC.
+***********
 
 
-  2) P_NO_ATTACK des NPC wird z.B. beim Kampf eines Kaempfers mit dem NPC 
-     pro Kampfrunde um die 10mal abgerufen. Wenn der Kaempfer nur eine 
-     Attacke macht. Wenn er noch Sonderattacken machen, Spells ausfuehrt, 
-     etc. wird das noch mehr. D.h. was auch immer ihr in der Query-Methode 
-     im NPC macht: 
-     Es sollte schnell sein, jeder Tick an Rechenzeit zaehlt hier xfach!
+NAME
+====
+
+   P_NO_ATTACK "no_attack"
 
 
-LETZTE AENDERUNG:
+DEFINIERT IN
+============
+
+   <living/combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Wenn ein NPC nicht angreifbar sein soll (weil er zum Beispiel in einer
+   Gilde oder einer Quest Informationen vermittelt oder aehnlichen), sollte
+   man diese Property auf einen Wert ungleich Null setzen. Sie wird immer
+   abgefragt, wenn ermittelt wird, ob ein Lebewesen prinzipiell angreifbar
+   ist. D.h. auch, dass nach Abfragen von P_NO_ATTACK _nicht_ immer ein
+   Kampf gestartet wird und dass man dabei _nicht_ im Kampf sein muss!
+
+   Gibt man hier einen String an (mit einem Satzzeichen und "\n" abge-
+   schlossen), wird dieser bei direkten Angriffen ausgegeben. Bei anderen
+   Datentypen wird eine Defaultmeldung ausgegeben. Die Defaultmeldung
+   lautet: "<Name> laesst sich nicht angreifen!\n"
+
+   Mit direkten Angriffen sind 'toete <name>' und Angriffszauber gemeint
+   (bzw. alles, was living/life::Kill(), spellbook::TryAttackSpell(),
+   spellbook::TryDefaultAttackSpell() und spellbook::FindEnemyVictim()
+   aufruft).
+
+
+ACHTUNG
+=======
+
+   1) Zum Thema QueryMethoden auf P_NO_ATTACK
+      Grundsaetzlich legt man entweder eine Query-Methode auf P_NO_ATTACK:
+         Set(P_NO_ATTACK, #'my_no_attack, F_QUERY_METHOD);
+      oder definiert eine Funktion _query_no_attack() im NPC.
+
+      Wie muss nun eine solche Funktion aussehen? Z.B.:
+
+
+
+      int|string my_no_attack() {
+        if (!objectp(this_player())) return 0;
+        if (opfer==getuid(this_player()) || this_player()==this_object())
+          return(0);
+        return(1); //nicht angreifbar
+      }
+
+      Diese Funktion macht den NPC nun nur fuer den Spieler 'opfer' angreifbar.
+      Stattdessen kann natuerlich auch jede andere Bedingung genutzt werden.
+
+      Aber warum die zweite Bedingung, this_player()==this_object()?
+      Warum sollte der NPC sich selber angreifen duerfen?
+
+      Das liegt an folgenden 2 Dingen:
+
+      1. Kaempfer kriegen bei eingeschaltetem Fokus Probleme, wenn man das
+      nicht macht. Das liegt an folgendem: Wenn der NPC angreift, ruft er
+      natuerlich Defend() im Spieler auf. Dieses schaut nach, ob der Spieler
+      den Skill SK_MAGICAL_DEFENSE hat. Dieser ist bei Kaempfern das Parieren.
+      Dieses schaut nach, ob der Fokus aktiv ist, wenn ja, wird dem
+      ge'fokus'te Gegner besonders gut ausgewichen. Zu diesem Zweck wird die
+      Liste der Feind im Raum erstellt mit PresentEnemies() abgerufen. Dieses
+      fragt aber in allen (potentiellen) Gegnern P_NO_ATTACK ab und beendet
+      den Kampf mit allen Gegnern, die nicht angreifbar sind. Bei dieser
+      Abfrage ist jedoch TP==NPC, weil der ja angreift. Wenn er nun 1
+      zurueckgibt, wird der Kampf an der Stelle beendet.
+
+      2. Wenn der NPC den Spieler angreift, wird im Spieler InsertEnemy(NPC)
+      aufgerufen. Auch diesem Fall findet die Abfrage von P_NO_ATTACK statt,
+      da InsertEnemy() ja erstmal rausfinden muss, ob der Gegner angreifbar
+      ist, bevor er in die Feindliste eingetragen wird. Da der NPC den
+      Angriff beginnt, ist TP der NPC. Wenn die Query-Methode auf P_NO_ATTACK
+      hier abbricht, wird der NPC nicht in die Feindliste des Spielers
+      eingetragen. Dann bekaempft der NPC den Spieler, aber der Spieler nicht
+      den NPC.
+
+
+   2) P_NO_ATTACK des NPC wird z.B. beim Kampf eines Kaempfers mit dem NPC
+      pro Kampfrunde um die 10mal abgerufen. Wenn der Kaempfer nur eine
+      Attacke macht. Wenn er noch Sonderattacken machen, Spells ausfuehrt,
+      etc. wird das noch mehr. D.h. was auch immer ihr in der Query-Methode
+      im NPC macht:
+      Es sollte schnell sein, jeder Tick an Rechenzeit zaehlt hier xfach!
+
+
+LETZTE AENDERUNG
+================
+
 09.11.2015, Arathorn
diff --git a/doc/props/P_NO_BAD b/doc/props/P_NO_BAD
index 60df1e7..ae2adf2 100644
--- a/doc/props/P_NO_BAD
+++ b/doc/props/P_NO_BAD
@@ -1,23 +1,43 @@
-NAME:
-     P_NO_BAD                      "std_food_no_bad"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_NO_BAD
+********
 
-BESCHREIBUNG:
-     Flag, ob die Speise ewig haltbar ist.
-     0: Speise verdirbt nach der Anzahl Sekunden, die in P_LIFETIME
-        angegeben ist bzw. nach einem Reset
-     1: Speise verdirbt nicht
-     
-     ACHTUNG: Diese Property darf nur in Absprache mit der Balance
-              geaendert werden.
-     
-DEFAULT:
-     Initial ist diese Property auf 0 gesetzt.
 
-SIEHE AUCH:
-     /std/food.c, wiz/food
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_NO_BAD                      "std_food_no_bad"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Flag, ob die Speise ewig haltbar ist.
+   0: Speise verdirbt nach der Anzahl Sekunden, die in P_LIFETIME
+      angegeben ist bzw. nach einem Reset
+   1: Speise verdirbt nicht
+
+
+
+   ACHTUNG: Diese Property darf nur in Absprache mit der Balance
+            geaendert werden.
+
+
+DEFAULT
+=======
+
+   Initial ist diese Property auf 0 gesetzt.
+
+
+SIEHE AUCH
+==========
+
+   /std/food.c, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_NO_GLOBAL_ATTACK b/doc/props/P_NO_GLOBAL_ATTACK
index 01df4e9..962186c 100644
--- a/doc/props/P_NO_GLOBAL_ATTACK
+++ b/doc/props/P_NO_GLOBAL_ATTACK
@@ -1,20 +1,33 @@
+
 P_NO_GLOBAL_ATTACK
+******************
 
-NAME:
-     P_NO_GLOBAL_ATTACK "no_global_attack"
 
-DEFINIERT IN:
-     <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Setzt man diese Property in einem NPC auf einen Wert ungleich 0, so
-     wird der NPC bei einem "toete alle" nicht angegriffen.
+   P_NO_GLOBAL_ATTACK "no_global_attack"
 
-     Damit kann man zB. NPCs, die dem eigenen Schutz dienen (als Folge von
-     Zauberspruechen o.ae.) vor versehentlichen Angriffen schuetzen.
 
-SIEHE AUCH:
-     /std/npc.c, P_FRIEND
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Setzt man diese Property in einem NPC auf einen Wert ungleich 0, so
+   wird der NPC bei einem "toete alle" nicht angegriffen.
+
+   Damit kann man zB. NPCs, die dem eigenen Schutz dienen (als Folge von
+   Zauberspruechen o.ae.) vor versehentlichen Angriffen schuetzen.
+
+
+SIEHE AUCH
+==========
+
+   /std/npc.c, P_FRIEND
+
 Last modified: Sat May 18 15:26:28 1996 by Wargon
diff --git a/doc/props/P_NO_PARA_TRANS b/doc/props/P_NO_PARA_TRANS
index 578c245..677f9c8 100644
--- a/doc/props/P_NO_PARA_TRANS
+++ b/doc/props/P_NO_PARA_TRANS
@@ -1,15 +1,30 @@
-NAME:
-	P_NO_PARA_TRANS				"no_para_trans"
 
-DEFINIERT IN:
-	/sys/properties.h
+P_NO_PARA_TRANS
+***************
 
-BESCHREIBUNG:
-	Wenn in einem Raum diese Property gesetzt ist, darf dort kein
-	Wechsel in oder aus der Paralellwelt erfolgen. Objekte die so
-	einen Wechsel ermoeglichen sind dafuer verantwortlich diese
-	Property abzufragen.
 
-SIEHE AUCH:
-	P_NO_TPORT
+NAME
+====
 
+   P_NO_PARA_TRANS                         "no_para_trans"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wenn in einem Raum diese Property gesetzt ist, darf dort kein
+   Wechsel in oder aus der Paralellwelt erfolgen. Objekte die so
+   einen Wechsel ermoeglichen sind dafuer verantwortlich diese
+   Property abzufragen.
+
+
+SIEHE AUCH
+==========
+
+   P_NO_TPORT
diff --git a/doc/props/P_NO_PLAYERS b/doc/props/P_NO_PLAYERS
index 062b915..3cc88c1 100644
--- a/doc/props/P_NO_PLAYERS
+++ b/doc/props/P_NO_PLAYERS
@@ -1,37 +1,56 @@
-NAME:
-    P_NO_PLAYERS                     "no_players"                     
 
-DEFINIERT IN:
-    /sys/rooms.h
+P_NO_PLAYERS
+************
 
-BESCHREIBUNG:
-    Wenn in einem Raum die Property P_NO_PLAYERS auf einen Wert != 0 gesetzt
-    ist, kann dieser von Spielern auf normalem Wege nicht mehr betreten werden.
-    Magier und Testspieler(*) koennen den Raum betreten; Spieler muessen mit
-    M_NOCHECK hineinbewegt werden.
 
-    Auf diese Weise koennen Gebiete, die noch nicht offiziell angeschlossen
-    sind, vor 'unbeabsichtigtem' Betreten durch Spieler geschuetzt werden.
+NAME
+====
 
-    Moechte man zu einem schon angeschlossenen Gebiet nachtraeglich eine
-    Parallelwelt einbauen, so sollte P_NO_PLAYERS *dringend* in den
-    Parallelweltraeumen gesetzt werden, bis die Parallelwelt ausdruecklich
-    fuer Spieler freigegeben wird. Andernfalls sind alle Parallelweltraeume,
-    zu denen angeschlossene Normalweltraeume mit gleichem Filenamen existieren,
-    automatisch durch Spieler erreichbar!
+   P_NO_PLAYERS                     "no_players"
 
-    (*) Ausschliesslich Testspieler, die auf den Namen eines existierenden
-    Magiers markiert sind, koennen 'geschuetzte' Raeume betreten.
-    Gildentesties werden wie Spieler behandelt.
 
-ANMERKUNG:
-    Im Gegensatz zu Bewegungen von Livings wird bei der Bewegung von Gegen-
-    staenden P_NO_PLAYERS nur beim Wechsel der Welt ausgewertet, um z.B. zu
-    verhindern, dass Bumerangs in noch nicht angeschlossene Gebiete fliegen.
+DEFINIERT IN
+============
 
-    Moechte man in seinem eigenen Gebiet mit Bumerangs o.ae. testen, muss
-    in diesen P_TESTPLAYER gesetzt sein. Das ist zwar eher ein Missbrauch
-    der Property, aber ein Umkompieren vom Werfer war auf Dauer zu teuer. ;-)
+   /sys/rooms.h
 
-SIEHE AUCH:
-    P_PARA, move
+
+BESCHREIBUNG
+============
+
+   Wenn in einem Raum die Property P_NO_PLAYERS auf einen Wert != 0 gesetzt
+   ist, kann dieser von Spielern auf normalem Wege nicht mehr betreten werden.
+   Magier und Testspieler(*) koennen den Raum betreten; Spieler muessen mit
+   M_NOCHECK hineinbewegt werden.
+
+   Auf diese Weise koennen Gebiete, die noch nicht offiziell angeschlossen
+   sind, vor 'unbeabsichtigtem' Betreten durch Spieler geschuetzt werden.
+
+   Moechte man zu einem schon angeschlossenen Gebiet nachtraeglich eine
+   Parallelwelt einbauen, so sollte P_NO_PLAYERS *dringend* in den
+   Parallelweltraeumen gesetzt werden, bis die Parallelwelt ausdruecklich
+   fuer Spieler freigegeben wird. Andernfalls sind alle Parallelweltraeume,
+   zu denen angeschlossene Normalweltraeume mit gleichem Filenamen existieren,
+   automatisch durch Spieler erreichbar!
+
+   (*) Ausschliesslich Testspieler, die auf den Namen eines existierenden
+   Magiers markiert sind, koennen 'geschuetzte' Raeume betreten.
+   Gildentesties werden wie Spieler behandelt.
+
+
+ANMERKUNG
+=========
+
+   Im Gegensatz zu Bewegungen von Livings wird bei der Bewegung von Gegen-
+   staenden P_NO_PLAYERS nur beim Wechsel der Welt ausgewertet, um z.B. zu
+   verhindern, dass Bumerangs in noch nicht angeschlossene Gebiete fliegen.
+
+   Moechte man in seinem eigenen Gebiet mit Bumerangs o.ae. testen, muss
+   in diesen P_TESTPLAYER gesetzt sein. Das ist zwar eher ein Missbrauch
+   der Property, aber ein Umkompieren vom Werfer war auf Dauer zu teuer. ;-)
+
+
+SIEHE AUCH
+==========
+
+   P_PARA, move
diff --git a/doc/props/P_NO_REGENERATION b/doc/props/P_NO_REGENERATION
index b8dea8c..cc672e3 100644
--- a/doc/props/P_NO_REGENERATION
+++ b/doc/props/P_NO_REGENERATION
@@ -1,34 +1,52 @@
+
 P_NO_REGENERATION
+*****************
 
-NAME:
-     P_NO_REGENERATION    "no_regeneration"
 
-DEFINIERT IN:
-     <living/life.h> und <health.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Durch das Setzen dieser Property kann man verhindern, das ein Lebewesen
-     sich regeneriert.
-     Es gibt sieben moegliche Werte, die man durch verodern kombinieren
-     kann:
-     NO_REG_HP        : es werden keine HP regeneriert
-     NO_REG_BUFFER_HP : es werden beim "tanken" keine HP regeneriert
-     NO_REG_SP        : es werden keine SP regeneriert
-     NO_REG_BUFFER_SP : es werden beim "tanken" keine SP regeneriert
-     NO_REG_ALCOHOL   : der Alkoholspiegel wird nicht gesenkt
-     NO_REG_DRINK     : der Fluessigkeitsspiegel wird nicht gesenkt
-     NO_REG_FOOD      : der Nahrungsspiegel wird nicht gesenkt
-     sowie die Konstante NO_REG, die eine Kombination aller moeglichen
-     Werte darstellt (quasi das groesstmoegliche Uebel ;).
+   P_NO_REGENERATION    "no_regeneration"
 
-BEISPIELE:
-     Dieses Lebewesen heilt nur beim "tanken" in der Kneipe, ansonsten
-     nicht:
-     
-     SetProp( P_NO_REGENERATION, NO_REG_HP|NO_REG_SP );
 
-SIEHE AUCH:
-     /std/living/life.c
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   <living/life.h> und <health.h>
+
+
+BESCHREIBUNG
+============
+
+   Durch das Setzen dieser Property kann man verhindern, das ein Lebewesen
+   sich regeneriert.
+   Es gibt sieben moegliche Werte, die man durch verodern kombinieren
+   kann:
+   NO_REG_HP        : es werden keine HP regeneriert
+   NO_REG_BUFFER_HP : es werden beim "tanken" keine HP regeneriert
+   NO_REG_SP        : es werden keine SP regeneriert
+   NO_REG_BUFFER_SP : es werden beim "tanken" keine SP regeneriert
+   NO_REG_ALCOHOL   : der Alkoholspiegel wird nicht gesenkt
+   NO_REG_DRINK     : der Fluessigkeitsspiegel wird nicht gesenkt
+   NO_REG_FOOD      : der Nahrungsspiegel wird nicht gesenkt
+   sowie die Konstante NO_REG, die eine Kombination aller moeglichen
+   Werte darstellt (quasi das groesstmoegliche Uebel ;).
+
+
+BEISPIELE
+=========
+
+   Dieses Lebewesen heilt nur beim "tanken" in der Kneipe, ansonsten
+   nicht:
+
+
+
+   SetProp( P_NO_REGENERATION, NO_REG_HP|NO_REG_SP );
+
+
+SIEHE AUCH
+==========
+
+   /std/living/life.c
+
 Last modified: 14-05-2001 by Mupfel
diff --git a/doc/props/P_NO_SCORE b/doc/props/P_NO_SCORE
index 6c4a2d2..49cfee5 100644
--- a/doc/props/P_NO_SCORE
+++ b/doc/props/P_NO_SCORE
@@ -1,51 +1,73 @@
-NAME:
-     P_NO_SCORE               "no_score"
 
-DEFINIERT IN:
-     /secure/scoremaster.h
+P_NO_SCORE
+**********
 
-BESCHREIBUNG:
-     Die Property stellt ein Flag innerhalb von Lebewesen dar, welches
-     standardmaessig nicht gesetzt ist. In diesem Fall werden
-     Erstkillstufenpunkte an den Angreifer vergeben, sofern er ein Opfer
-     toetet.
 
-     Innerhalb eines Teams koennen Erstkillstufenpunkte auch an
-     Mitglieder vergeben werden, die das Lebewesen nicht selbst getoetet
-     haben. Voraussetzung hierfuer ist, dass derjenige, der den letzten
-     Schlag ausfuehrte, den Kill schon hat. Danach werden Mitglieder des
-     Teams gesucht, welche den Kill noch nicht haben und in der Formation
-     moeglichst weit vorne stehen.
+NAME
+====
 
-     Mit der gesetzten Property P_NO_SCORE im Opfer erreicht man nun,
-     dass diese Gutschrift fuer den/die Angreifer unterbunden wird.
+   P_NO_SCORE               "no_score"
 
-BEISPIEL:
-     Folgendermassen unterbindet man die Vergabe von
-     Erstkillstufenpunkten fuer den Tod eines NPC's:
 
-       include "/secure/scoremaster.h"
-       inherit "std/npc";
-       void create() {
-         ::create();
-         ...
-         SetProp(P_NO_SCORE,1);
-       }
+DEFINIERT IN
+============
 
-     Damit kann P_XP einen Wert haben, der eigentlich zum automatischen
-     Eintragen von Erstkillstufenpunkten fuer ein Lebewesen fuehrt, und
-     trotzdem wird dieser Eintrag nicht vorgenommen.
-     Sinnvoll ist dies insbesondere bei Lebewesen, die nicht jeder
-     Spieler erreichen kann (man moechte doch eine gewisse
-     Chancengleichheit fuer das Erreichen von Stufenpunkten bieten).
+   /secure/scoremaster.h
 
-BEMERKUNGEN:
-     Auch die Vergabe von Erfahrungspunkten kann explizit unterbunden
-     werden. Hierfuer gibt es die aehnlich geartete Property P_NO_XP.
 
-SIEHE AUCH:
-     Funktionen:  GiveKillScore(), do_damage()
-     Verwandt:    P_NO_XP
-     Sonstiges:   P_XP
+BESCHREIBUNG
+============
+
+   Die Property stellt ein Flag innerhalb von Lebewesen dar, welches
+   standardmaessig nicht gesetzt ist. In diesem Fall werden
+   Erstkillstufenpunkte an den Angreifer vergeben, sofern er ein Opfer
+   toetet.
+
+   Innerhalb eines Teams koennen Erstkillstufenpunkte auch an
+   Mitglieder vergeben werden, die das Lebewesen nicht selbst getoetet
+   haben. Voraussetzung hierfuer ist, dass derjenige, der den letzten
+   Schlag ausfuehrte, den Kill schon hat. Danach werden Mitglieder des
+   Teams gesucht, welche den Kill noch nicht haben und in der Formation
+   moeglichst weit vorne stehen.
+
+   Mit der gesetzten Property P_NO_SCORE im Opfer erreicht man nun,
+   dass diese Gutschrift fuer den/die Angreifer unterbunden wird.
+
+
+BEISPIEL
+========
+
+   Folgendermassen unterbindet man die Vergabe von
+   Erstkillstufenpunkten fuer den Tod eines NPC's:
+
+     include "/secure/scoremaster.h"
+     inherit "std/npc";
+     void create() {
+       ::create();
+       ...
+       SetProp(P_NO_SCORE,1);
+     }
+
+   Damit kann P_XP einen Wert haben, der eigentlich zum automatischen
+   Eintragen von Erstkillstufenpunkten fuer ein Lebewesen fuehrt, und
+   trotzdem wird dieser Eintrag nicht vorgenommen.
+   Sinnvoll ist dies insbesondere bei Lebewesen, die nicht jeder
+   Spieler erreichen kann (man moechte doch eine gewisse
+   Chancengleichheit fuer das Erreichen von Stufenpunkten bieten).
+
+
+BEMERKUNGEN
+===========
+
+   Auch die Vergabe von Erfahrungspunkten kann explizit unterbunden
+   werden. Hierfuer gibt es die aehnlich geartete Property P_NO_XP.
+
+
+SIEHE AUCH
+==========
+
+   Funktionen:  GiveKillScore(), do_damage()
+   Verwandt:    P_NO_XP
+   Sonstiges:   P_XP
 
 14.Feb 2007 Gloinson
diff --git a/doc/props/P_NO_STD_DRINK b/doc/props/P_NO_STD_DRINK
index a91e92d..f8c2f33 100644
--- a/doc/props/P_NO_STD_DRINK
+++ b/doc/props/P_NO_STD_DRINK
@@ -1,19 +1,37 @@
-NAME:
-	P_NO_STD_DRINK			"no_std_drink"
 
-DEFINIERT IN:
-	/sys/pub.h
+P_NO_STD_DRINK
+**************
 
-BESCHREIBUNG:
-        Durch setzen dieser Property in einer Kneipe sorgt man dafuer, dass 
-        "Standard-Drinks" (z.B. Gluehwein im Dezember) nicht in das Menue
-        der Kneipe aufgenommen werden.
 
-BEMERKUNGEN:
-        Keine.
+NAME
+====
 
-SIEHE AUCH:
-	/std/room/pub.c
+   P_NO_STD_DRINK                  "no_std_drink"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+   Durch setzen dieser Property in einer Kneipe sorgt man dafuer, dass
+   "Standard-Drinks" (z.B. Gluehwein im Dezember) nicht in das Menue
+   der Kneipe aufgenommen werden.
+
+
+BEMERKUNGEN
+===========
+
+   Keine.
+
+
+SIEHE AUCH
+==========
+
+   /std/room/pub.c
+
 Last modified: Sat Mar 04 22:42:00 2000 by Paracelsus
diff --git a/doc/props/P_NO_TPORT b/doc/props/P_NO_TPORT
index 40350e5..1c6de77 100644
--- a/doc/props/P_NO_TPORT
+++ b/doc/props/P_NO_TPORT
@@ -1,15 +1,30 @@
-NAME:
-    P_NO_TPORT                    "tport"                       
 
-DEFINIERT IN:
-    /sys/properties.h
+P_NO_TPORT
+**********
 
-BESCHREIBUNG:
-     Kann folgende Werte annnehmen (definiert in moving.h):
-     NO_TPORT_IN	= Man kann nicht in den Raum hinein teleportieren.
-     NO_TPORT_OUT = Man kann nicht aus dem Raum hinaus teleportieren.
-     NO_TPORT	= Weder noch.
 
-SIEHE AUCH:
-	P_NO_PARA_TRANS
+NAME
+====
 
+   P_NO_TPORT                    "tport"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Kann folgende Werte annnehmen (definiert in moving.h):
+   NO_TPORT_IN        = Man kann nicht in den Raum hinein teleportieren.
+   NO_TPORT_OUT = Man kann nicht aus dem Raum hinaus teleportieren.
+   NO_TPORT   = Weder noch.
+
+
+SIEHE AUCH
+==========
+
+   P_NO_PARA_TRANS
diff --git a/doc/props/P_NO_TRAVELING b/doc/props/P_NO_TRAVELING
index 61425bc..cd1073a 100644
--- a/doc/props/P_NO_TRAVELING
+++ b/doc/props/P_NO_TRAVELING
@@ -1,25 +1,48 @@
-NAME:
-    P_NO_TRAVELING                   "no_traveling"                   
 
-DEFINIERT IN:
-    /sys/transport.h
+P_NO_TRAVELING
+**************
 
-BESCHREIBUNG:
-    Hier steht der allgemeine reise-Befehl nicht zur Verfuegung.
 
-BEMERKUNGEN:
-    P_NO_TRAVELING wird in Transportern gesetzt wenn Spieler ihn 
-    nicht mehr 'automatisch' mittels des 'reise'-Befehls betreten
-    koennen sollen.
+NAME
+====
 
-    Sie bekommen in dem Transporter und in den Zielraeumen auch 
-    keinerlei Hinweise darauf, wohin sie evtl. reisen koennten.
-    
-    Standardmaessig ist P_NO_TRAVELING natuerlich 0.
+   P_NO_TRAVELING                   "no_traveling"
 
-SIEHE AUCH:
-    reise
 
-LETZTER AENDERUNG:
-    Don, 24.01.2002, 10:15:07h von Tilly
-    
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Hier steht der allgemeine reise-Befehl nicht zur Verfuegung.
+
+
+BEMERKUNGEN
+===========
+
+   P_NO_TRAVELING wird in Transportern gesetzt wenn Spieler ihn
+   nicht mehr 'automatisch' mittels des 'reise'-Befehls betreten
+   koennen sollen.
+
+   Sie bekommen in dem Transporter und in den Zielraeumen auch
+   keinerlei Hinweise darauf, wohin sie evtl. reisen koennten.
+
+
+
+   Standardmaessig ist P_NO_TRAVELING natuerlich 0.
+
+
+SIEHE AUCH
+==========
+
+   reise
+
+
+LETZTER AENDERUNG
+=================
+
+   Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_NO_XP b/doc/props/P_NO_XP
index bb09b2a..b16c4ab 100644
--- a/doc/props/P_NO_XP
+++ b/doc/props/P_NO_XP
@@ -1,43 +1,65 @@
-NAME:
-     P_NO_XP                    "no_xp"
 
-DEFINIERT IN:
-     /sys/living/life.h
+P_NO_XP
+*******
 
-BESCHREIBUNG:
-     Im Normalfall bekommt man im Kampf gegen einen Gegner fuer Treffer
-     und beim Toeten eine XP-Gutschrift.
 
-     Ist P_NO_XP gesetzt, so erhaelt man keinerlei XP-Gutschriften
-     fuer den Kampf oder den Tod des NPCs.
+NAME
+====
 
-BEISPIEL:
-     Folgendermassen unterbindet man die Vergabe von Erfahrungspunkte
-     fuer den Angriff eines NPC's:
+   P_NO_XP                    "no_xp"
 
-       include "/sys/living/life.h"
-       inherit "std/npc";
-       void create() {
-         ::create();
-         ...
-         SetProp(P_NO_XP,1);
-       }
 
-     Damit kann P_XP trotzdem einen Wert im NPC haben, der
-     Erstkillstufenpunkte fuer Lebewesen automatisch eintraegt!
+DEFINIERT IN
+============
 
-     Auch fuer das kurzzeitige Unterbinden der Vergabe von
-     Erfahrungspunkten ist diese Property sinnvoller, als P_XP im NPC
-     auf 0 zu setzen.
+   /sys/living/life.h
 
-BEMERKUNGEN:
-     Auch die Vergabe von Erstkillstufenpunkten kann explizit unterbunden
-     werden. Hierfuer gibt es die aehnlich geartete Property P_NO_SCORE.
 
-SIEHE AUCH:
-     Funktionen:  AddExp(), DistributeExp(), do_damage()
-     Properties:  P_XP, P_LAST_XP
-     Verwandt:    P_NO_SCORE
-     Sonstiges:   P_TOTAL_WC, create_default_npc()
+BESCHREIBUNG
+============
+
+   Im Normalfall bekommt man im Kampf gegen einen Gegner fuer Treffer
+   und beim Toeten eine XP-Gutschrift.
+
+   Ist P_NO_XP gesetzt, so erhaelt man keinerlei XP-Gutschriften
+   fuer den Kampf oder den Tod des NPCs.
+
+
+BEISPIEL
+========
+
+   Folgendermassen unterbindet man die Vergabe von Erfahrungspunkte
+   fuer den Angriff eines NPC's:
+
+     include "/sys/living/life.h"
+     inherit "std/npc";
+     void create() {
+       ::create();
+       ...
+       SetProp(P_NO_XP,1);
+     }
+
+   Damit kann P_XP trotzdem einen Wert im NPC haben, der
+   Erstkillstufenpunkte fuer Lebewesen automatisch eintraegt!
+
+   Auch fuer das kurzzeitige Unterbinden der Vergabe von
+   Erfahrungspunkten ist diese Property sinnvoller, als P_XP im NPC
+   auf 0 zu setzen.
+
+
+BEMERKUNGEN
+===========
+
+   Auch die Vergabe von Erstkillstufenpunkten kann explizit unterbunden
+   werden. Hierfuer gibt es die aehnlich geartete Property P_NO_SCORE.
+
+
+SIEHE AUCH
+==========
+
+   Funktionen:  AddExp(), DistributeExp(), do_damage()
+   Properties:  P_XP, P_LAST_XP
+   Verwandt:    P_NO_SCORE
+   Sonstiges:   P_TOTAL_WC, create_default_npc()
 
 14.Feb 2007 Gloinson
diff --git a/doc/props/P_NPC b/doc/props/P_NPC
index 69d1270..60651d8 100644
--- a/doc/props/P_NPC
+++ b/doc/props/P_NPC
@@ -1,8 +1,21 @@
-NAME:
-    P_NPC                         "is_npc"                      
 
-DEFINIERT IN:
-    /sys/properties.h
+P_NPC
+*****
 
-BESCHREIBUNG:
-     Gesetzt bei Monstern.
+
+NAME
+====
+
+   P_NPC                         "is_npc"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt bei Monstern.
diff --git a/doc/props/P_NPC_FASTHEAL b/doc/props/P_NPC_FASTHEAL
index 3f588b9..3c358ef 100644
--- a/doc/props/P_NPC_FASTHEAL
+++ b/doc/props/P_NPC_FASTHEAL
@@ -1,21 +1,39 @@
-NAME:
-	P_NPC_FASTHEAL			"npc_fastheal"
 
-DEFINIERT IN:
-	/sys/pub.h
+P_NPC_FASTHEAL
+**************
 
-BESCHREIBUNG:
-        Durch setzen dieser Property in einer Kneipe sorgt man dafuer, dass 
-        bei NPCs, die dort "tanken", die Lebens- und Konzentrationspunkte
-        direkt erhoeht werden und nicht, wie bei ungesetzter Property, in
-        die jew. Buffer geschrieben werden.
 
-BEMERKUNGEN:
-        Die Benutzung dieser Property sollte nicht unbedingt zum Standard
-        werden.
+NAME
+====
 
-SIEHE AUCH:
-	/std/room/pub.c
+   P_NPC_FASTHEAL                  "npc_fastheal"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+   Durch setzen dieser Property in einer Kneipe sorgt man dafuer, dass
+   bei NPCs, die dort "tanken", die Lebens- und Konzentrationspunkte
+   direkt erhoeht werden und nicht, wie bei ungesetzter Property, in
+   die jew. Buffer geschrieben werden.
+
+
+BEMERKUNGEN
+===========
+
+   Die Benutzung dieser Property sollte nicht unbedingt zum Standard
+   werden.
+
+
+SIEHE AUCH
+==========
+
+   /std/room/pub.c
+
 Last modified: Wed Sep 29 13:58:00 1999 by Paracelsus
diff --git a/doc/props/P_NR_HANDS b/doc/props/P_NR_HANDS
index b0827a9..a3bf299 100644
--- a/doc/props/P_NR_HANDS
+++ b/doc/props/P_NR_HANDS
@@ -1,31 +1,45 @@
+
 P_NR_HANDS
-NAME:
-     P_NR_HANDS "nr_hands"
+**********
 
-DEFINIERT IN:
-     <weapon.h>
 
-BESCHREIBUNG:
-     Wieviele Haende muss man frei haben, um die Waffe zuecken oder den
-     Schild tragen zu koennen?
-     Dieser Wert muss mindestens 1 betragen!
+NAME
+====
 
-     Sollen Spieler die Waffe benutzen koennen, so sind hier nur die Werte 1
-     und 2 moeglich. Falls die Waffe nur von Monstern benutzbar sein soll,
-     kann man hier auch hoehere Werte eintragen (dazu muss man beim Monster
-     P_MAX_HANDS entsprechend hoch setzen). Als Beispiel sei hier nur das
-     vierhaendige Schwert aus dem Friedhof genannt.
+   P_NR_HANDS "nr_hands"
 
-     Defaultmaessig sind alle Waffen Zweihaender.
 
-     Diese Property kann auch bei Zaubern benutzt werden, bei denen man eine
-     oder mehrere Haende frei haben muss.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     P_HANDS, P_HANDS_USED_BY
-     P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
-     UseHands, FreeHands
-     /std/weapon.c, /std/spellbook.c
+   <weapon.h>
 
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   Wieviele Haende muss man frei haben, um die Waffe zuecken oder den
+   Schild tragen zu koennen?
+   Dieser Wert muss mindestens 1 betragen!
+
+   Sollen Spieler die Waffe benutzen koennen, so sind hier nur die Werte 1
+   und 2 moeglich. Falls die Waffe nur von Monstern benutzbar sein soll,
+   kann man hier auch hoehere Werte eintragen (dazu muss man beim Monster
+   P_MAX_HANDS entsprechend hoch setzen). Als Beispiel sei hier nur das
+   vierhaendige Schwert aus dem Friedhof genannt.
+
+   Defaultmaessig sind alle Waffen Zweihaender.
+
+   Diese Property kann auch bei Zaubern benutzt werden, bei denen man eine
+   oder mehrere Haende frei haben muss.
+
+
+SIEHE AUCH
+==========
+
+   P_HANDS, P_HANDS_USED_BY
+   P_MAX_HANDS, P_USED_HANDS, P_FREE_HANDS
+   UseHands, FreeHands
+   /std/weapon.c, /std/spellbook.c
+
 Last modified: Sun May 19 15:00:02 1996 by Wargon
diff --git a/doc/props/P_ORAKEL b/doc/props/P_ORAKEL
index cf383da..773a80d 100644
--- a/doc/props/P_ORAKEL
+++ b/doc/props/P_ORAKEL
@@ -1,9 +1,22 @@
-NAME:
-    P_ORAKEL                      "orakel"                      
 
-DEFINIERT IN:
-    /sys/properties.h
+P_ORAKEL
+********
 
-BESCHREIBUNG:
-     Wenn diese Property gesetzt ist, kann der Wanderer in diesen
-     Raum hinein.
+
+NAME
+====
+
+   P_ORAKEL                      "orakel"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wenn diese Property gesetzt ist, kann der Wanderer in diesen
+   Raum hinein.
diff --git a/doc/props/P_ORIG_FILE_NAME b/doc/props/P_ORIG_FILE_NAME
index 2064360..53243c2 100644
--- a/doc/props/P_ORIG_FILE_NAME
+++ b/doc/props/P_ORIG_FILE_NAME
@@ -1,8 +1,21 @@
-NAME:
-    P_ORIG_FILE_NAME                "original_object_name"               
 
-DEFINIERT IN:
-    /sys/properties.h
+P_ORIG_FILE_NAME
+****************
 
-BESCHREIBUNG:
-     In einer Leiche der Filename des Gestorbenen.
+
+NAME
+====
+
+   P_ORIG_FILE_NAME                "original_object_name"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   In einer Leiche der Filename des Gestorbenen.
diff --git a/doc/props/P_ORIG_NAME b/doc/props/P_ORIG_NAME
index 96a5d73..e44a06d 100644
--- a/doc/props/P_ORIG_NAME
+++ b/doc/props/P_ORIG_NAME
@@ -1,8 +1,21 @@
-NAME:
-    P_ORIG_NAME                   "original_name"               
 
-DEFINIERT IN:
-    /sys/properties.h
+P_ORIG_NAME
+***********
 
-BESCHREIBUNG:
-     In einer Leiche der Name des Gestorbenen. (name(RAW))
+
+NAME
+====
+
+   P_ORIG_NAME                   "original_name"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   In einer Leiche der Name des Gestorbenen. (name(RAW))
diff --git a/doc/props/P_PARA b/doc/props/P_PARA
index 87cc92b..0a7f416 100644
--- a/doc/props/P_PARA
+++ b/doc/props/P_PARA
@@ -1,54 +1,73 @@
-NAME:
-    P_PARA                        "para"                        
 
-DEFINIERT IN:
-    /sys/properties.h
+P_PARA
+******
 
-BESCHREIBUNG:
-    Nummer der Parallelwelt, in der sich ein Spieler befindet.
 
-    Ist die Property P_PARA auf Null gesetzt, so befindet sich der Spieler in
-    der 'Normalwelt'. Gibt es bei einer Bewegung dieses Spielers mehrere
-    moegliche Zielraeume mit identischem Namen aber unterschiedlichen Endungen
-    'name.c', 'name^1.c', 'name^2.c' etc., so wird der Spieler in den Raum
-    'name.c' bewegt. 
+NAME
+====
 
-    Wird die Property P_PARA auf einen Wert n>0 gesetzt, so landet der Spieler
-    bei einer Bewegung im Raum 'name^n.c'. Ist kein Raum mit entsprechender
-    Endung vorhanden, wird der Spieler stattdessen in den Normalweltraum
-    bewegt.
+   P_PARA                        "para"
 
-    Diese Prop kann auch in einem Virtual Compiler gesetzt werden. In diesem
-    Fall schraenkt sie die Dimensionen ein, in denen der VC Objekte erzeugt.
-    Die Prop kann eine einzelne Ziffer (Int) oder ein Array von Ints 
-    aufnehmen, dann ist der VC fuer alle angegeben Dimensionen zustaendig. 
-    Ein leeres Array erlaubt gar keine Para-Objekte.
 
-ANMERKUNG:
-    Die Endung '^0' kennzeichnet _nicht_ die Normalwelt. So lange kein Ausgang
-    explizit auf den Raum 'name^0.c' verweist, wird kein Spieler den Raum
-    betreten koennen. Deshalb kann man die Endung '^0' z.B. dazu benutzen, um
-    eigene Standardraeume fuer ein Gebiet zu schreiben, die dann sowohl von
-    den Normal- als auch von den Parallelweltraeumen inheritet werden.
+DEFINIERT IN
+============
 
-    Raeume mit Endungen '^n.c', bei denen 'n' keine positive ganze Zahl ist,
-    werden nicht beachtet.
+   /sys/properties.h
 
-    Fuer die Entscheidung, in welchem Raum ein Spieler in Abhaengigkeit von
-    P_PARA landet, ist die Funktion move() zustaendig. Als Magier muss man sich
-    darum nicht gesondert kuemmern. Das heisst aber auch, dass beim Anschluss
-    eines Normalweltraumes automatisch alle in dem Verzeichnis mit gleichem
-    Namen vorhandenen Parallelweltraeume mit angeschlossen werden.
 
-    Sollen einzelne Parallelweltraeume noch nicht angeschlossen werden, so muss
-    in ihnen die Property P_NO_PLAYERS gesetzt werden. Diese Raeume sind dann
-    nur durch Magier und Testspieler zu betreten (und zu testen).
+BESCHREIBUNG
+============
 
-    In Paraweltraeumen liefert P_PARA 'n' zurueck.
-    Man kann also z.B. in NPCs einfach ueber environment()->QueryProp(P_PARA) 
-    abfragen, in welcher Parawelt sich dieser gerade befindet.
+   Nummer der Parallelwelt, in der sich ein Spieler befindet.
 
-SIEHE AUCH:
-    P_NO_PLAYERS, move, pararaeume
-    
+   Ist die Property P_PARA auf Null gesetzt, so befindet sich der Spieler in
+   der 'Normalwelt'. Gibt es bei einer Bewegung dieses Spielers mehrere
+   moegliche Zielraeume mit identischem Namen aber unterschiedlichen Endungen
+   'name.c', 'name^1.c', 'name^2.c' etc., so wird der Spieler in den Raum
+   'name.c' bewegt.
+
+   Wird die Property P_PARA auf einen Wert n>0 gesetzt, so landet der Spieler
+   bei einer Bewegung im Raum 'name^n.c'. Ist kein Raum mit entsprechender
+   Endung vorhanden, wird der Spieler stattdessen in den Normalweltraum
+   bewegt.
+
+   Diese Prop kann auch in einem Virtual Compiler gesetzt werden. In diesem
+   Fall schraenkt sie die Dimensionen ein, in denen der VC Objekte erzeugt.
+   Die Prop kann eine einzelne Ziffer (Int) oder ein Array von Ints
+   aufnehmen, dann ist der VC fuer alle angegeben Dimensionen zustaendig.
+   Ein leeres Array erlaubt gar keine Para-Objekte.
+
+
+ANMERKUNG
+=========
+
+   Die Endung '^0' kennzeichnet _nicht_ die Normalwelt. So lange kein Ausgang
+   explizit auf den Raum 'name^0.c' verweist, wird kein Spieler den Raum
+   betreten koennen. Deshalb kann man die Endung '^0' z.B. dazu benutzen, um
+   eigene Standardraeume fuer ein Gebiet zu schreiben, die dann sowohl von
+   den Normal- als auch von den Parallelweltraeumen inheritet werden.
+
+   Raeume mit Endungen '^n.c', bei denen 'n' keine positive ganze Zahl ist,
+   werden nicht beachtet.
+
+   Fuer die Entscheidung, in welchem Raum ein Spieler in Abhaengigkeit von
+   P_PARA landet, ist die Funktion move() zustaendig. Als Magier muss man sich
+   darum nicht gesondert kuemmern. Das heisst aber auch, dass beim Anschluss
+   eines Normalweltraumes automatisch alle in dem Verzeichnis mit gleichem
+   Namen vorhandenen Parallelweltraeume mit angeschlossen werden.
+
+   Sollen einzelne Parallelweltraeume noch nicht angeschlossen werden, so muss
+   in ihnen die Property P_NO_PLAYERS gesetzt werden. Diese Raeume sind dann
+   nur durch Magier und Testspieler zu betreten (und zu testen).
+
+   In Paraweltraeumen liefert P_PARA 'n' zurueck.
+   Man kann also z.B. in NPCs einfach ueber environment()->QueryProp(P_PARA)
+   abfragen, in welcher Parawelt sich dieser gerade befindet.
+
+
+SIEHE AUCH
+==========
+
+   P_NO_PLAYERS, move, pararaeume
+
 25.Jan 2015 Gloinson
diff --git a/doc/props/P_PARRY b/doc/props/P_PARRY
index 03550df..40ddecd 100644
--- a/doc/props/P_PARRY
+++ b/doc/props/P_PARRY
@@ -1,31 +1,47 @@
+
 P_PARRY
+*******
 
-NAME:
-     P_PARRY "parry"
 
-DEFINIERT IN:
-     <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Property legt fest, inwiefern eine Waffe als Parierwaffe
-     genutzt werden kann. Moegliche Werte:
+   P_PARRY "parry"
 
-         PARRY_NOT     Eine reine Angriffswaffe ohne Parierfunktion.
 
-         PARRY_TOO     Eine kombinierte Angriffs- und Parierwaffe.
+DEFINIERT IN
+============
 
-         PARRY_ONLY    Eine reine Parierwaffe. Diese kann zusaetzlich
-                       zu einer normalen Waffe gezueckt werden.
+   <combat.h>
 
-     Man sollte nur die in <combat.h> definierten Konstanten verwenden.
 
-BEMERKUNGEN:
-     Durch diese Propertie laesst sich _kein_ Parade-Bonus fuer Trves 
-     setzen! Alle Gilden haben etwas davon. Vor Verwendung bitte mit
-     der Objekt-Balance absprechen.
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-     /std/weapon/combat.c
+   Diese Property legt fest, inwiefern eine Waffe als Parierwaffe
+   genutzt werden kann. Moegliche Werte:
 
-----------------------------------------------------------------------------
+       PARRY_NOT     Eine reine Angriffswaffe ohne Parierfunktion.
+
+       PARRY_TOO     Eine kombinierte Angriffs- und Parierwaffe.
+
+       PARRY_ONLY    Eine reine Parierwaffe. Diese kann zusaetzlich
+                     zu einer normalen Waffe gezueckt werden.
+
+   Man sollte nur die in <combat.h> definierten Konstanten verwenden.
+
+
+BEMERKUNGEN
+===========
+
+   Durch diese Propertie laesst sich _kein_ Parade-Bonus fuer Trves
+   setzen! Alle Gilden haben etwas davon. Vor Verwendung bitte mit
+   der Objekt-Balance absprechen.
+
+
+SIEHE AUCH
+==========
+
+   /std/weapon/combat.c
+
 Last modified: Sat Jun 01 13:28:45 2001 by Tilly
diff --git a/doc/props/P_PARRY_WEAPON b/doc/props/P_PARRY_WEAPON
index c873bfb..9ee60aa 100644
--- a/doc/props/P_PARRY_WEAPON
+++ b/doc/props/P_PARRY_WEAPON
@@ -1,17 +1,30 @@
+
 P_PARRY_WEAPON
+**************
 
-NAME:
-     P_PARRY_WEAPON "parry_weapon"
 
-DEFINIERT IN:
-     <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Property gibt an, welche Parierwaffe ein Spieler derzeit
-     gezueckt hat.
+   P_PARRY_WEAPON "parry_weapon"
 
-SIEHE AUCH:
-     /std/weapon/combat.c, /std/living/combat.c
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Diese Property gibt an, welche Parierwaffe ein Spieler derzeit
+   gezueckt hat.
+
+
+SIEHE AUCH
+==========
+
+   /std/weapon/combat.c, /std/living/combat.c
+
 Last modified: Sat Jun 26 15:23:00 1999 by Paracelsus
diff --git a/doc/props/P_PEACE_HISTORY b/doc/props/P_PEACE_HISTORY
index f3cb2d2..eab38d5 100644
--- a/doc/props/P_PEACE_HISTORY
+++ b/doc/props/P_PEACE_HISTORY
@@ -1,42 +1,62 @@
+
 P_PEACE_HISTORY
+***************
 
-NAME:
-     P_PEACE_HISTORY      "_peace_history"
 
-DEFINIERT IN:
-     /sys/living/combat.h
+NAME
+====
 
-BESCHREIBUNG:
-    In dieser Prop wird nach Gilden getrennt gespeichet, wie oft das Lebewesen
-    in letzter Zeit befriedet worden ist. Diese Information geht in die
-    Chance auf eine zukuenftige Befriedung ein.
-    Die Zaehler werden im Durchschnitt alle 2700s um 2-3 reduziert.
-    Die Datenstruktur ist ein Array, welches einen Zeitstempel als erstes
-    Element und ein Mapping als zweites enthaelt. Das Mapping enthaelt unter
-    den Gildennamen als Keys den ganzzahligen Zaehler erfolgreicher
-    Befriedungen von Spielern dieser Gilde.
+   P_PEACE_HISTORY      "_peace_history"
 
-BEMERKUNGEN:
-    * Diese Property sollte niemals direkt geaendert werden. Bitte greift also
-      nur lesend darauf zu. Sollte hiermit Schindluder getrieben werden,
-      werden die Daten vor externer Aenderung geschuetzt.
-    * Die Datenstruktur in dieser Prop kann in Zukunft u.U. geaendert werden.
-      Daher aendert sie am besten auch nicht im eigenen NPC oder seid darauf
-      gefasst, irgendwann Hand anlegen zu muessen.
-    * Die Aktualisierung (auch die Reduktion) findet im Zuge eines
-      QueryPacify() statt, nicht im Reset des Lebewesens.
 
-BEISPIEL:
-    In P_PEACE_HISTORY steht:
-    ({1209654597, (["zauberer": 3, "klerus": 4]) })
-    Bei der Berechnung der naechsten Befriede-Chance gehen bei Zauberern also
-    3 erfolgreiche Versuche, bei Klerikern 4 erfolgreiche Versuche ein.
-    Der Zeitwert an erster Stelle des Arrays wird der bei der Berechnung der
-    naechsten Reduktion der Zaehler beruecksichtigt. (Genaues: s. combat.c)
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     P_PEACE_ACCEPT
-     QueryPacify()
-     /std/living/combat.c
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Prop wird nach Gilden getrennt gespeichet, wie oft das Lebewesen
+   in letzter Zeit befriedet worden ist. Diese Information geht in die
+   Chance auf eine zukuenftige Befriedung ein.
+   Die Zaehler werden im Durchschnitt alle 2700s um 2-3 reduziert.
+   Die Datenstruktur ist ein Array, welches einen Zeitstempel als erstes
+   Element und ein Mapping als zweites enthaelt. Das Mapping enthaelt unter
+   den Gildennamen als Keys den ganzzahligen Zaehler erfolgreicher
+   Befriedungen von Spielern dieser Gilde.
+
+
+BEMERKUNGEN
+===========
+
+   * Diese Property sollte niemals direkt geaendert werden. Bitte greift also
+     nur lesend darauf zu. Sollte hiermit Schindluder getrieben werden,
+     werden die Daten vor externer Aenderung geschuetzt.
+   * Die Datenstruktur in dieser Prop kann in Zukunft u.U. geaendert werden.
+     Daher aendert sie am besten auch nicht im eigenen NPC oder seid darauf
+     gefasst, irgendwann Hand anlegen zu muessen.
+   * Die Aktualisierung (auch die Reduktion) findet im Zuge eines
+     QueryPacify() statt, nicht im Reset des Lebewesens.
+
+
+BEISPIEL
+========
+
+   In P_PEACE_HISTORY steht:
+   ({1209654597, (["zauberer": 3, "klerus": 4]) })
+   Bei der Berechnung der naechsten Befriede-Chance gehen bei Zauberern also
+   3 erfolgreiche Versuche, bei Klerikern 4 erfolgreiche Versuche ein.
+   Der Zeitwert an erster Stelle des Arrays wird der bei der Berechnung der
+   naechsten Reduktion der Zaehler beruecksichtigt. (Genaues: s. combat.c)
+
+
+SIEHE AUCH
+==========
+
+   P_PEACE_ACCEPT
+   QueryPacify()
+   /std/living/combat.c
 
 01.05.2008, Zesstra
diff --git a/doc/props/P_PERM_STRING b/doc/props/P_PERM_STRING
index d7904b7..373c516 100644
--- a/doc/props/P_PERM_STRING
+++ b/doc/props/P_PERM_STRING
@@ -1,11 +1,24 @@
-NAME:
-    P_PERM_STRING                 "perm_string"                 
 
-DEFINIERT IN:
-    /sys/player/comm.h
+P_PERM_STRING
+*************
 
-BESCHREIBUNG:
-     Fuer Sprachflueche, Property ist im Spieler-Objekt zu setzen. In dem
-     Objekt, das in P_PERM_STRING gespeichert ist, wird bei Sprachbefehlen
-     permutate_string(str) aufgerufen und der zurueckgegebene String 
-     stattdessen ausgegeben.
+
+NAME
+====
+
+   P_PERM_STRING                 "perm_string"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+   Fuer Sprachflueche, Property ist im Spieler-Objekt zu setzen. In dem
+   Objekt, das in P_PERM_STRING gespeichert ist, wird bei Sprachbefehlen
+   permutate_string(str) aufgerufen und der zurueckgegebene String
+   stattdessen ausgegeben.
diff --git a/doc/props/P_PICK_MSG b/doc/props/P_PICK_MSG
index f77d508..76b2760 100644
--- a/doc/props/P_PICK_MSG
+++ b/doc/props/P_PICK_MSG
@@ -1,60 +1,78 @@
+
 P_PICK_MSG
-NAME:
-     P_PICK_MSG				"pick_message"
+**********
 
-DEFINIERT IN:
-     /sys/living/put_and_get.h
 
-BESCHREIBUNG:
-     Mit P_PICK_MSG kann man die Meldung, die man beim Aufnehmen eines
-     Objektes bekommt, modifizieren.
+NAME
+====
 
-     Folgende Werte sind moeglich:
+   P_PICK_MSG                         "pick_message"
 
-     o 0
-       Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
 
-     o NO_PNG_MSG       == -1
-       Es wird keinerlei Meldung ausgegeben
+DEFINIERT IN
+============
 
-     o Ein Array aus Strings
-       Der erste String wird an den Spieler ausgegeben, der zweite
-       (optionale) an den Raum.
+   /sys/living/put_and_get.h
 
-       Die Strings werden durch die Funktion replace_personal() geparst.
-	Objekt1 - Spieler
-        Objekt2 - das Objekt, das genommen wird
 
-       Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
-       Raum.
+BESCHREIBUNG
+============
 
-BEISPIEL:
-     void create() {
-      ...
-      SetProp( P_SHORT, "Etwas Sand" );
-      SetProp( P_LONG, break_string(
-       "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+   Mit P_PICK_MSG kann man die Meldung, die man beim Aufnehmen eines
+   Objektes bekommt, modifizieren.
 
-      SetProp( P_NAME, "Sand" );
-      AddId( ({"sand"}) );
-      SetProp( P_GENDER, MALE );
+   Folgende Werte sind moeglich:
 
-      SetProp( P_PICK_MSG, ({
-       "Du schaufelst @WEN2 in deine Hand.",
-       "@WER1 schaufelt @WEN2 in eine Hand."}));
-      ...
-     }
+   o 0
+     Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
 
-     Das ganze fuehrt bei Ugars "nimm sand" zu folgenden
-     Meldungen:
+   o NO_PNG_MSG       == -1
+     Es wird keinerlei Meldung ausgegeben
 
-     Ugar: "Du schaufelst den Sand in deine Hand."
-     Raum: "Ugar schaufelt den Sand in eine Hand."
+   o Ein Array aus Strings
+     Der erste String wird an den Spieler ausgegeben, der zweite
+     (optionale) an den Raum.
 
-SIEHE AUCH:
-     Aehnliches: P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
-     Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
-                 P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET 
-     Sonstiges:  replace_personal(E), pick_obj(L), /std/living/put_and_get.c
+     Die Strings werden durch die Funktion replace_personal() geparst.
+      Objekt1 - Spieler
+      Objekt2 - das Objekt, das genommen wird
+
+     Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
+     Raum.
+
+
+BEISPIEL
+========
+
+   void create() {
+    ...
+    SetProp( P_SHORT, "Etwas Sand" );
+    SetProp( P_LONG, break_string(
+     "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+
+    SetProp( P_NAME, "Sand" );
+    AddId( ({"sand"}) );
+    SetProp( P_GENDER, MALE );
+
+    SetProp( P_PICK_MSG, ({
+     "Du schaufelst @WEN2 in deine Hand.",
+     "@WER1 schaufelt @WEN2 in eine Hand."}));
+    ...
+   }
+
+   Das ganze fuehrt bei Ugars "nimm sand" zu folgenden
+   Meldungen:
+
+   Ugar: "Du schaufelst den Sand in deine Hand."
+   Raum: "Ugar schaufelt den Sand in eine Hand."
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
+   Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+               P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
+   Sonstiges:  replace_personal(E), pick_obj(L), /std/living/put_and_get.c
 
 14. Maerz 2004 Gloinson
diff --git a/doc/props/P_PILE_NAME b/doc/props/P_PILE_NAME
index e54dc72..edb0123 100644
--- a/doc/props/P_PILE_NAME
+++ b/doc/props/P_PILE_NAME
@@ -1,9 +1,22 @@
-NAME:
-    P_PILE_NAME                   "file_name"               
 
-DEFINIERT IN:
-    /sys/container/properties.h
+P_PILE_NAME
+***********
 
-BESCHREIBUNG:
-     In einer Leiche der Name des Gestorbenen im Dativ. (name(WEM))
-     Wird vom Haufen benoetigt.
+
+NAME
+====
+
+   P_PILE_NAME                   "file_name"
+
+
+DEFINIERT IN
+============
+
+   /sys/container/properties.h
+
+
+BESCHREIBUNG
+============
+
+   In einer Leiche der Name des Gestorbenen im Dativ. (name(WEM))
+   Wird vom Haufen benoetigt.
diff --git a/doc/props/P_PLAYER_LIGHT b/doc/props/P_PLAYER_LIGHT
index ddd59b5..ce0c22d 100644
--- a/doc/props/P_PLAYER_LIGHT
+++ b/doc/props/P_PLAYER_LIGHT
@@ -1,28 +1,44 @@
-NAME:
-    P_PLAYER_LIGHT                       "player_light"
 
-DEFINIERT IN:
-    /sys/properties.h
+P_PLAYER_LIGHT
+**************
 
-BESCHREIBUNG:
-    Gibt den Lichtlevel an, mit dem ein Lebewesen sieht, ein Abfragen dieser
-    Property kann z.B. sinnvoll sein wenn man abfragen will ob ein Spieler
-    genug Licht dabei hat um ein bestimmtes Detail untersuchen zu koennen.
 
-    Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
-    da das Lichtlevel ggf. neu berechnet werden muss!
+NAME
+====
 
-    Ein direktes setzen dieser Property ist NICHT moeglich. Es ist jedoch
-    moeglich entweder eine Closure zu benutzen oder den Wert ueber einen
-    P_LIGHT_MODIFIER zu veraendern.
+   P_PLAYER_LIGHT                       "player_light"
 
-    Um zu erreichen, das ein NPC Nachtsicht bekommt, gibt es nun 3 Varianten.
-    - eine closure:
-        Set(P_PLAYER_LIGHT, function int () {return 1;} , F_QUERY_METHOD) 
-      dieses bedeutet, dass der NPC in jeder Dunkelheit perfekt sehen kann.
-    - das setzen von einem P_LIGHT_MODIFIER
-    - das benutzen des stdskills. Hierzu schreibt man in das create() des
-      NPCs einfach ein: ModifySkill(SK_NIGHTVISION, 10000);
 
-SIEHE AUCH:
-    P_LIGHT_MODIFIER, P_LIGHT, P_TOTAL_LIGHT, P_INT_LIGHT, CannotSee()
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Gibt den Lichtlevel an, mit dem ein Lebewesen sieht, ein Abfragen dieser
+   Property kann z.B. sinnvoll sein wenn man abfragen will ob ein Spieler
+   genug Licht dabei hat um ein bestimmtes Detail untersuchen zu koennen.
+
+   Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
+   da das Lichtlevel ggf. neu berechnet werden muss!
+
+   Ein direktes setzen dieser Property ist NICHT moeglich. Es ist jedoch
+   moeglich entweder eine Closure zu benutzen oder den Wert ueber einen
+   P_LIGHT_MODIFIER zu veraendern.
+
+   Um zu erreichen, das ein NPC Nachtsicht bekommt, gibt es nun 3 Varianten.
+   - eine closure:
+       Set(P_PLAYER_LIGHT, function int () {return 1;} , F_QUERY_METHOD)
+     dieses bedeutet, dass der NPC in jeder Dunkelheit perfekt sehen kann.
+   - das setzen von einem P_LIGHT_MODIFIER
+   - das benutzen des stdskills. Hierzu schreibt man in das create() des
+     NPCs einfach ein: ModifySkill(SK_NIGHTVISION, 10000);
+
+
+SIEHE AUCH
+==========
+
+   P_LIGHT_MODIFIER, P_LIGHT, P_TOTAL_LIGHT, P_INT_LIGHT, CannotSee()
diff --git a/doc/props/P_PLURAL b/doc/props/P_PLURAL
index 0a5e3a5..eed829f 100644
--- a/doc/props/P_PLURAL
+++ b/doc/props/P_PLURAL
@@ -1,39 +1,58 @@
-NAME:
-    P_PLURAL                      "plural"
 
-DEFINIERT IN:
-    /sys/thing/language.h
+P_PLURAL
+********
 
-BESCHREIBUNG:
-    Mit Hilfe von P_PLURAL koennen auch nicht Unit Objekte als Pluralobjekte
-    markiert werden. Bei einem Wert > 1 wird der Wert ausserdem auch noch in
-    den Namen eingefuegt. Sollte man in eigenem Code zulassen wollen, das
-    etwas mit bestimmten Objekten geschieht, dann sollte man die Verben
-    entsprechen konjugieren.
 
-BEMERKUNGEN:
-    Wirkt nicht auf Todesmeldungen -> siehe dafuer P_KILL_MSG
+NAME
+====
 
-BEISPIELE:
-    SetProp(P_NAME, "Stiefel"); SetProp(P_PLURAL, 2);
-    name(WER, 1) -> "die zwei Stiefel"
+   P_PLURAL                      "plural"
 
-    SetProp(P_NAME, "Stiefel"); SetProp(P_PLURAL, 1);
-    name(WER, 1) -> "die Stiefel"
 
-    // Ein Beispiel fuer das konjugieren von Verben
-    static int cmd_opfer(string str)
-    {
-       int i;
-       object *obs;
-       notify_fail("Was moechtest Du opfern?\n");
-       if (!str || !sizeof(obs=PL->find_obs(str))) return 0;
-       for (i=sizeof(obs)-1; i>=0; i--)
-          if (obs[i]->QueryProp(P_VALUE)<=0)
-            write(obs[i]->Name(WER)+" "
-                 +(ob->QueryProp(P_PLURAL) ? "sind" : "ist")
-                 +" doch gar nichts wert.\n");
-          else obs[i]->remove();
-    }
+DEFINIERT IN
+============
+
+   /sys/thing/language.h
+
+
+BESCHREIBUNG
+============
+
+   Mit Hilfe von P_PLURAL koennen auch nicht Unit Objekte als Pluralobjekte
+   markiert werden. Bei einem Wert > 1 wird der Wert ausserdem auch noch in
+   den Namen eingefuegt. Sollte man in eigenem Code zulassen wollen, das
+   etwas mit bestimmten Objekten geschieht, dann sollte man die Verben
+   entsprechen konjugieren.
+
+
+BEMERKUNGEN
+===========
+
+   Wirkt nicht auf Todesmeldungen -> siehe dafuer P_KILL_MSG
+
+
+BEISPIELE
+=========
+
+   SetProp(P_NAME, "Stiefel"); SetProp(P_PLURAL, 2);
+   name(WER, 1) -> "die zwei Stiefel"
+
+   SetProp(P_NAME, "Stiefel"); SetProp(P_PLURAL, 1);
+   name(WER, 1) -> "die Stiefel"
+
+   // Ein Beispiel fuer das konjugieren von Verben
+   static int cmd_opfer(string str)
+   {
+      int i;
+      object *obs;
+      notify_fail("Was moechtest Du opfern?\n");
+      if (!str || !sizeof(obs=PL->find_obs(str))) return 0;
+      for (i=sizeof(obs)-1; i>=0; i--)
+         if (obs[i]->QueryProp(P_VALUE)<=0)
+           write(obs[i]->Name(WER)+" "
+                +(ob->QueryProp(P_PLURAL) ? "sind" : "ist")
+                +" doch gar nichts wert.\n");
+         else obs[i]->remove();
+   }
 
 26. Juni 2004 Gloinson
diff --git a/doc/props/P_POISON b/doc/props/P_POISON
index 2b7ea7b..2ab5dc1 100644
--- a/doc/props/P_POISON
+++ b/doc/props/P_POISON
@@ -1,8 +1,21 @@
-NAME:
-    P_POISON                      "poison"                      
 
-DEFINIERT IN:
-    /sys/properties.h
+P_POISON
+********
 
-BESCHREIBUNG:
-     Wie stark wir vergiftet sind (0-11)
+
+NAME
+====
+
+   P_POISON                      "poison"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wie stark wir vergiftet sind (0-11)
diff --git a/doc/props/P_POISON_DELAY b/doc/props/P_POISON_DELAY
index aba57c6..079efd9 100644
--- a/doc/props/P_POISON_DELAY
+++ b/doc/props/P_POISON_DELAY
@@ -1,13 +1,25 @@
-NAME:
-    P_POISON_DELAY                     "poison_delay"                     
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_POISON_DELAY
+**************
 
-BESCHREIBUNG:
-     Anzahl der heart_beats nach denen sich die Giftwirkung erneut 
-     zeigt. Je kleiner der Wert, desto empfindlicher ist das Lebewesen
-     gegen Gift.
-     Aenderungen dieser Property in Spielern beduerfen der Genehmigung
-     des EMs fuer Balance.
-     
+
+NAME
+====
+
+   P_POISON_DELAY                     "poison_delay"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der heart_beats nach denen sich die Giftwirkung erneut
+   zeigt. Je kleiner der Wert, desto empfindlicher ist das Lebewesen
+   gegen Gift.
+   Aenderungen dieser Property in Spielern beduerfen der Genehmigung
+   des EMs fuer Balance.
diff --git a/doc/props/P_PORTIONS b/doc/props/P_PORTIONS
index cb134e6..a6bdf16 100644
--- a/doc/props/P_PORTIONS
+++ b/doc/props/P_PORTIONS
@@ -1,21 +1,39 @@
-NAME:
-     P_PORTIONS                    "std_food_portions"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_PORTIONS
+**********
 
-BESCHREIBUNG:
-     In dieser Property steht die Anzahl der Portionen einer Speise.
-     Es duerfen nur Werte > -1 gesetzt werden. Ist diese Property 0,
-     wird die Speise als leer bzw. verbraucht angesehen und kann nicht
-     konsumiert werden.
-     
-DEFAULT:
-     Initial ist diese Property auf 1 gesetzt, die Speise ist also mit
-     einem Bissen/Schluck verbraucht bzw. leer.
 
-SIEHE AUCH:
-     /std/food.c, wiz/food
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_PORTIONS                    "std_food_portions"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   In dieser Property steht die Anzahl der Portionen einer Speise.
+   Es duerfen nur Werte > -1 gesetzt werden. Ist diese Property 0,
+   wird die Speise als leer bzw. verbraucht angesehen und kann nicht
+   konsumiert werden.
+
+
+DEFAULT
+=======
+
+   Initial ist diese Property auf 1 gesetzt, die Speise ist also mit
+   einem Bissen/Schluck verbraucht bzw. leer.
+
+
+SIEHE AUCH
+==========
+
+   /std/food.c, wiz/food
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_POST b/doc/props/P_POST
index 53a6f74..975a884 100644
--- a/doc/props/P_POST
+++ b/doc/props/P_POST
@@ -1,64 +1,82 @@
-NAME:
-	P_POST				"Post"
 
-DEFINIERT IN:
-	/mail/post.h
+P_POST
+******
 
-BESCHREIBUNG:
-	In dieser Property laesst sich die Versendeerlaubnis von Paketen
-	regeln. Hierbei gibt es zum einen die postlagernden Pakete, die man
-	in einer Post abholen muss, und es gibt die sogenannten
-	Kurierpakete, welche direkt und unmittelbar zugestellt werden.
-	Nicht immer ist es erwuenscht, dass Pakete aus der Ferne in einen
-	Raum geschickt werden duerfen. Dies duerfte insbesondere innerhalb
-	von Gebieten interessant sein, in welche man nur beschraenkt viele
-	Objekte mitfuehren kann. Mit dieser Property nun ist es leicht
-	moeglich, dies zu verbieten. Man kann auch in den Objekten selbst
-	angeben, ob diese per postlagerndem Paket bzw. Kurierpaket
-	verschickt werden duerfen. Dies duerfte zum Beispiel bei Komponenten
-	fuer Spells oder fuer Unique-Objekte interessant sein.
-	Folgende Werte sind moeglich, wobei in Raeumen und Objekten
-	Standardmaessig PP_DEFAULT genutzt wird:
 
-	  PP_FORBIDDEN		-2	// auf jeden Fall verboten
-	  PP_NO_EXPRESS		-1	// Kurierpakete verboten
-	  PP_DEFAULT		 0	// Default
-	  PP_NORMAL_ALLOWED	 1	// postlagernde Pakete erlaubt
-	  PP_ALLOWED		 2	// auf jeden Fall erlaubt
+NAME
+====
 
-	Raeume, die von /std/post.c abgeleitet wurden, nutzen als Standard
-	natuerlich PP_ALLOWED.
+   P_POST                          "Post"
 
-BEISPIEL:
-	Um Kurierpakete fuer einen Raum zu verbieten, nutzt man die
-	Funktionalitaet dieser Property folgendermassen:
 
-	  include "/mail/post.h"
-	  ...
-	  void create()
-	  { ::create();
-	    ...
-	    SetProp(P_POST,PP_NO_EXPRESS);
-	    ...
-	  }
+DEFINIERT IN
+============
 
-	Objekte selbst koennte man folgendermassen aus Paketen verbannen,
-	welche versendet werden sollen:
+   /mail/post.h
 
-	  include "/mail/post.h"
-	  ...
-	  void create()
-	  { ::create();
-	    ...
-	    SetProp(P_POST,PP_FORBIDDEN);
-	    ...
-	  }
 
-	In letzterem Fall funktionieren im Gegensatz zum ersten Beispiel
-	auch keine postlagernden Pakete mehr.
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-	/std/post.c, /std/mailcabin.c, /p/service/loco/std/mailcabin.c
+   In dieser Property laesst sich die Versendeerlaubnis von Paketen
+   regeln. Hierbei gibt es zum einen die postlagernden Pakete, die man
+   in einer Post abholen muss, und es gibt die sogenannten
+   Kurierpakete, welche direkt und unmittelbar zugestellt werden.
+   Nicht immer ist es erwuenscht, dass Pakete aus der Ferne in einen
+   Raum geschickt werden duerfen. Dies duerfte insbesondere innerhalb
+   von Gebieten interessant sein, in welche man nur beschraenkt viele
+   Objekte mitfuehren kann. Mit dieser Property nun ist es leicht
+   moeglich, dies zu verbieten. Man kann auch in den Objekten selbst
+   angeben, ob diese per postlagerndem Paket bzw. Kurierpaket
+   verschickt werden duerfen. Dies duerfte zum Beispiel bei Komponenten
+   fuer Spells oder fuer Unique-Objekte interessant sein.
+   Folgende Werte sind moeglich, wobei in Raeumen und Objekten
+   Standardmaessig PP_DEFAULT genutzt wird:
 
-----------------------------------------------------------------------------
+     PP_FORBIDDEN          -2      // auf jeden Fall verboten
+     PP_NO_EXPRESS         -1      // Kurierpakete verboten
+     PP_DEFAULT             0      // Default
+     PP_NORMAL_ALLOWED      1      // postlagernde Pakete erlaubt
+     PP_ALLOWED             2      // auf jeden Fall erlaubt
+
+   Raeume, die von /std/post.c abgeleitet wurden, nutzen als Standard
+   natuerlich PP_ALLOWED.
+
+
+BEISPIEL
+========
+
+   Um Kurierpakete fuer einen Raum zu verbieten, nutzt man die
+   Funktionalitaet dieser Property folgendermassen:
+
+     include "/mail/post.h"
+     ...
+     void create()
+     { ::create();
+       ...
+       SetProp(P_POST,PP_NO_EXPRESS);
+       ...
+     }
+
+   Objekte selbst koennte man folgendermassen aus Paketen verbannen,
+   welche versendet werden sollen:
+
+     include "/mail/post.h"
+     ...
+     void create()
+     { ::create();
+       ...
+       SetProp(P_POST,PP_FORBIDDEN);
+       ...
+     }
+
+   In letzterem Fall funktionieren im Gegensatz zum ersten Beispiel
+   auch keine postlagernden Pakete mehr.
+
+
+SIEHE AUCH
+==========
+
+   /std/post.c, /std/mailcabin.c, /p/service/loco/std/mailcabin.c
+
 Last modified: Sun Sep  6 19:34:37 1998 by Patryn
diff --git a/doc/props/P_POTIONROOMS b/doc/props/P_POTIONROOMS
index 5820be2..0df158f 100644
--- a/doc/props/P_POTIONROOMS
+++ b/doc/props/P_POTIONROOMS
@@ -1,19 +1,35 @@
-NAME:
-    P_POTIONROOMS                 "potionrooms"                 
 
-DEFINIERT IN:
-    /sys/player/potion.h
+P_POTIONROOMS
+*************
 
-BESCHREIBUNG:
-    Array mit den Nummern der Raeume, in denen der Spieler noch Zauber-
-    traenke hat. Die Freischaltung als bekannt geschieht im Orakel.
-    Die Zuordnung der Raeume und Nummern geschieht im Potionmaster.
 
-    Nur lesbare _query - Property.
+NAME
+====
 
-SIEHE AUCH:
-    Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
-    Verwandt:  FindPotion(), AddKnownPotion(), RemoveKnownPotion(), InList()
-    Props:     P_KNOWN_POTIONROOMS
+   P_POTIONROOMS                 "potionrooms"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/potion.h
+
+
+BESCHREIBUNG
+============
+
+   Array mit den Nummern der Raeume, in denen der Spieler noch Zauber-
+   traenke hat. Die Freischaltung als bekannt geschieht im Orakel.
+   Die Zuordnung der Raeume und Nummern geschieht im Potionmaster.
+
+   Nur lesbare _query - Property.
+
+
+SIEHE AUCH
+==========
+
+   Sonstiges: zaubertraenke, /secure/potionmaster.c, /room/orakel.c
+   Verwandt:  FindPotion(), AddKnownPotion(), RemoveKnownPotion(), InList()
+   Props:     P_KNOWN_POTIONROOMS
 
 6.Feb 2016 Gloinson
diff --git a/doc/props/P_PRAY_ROOM b/doc/props/P_PRAY_ROOM
index 3c8f9ff..ad0a469 100644
--- a/doc/props/P_PRAY_ROOM
+++ b/doc/props/P_PRAY_ROOM
@@ -1,36 +1,54 @@
-NAME:
-    P_PRAY_ROOM                      "_lib_p_pray_room"                  
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_PRAY_ROOM
+***********
 
-BESCHREIBUNG:
-    Dies ist der Raum, in den der Spieler nach dem Ende der Todessequenz
-    bewegt wird, d.h. ein Raum, wo er beten kann, um einen neuen Koerper zu
-    erhalten.
-    Der Raum muss als String angegeben werden (kein Objekt).
 
-    Diese Property wird im Spieler rebootfest gespeichert.
+NAME
+====
 
-    Der jeweils gueltige Betraum wird im Spieler mittels QueryPrayRoom()
-    ermittelt. Jede Rasse hat einen Default fuer diese Funktion. Wird die
-    Property auf 0 dgesetzt, wird dieser Default wiederhergestellt.
+   P_PRAY_ROOM                      "_lib_p_pray_room"
 
-    Von einer Ueberlagerung mittels Query- oder gar Setmethoden wird
-    abgeraten. Ebenso lasst bitte die Modusbits unveraendert.
 
-    Vor einer Aenderung dieser Property sollte geprueft werden, ob sie 0 ist.
-    Wenn nicht, sollte von einem Setzen der Property abgesehen werden, da dann
-    schon jemand anders den Betraum des Spielers geaendert hat. (Gleiches gilt
-    fuers Loeschen.) Bitte niemals den Inhalt der Property woanders speichern
-    und spaeter zurueckschreiben.
+DEFINIERT IN
+============
 
-    Eine dauerhafte Aenderung des Betraums des Spielers muss mit dem EM
-    Rassen und dem EM Gilden abgestimmt werden.
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Dies ist der Raum, in den der Spieler nach dem Ende der Todessequenz
+   bewegt wird, d.h. ein Raum, wo er beten kann, um einen neuen Koerper zu
+   erhalten.
+   Der Raum muss als String angegeben werden (kein Objekt).
+
+   Diese Property wird im Spieler rebootfest gespeichert.
+
+   Der jeweils gueltige Betraum wird im Spieler mittels QueryPrayRoom()
+   ermittelt. Jede Rasse hat einen Default fuer diese Funktion. Wird die
+   Property auf 0 dgesetzt, wird dieser Default wiederhergestellt.
+
+   Von einer Ueberlagerung mittels Query- oder gar Setmethoden wird
+   abgeraten. Ebenso lasst bitte die Modusbits unveraendert.
+
+   Vor einer Aenderung dieser Property sollte geprueft werden, ob sie 0 ist.
+   Wenn nicht, sollte von einem Setzen der Property abgesehen werden, da dann
+   schon jemand anders den Betraum des Spielers geaendert hat. (Gleiches gilt
+   fuers Loeschen.) Bitte niemals den Inhalt der Property woanders speichern
+   und spaeter zurueckschreiben.
+
+   Eine dauerhafte Aenderung des Betraums des Spielers muss mit dem EM
+   Rassen und dem EM Gilden abgestimmt werden.
+
 
 SIEHE AUCH
-    QueryPrayRoom(), SetDefaultPrayRoom()
+==========
 
-LETZTE AeNDERUNG:
+   QueryPrayRoom(), SetDefaultPrayRoom()
+
+
+LETZTE AeNDERUNG
+================
+
 21.05.2013, Zesstra
-
diff --git a/doc/props/P_PREFERED_ENEMY b/doc/props/P_PREFERED_ENEMY
index eed58e6..6b629aa 100644
--- a/doc/props/P_PREFERED_ENEMY
+++ b/doc/props/P_PREFERED_ENEMY
@@ -1,26 +1,41 @@
-NAME:
-	P_PREFERED_ENEMY		"pref_enemy"
 
-DEFINIERT IN:
-	/sys/living/combat.h
+P_PREFERED_ENEMY
+****************
 
-BESCHREIBUNG:
-	Diese Property enthaelt ein Array mit folgenden Eintraegen:
-	  Eintrag 1:      Integerwert zwischen 0 und 100, welcher die
-	                  Wahrscheinlichkeit dafuer angibt, dass ein
-	                  Lebewesen bevorzugt bei einem Angriff gewaehlt
-	                  werden soll.
-	  Eintraege ab 2: Lebewesen, aus welchen per Zufall eines
-	                  ausgewaehlt wird, welches beim aktuellen Angriff
-	                  bevorzugt wird.
-	Es ist zu beachten, dass solch ein bevorzugtes Opfer natuerlich auch
-	wirklich Gegner sein muss und auch im selben Raum zu stehen hat, wie
-	der Angreifer. Ist dies nicht der Fall, wird dann doch irgendein
-	anderer Gegner aus diesem Raum genommen.
 
-SIEHE AUCH:
-	QueryPreferedEnemy(), IsEnemy(), SelectEnemy(), Attack(),
-	/std/living/combat.c, /std/living/life.c
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_PREFERED_ENEMY                "pref_enemy"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt ein Array mit folgenden Eintraegen:
+     Eintrag 1:      Integerwert zwischen 0 und 100, welcher die
+                     Wahrscheinlichkeit dafuer angibt, dass ein
+                     Lebewesen bevorzugt bei einem Angriff gewaehlt
+                     werden soll.
+     Eintraege ab 2: Lebewesen, aus welchen per Zufall eines
+                     ausgewaehlt wird, welches beim aktuellen Angriff
+                     bevorzugt wird.
+   Es ist zu beachten, dass solch ein bevorzugtes Opfer natuerlich auch
+   wirklich Gegner sein muss und auch im selben Raum zu stehen hat, wie
+   der Angreifer. Ist dies nicht der Fall, wird dann doch irgendein
+   anderer Gegner aus diesem Raum genommen.
+
+
+SIEHE AUCH
+==========
+
+   QueryPreferedEnemy(), IsEnemy(), SelectEnemy(), Attack(),
+   /std/living/combat.c, /std/living/life.c
+
 Last modified: Wed May 26 16:44:38 1999 by Patryn
diff --git a/doc/props/P_PRESAY b/doc/props/P_PRESAY
index c5ec2d2..1580b5e 100644
--- a/doc/props/P_PRESAY
+++ b/doc/props/P_PRESAY
@@ -1,9 +1,22 @@
-NAME:
-    P_PRESAY                      "presay"                      
 
-DEFINIERT IN:
-    /sys/player/description.h
+P_PRESAY
+********
 
-BESCHREIBUNG:
-     Presay des Spielers. Erscheint vor dem Namen in Kurz/Langbeschreibung.
-     Erscheint auch in name(), also in sag, ruf, teile mit usw.
+
+NAME
+====
+
+   P_PRESAY                      "presay"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/description.h
+
+
+BESCHREIBUNG
+============
+
+   Presay des Spielers. Erscheint vor dem Namen in Kurz/Langbeschreibung.
+   Erscheint auch in name(), also in sag, ruf, teile mit usw.
diff --git a/doc/props/P_PREVENT_PILE b/doc/props/P_PREVENT_PILE
index 39ddf14..1ad6807 100644
--- a/doc/props/P_PREVENT_PILE
+++ b/doc/props/P_PREVENT_PILE
@@ -1,22 +1,34 @@
-NAME:
-    P_PREVENT_PILE                   "prevent_pile"
 
-DEFINIERT IN:
-    /sys/container/properties.h
+P_PREVENT_PILE
+**************
 
-BESCHREIBUNG:
-    Wenn in einem Raum diese Property gesetzt ist, endet das Verwesen einer
-    Leiche damit, dass ihr Inventar in dem Raum verteilt wird. Ist diese
-    Property nicht gesetzt, entsteht ein "Haufen", der das Inventar
-    enthaelt.
 
-    Diese Property sollte nur in Ausnahmefaellen benutzt werden!
+NAME
+====
 
-    Diese Property ist vor allem fuer "Store-Rooms" gedacht, in denen die
-    Magier die Leiche eines Spieler ablegen und in denen nachher die
-    gesammelten Sachen von einer anderen Stelle aus gesucht werden. In
-    diesem Fall wuerden Spieler sonst die Moeglichkeit haben, einen Haufen
-    als Ganzes zu bekommen, das soll aber *NIE* passieren.
+   P_PREVENT_PILE                   "prevent_pile"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/container/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wenn in einem Raum diese Property gesetzt ist, endet das Verwesen einer
+   Leiche damit, dass ihr Inventar in dem Raum verteilt wird. Ist diese
+   Property nicht gesetzt, entsteht ein "Haufen", der das Inventar
+   enthaelt.
+
+   Diese Property sollte nur in Ausnahmefaellen benutzt werden!
+
+   Diese Property ist vor allem fuer "Store-Rooms" gedacht, in denen die
+   Magier die Leiche eines Spieler ablegen und in denen nachher die
+   gesammelten Sachen von einer anderen Stelle aus gesucht werden. In
+   diesem Fall wuerden Spieler sonst die Moeglichkeit haben, einen Haufen
+   als Ganzes zu bekommen, das soll aber *NIE* passieren.
+
 Last modified: Tue May 15 13:56:18 CEST 2007 by Rumata
diff --git a/doc/props/P_PRE_INFO b/doc/props/P_PRE_INFO
index 48f1d9e..099e592 100644
--- a/doc/props/P_PRE_INFO
+++ b/doc/props/P_PRE_INFO
@@ -1,55 +1,86 @@
-NAME:
-        P_PRE_INFO                        "npc_pre_info"
 
-DEFINIERT IN:
-        /sys/npc.h
+P_PRE_INFO
+**********
 
-BESCHREIBUNG:
-        Ist die Property in einem NPC definiert, so wird ihr Ergebnis
-        ausgewertet, bevor eine Frage an das Infosystem uebergeben wird.
-        
-        Moegliche Werte:
-        - numerischer Wert ungleich 0
-          => der NPC gibt _keinerlei_ Antwort, die Frage fuehrt sozusagen
-             ins Leere
 
-        - Stringwert
-          => wird als Rueckgabe an den Fragenden ausgegeben, umstehende 
-             Personen bekommen den Text:
-            "XY ist nicht gewillt, Spieler YZ zu antworten".
-            Der Fragende selbst bekommt bei angegebenem Stringwert:
-            "XY " + Stringwert.
+NAME
+====
 
-        - Closure
-          => die Antwort bzw. Reaktion des NPCs obliegt ganz der 
-             angegebenen Closure. Diese muss dabei einen String oder 
-             Ganzzahlen-Wert zurueckgeben
+   P_PRE_INFO                        "npc_pre_info"
 
-BEISPIEL:
-        Ein NPC der manchmal herumrennt, um z.B. eine Aufgabe zu verrichten,
-        koennte so lange Chats abschalten, z.B.
 
-          SetProp(P_CHAT_CHANCE,0); // NPC latscht los
-        
-        Und eine Weile spaeter:
-        
-          SetProp(P_CHAT_CHANCE,5); // NPC ruht wieder, quasselt rum
-        
-        Waehrend des Herumlaufens, also wenn er nicht automatisch schwatzt,
-        soll er auch keinerlei Fragen beantworten:
-          
-          Set(P_PRE_INFO, function mixed () {
-            return (QueryProp(P_CHAT_CHANCE) ? 0 : 
-              "hat gerade keine Zeit fuer Dich."); 
-            }, F_QUERY_METHOD);
+DEFINIERT IN
+============
 
-HINWEISE:
-        Bitte beachten, dass der interne Name der Property "npc_pre_info" 
-        ist und somit nur das Ueberschreiben von _query_npc_pre_info() 
-        funktioniert. 
+   /sys/npc.h
 
-SIEHE AUCH:
-        AddInfo(), /std/npc/info.c
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   Ist die Property in einem NPC definiert, so wird ihr Ergebnis
+   ausgewertet, bevor eine Frage an das Infosystem uebergeben wird.
+
+
+
+   Moegliche Werte:
+   - numerischer Wert ungleich 0
+     => der NPC gibt _keinerlei_ Antwort, die Frage fuehrt sozusagen
+        ins Leere
+
+   - Stringwert
+     => wird als Rueckgabe an den Fragenden ausgegeben, umstehende
+        Personen bekommen den Text:
+       "XY ist nicht gewillt, Spieler YZ zu antworten".
+       Der Fragende selbst bekommt bei angegebenem Stringwert:
+       "XY " + Stringwert.
+
+   - Closure
+     => die Antwort bzw. Reaktion des NPCs obliegt ganz der
+        angegebenen Closure. Diese muss dabei einen String oder
+        Ganzzahlen-Wert zurueckgeben
+
+
+BEISPIEL
+========
+
+   Ein NPC der manchmal herumrennt, um z.B. eine Aufgabe zu verrichten,
+   koennte so lange Chats abschalten, z.B.
+
+     SetProp(P_CHAT_CHANCE,0); // NPC latscht los
+
+
+
+   Und eine Weile spaeter:
+
+
+
+     SetProp(P_CHAT_CHANCE,5); // NPC ruht wieder, quasselt rum
+
+
+
+   Waehrend des Herumlaufens, also wenn er nicht automatisch schwatzt,
+   soll er auch keinerlei Fragen beantworten:
+
+
+
+     Set(P_PRE_INFO, function mixed () {
+       return (QueryProp(P_CHAT_CHANCE) ? 0 :
+         "hat gerade keine Zeit fuer Dich.");
+       }, F_QUERY_METHOD);
+
+
+HINWEISE
+========
+
+   Bitte beachten, dass der interne Name der Property "npc_pre_info"
+   ist und somit nur das Ueberschreiben von _query_npc_pre_info()
+   funktioniert.
+
+
+SIEHE AUCH
+==========
+
+   AddInfo(), /std/npc/info.c
+
 Last modified: 01.03.2016 by Arathorn
diff --git a/doc/props/P_PROMPT b/doc/props/P_PROMPT
index b380215..267437e 100644
--- a/doc/props/P_PROMPT
+++ b/doc/props/P_PROMPT
@@ -1,8 +1,21 @@
-NAME:
-    P_PROMPT                      "prompt"                      
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_PROMPT
+********
 
-BESCHREIBUNG:
-     Das Prompt (Nur fuer Magier).
+
+NAME
+====
+
+   P_PROMPT                      "prompt"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Das Prompt (Nur fuer Magier).
diff --git a/doc/props/P_PUB_NOT_ON_MENU b/doc/props/P_PUB_NOT_ON_MENU
index 07029b0..8618009 100644
--- a/doc/props/P_PUB_NOT_ON_MENU
+++ b/doc/props/P_PUB_NOT_ON_MENU
@@ -1,21 +1,39 @@
-NAME:
-	P_PUB_NOT_ON_MENU			"pub_not_on_menu"
 
-DEFINIERT IN:
-	/sys/pub.h
+P_PUB_NOT_ON_MENU
+*****************
 
-BESCHREIBUNG:
-        In diese Property kann man einen String schreiben, der ausgegeben
-        wird, wenn der Spieler etwas bestellt, was es in der Kneipe nicht
-        gibt.
 
-BEMERKUNGEN:
-        Die Standardmeldung ist:
-        "Tut mir leid, das fuehren wir nicht! Wir sind ein anstaendiges
-         Lokal!\n"
+NAME
+====
 
-SIEHE AUCH:
-	/std/room/pub.c
+   P_PUB_NOT_ON_MENU                       "pub_not_on_menu"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+   In diese Property kann man einen String schreiben, der ausgegeben
+   wird, wenn der Spieler etwas bestellt, was es in der Kneipe nicht
+   gibt.
+
+
+BEMERKUNGEN
+===========
+
+   Die Standardmeldung ist:
+   "Tut mir leid, das fuehren wir nicht! Wir sind ein anstaendiges
+    Lokal!\n"
+
+
+SIEHE AUCH
+==========
+
+   /std/room/pub.c
+
 Last modified: Sat Mar 04 22:46:00 2000 by Paracelsus
diff --git a/doc/props/P_PUB_NO_KEEPER b/doc/props/P_PUB_NO_KEEPER
index 8f4c26e..55c4230 100644
--- a/doc/props/P_PUB_NO_KEEPER
+++ b/doc/props/P_PUB_NO_KEEPER
@@ -1,19 +1,37 @@
-NAME:
-	P_PUB_NO_KEEPER				"pub_no_keeper"
 
-DEFINIERT IN:
-	/sys/pub.h
+P_PUB_NO_KEEPER
+***************
 
-BESCHREIBUNG:
-        In diese Property kann man einen String schreiben, der ausgegeben
-        wird, wenn der in P_KEEPER eingetragene NPC nicht anwesend ist.
 
-BEMERKUNGEN:
-        Die Standardmeldung ist:
-        "Es ist niemand anwesend, der Dich bedienen koennte.\n"
+NAME
+====
 
-SIEHE AUCH:
-	/std/room/pub.c
+   P_PUB_NO_KEEPER                         "pub_no_keeper"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+   In diese Property kann man einen String schreiben, der ausgegeben
+   wird, wenn der in P_KEEPER eingetragene NPC nicht anwesend ist.
+
+
+BEMERKUNGEN
+===========
+
+   Die Standardmeldung ist:
+   "Es ist niemand anwesend, der Dich bedienen koennte.\n"
+
+
+SIEHE AUCH
+==========
+
+   /std/room/pub.c
+
 Last modified: Son Apr 11 19:28:00 2010 by Caldra
diff --git a/doc/props/P_PUB_NO_MONEY b/doc/props/P_PUB_NO_MONEY
index 9ff293a..9510b07 100644
--- a/doc/props/P_PUB_NO_MONEY
+++ b/doc/props/P_PUB_NO_MONEY
@@ -1,21 +1,39 @@
-NAME:
-	P_PUB_NO_MONEY				"pub_no_money"
 
-DEFINIERT IN:
-	/sys/pub.h
+P_PUB_NO_MONEY
+**************
 
-BESCHREIBUNG:
-        In diese Property kann man einen String schreiben, der ausgegeben
-        wird, wenn der Spieler nicht ueber genug Geld verfuegt, um das
-        gewuenschte Gericht zu bezahlen.
-        Fuer den Preis kann man ein %d als Platzhalter einfuegen.
 
-BEMERKUNGEN:
-        Die Standardmeldung ist:
-        "Das kostet %d Goldstuecke, und Du hast nicht so viel!\n"
+NAME
+====
 
-SIEHE AUCH:
-	/std/room/pub.c
+   P_PUB_NO_MONEY                          "pub_no_money"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+   In diese Property kann man einen String schreiben, der ausgegeben
+   wird, wenn der Spieler nicht ueber genug Geld verfuegt, um das
+   gewuenschte Gericht zu bezahlen.
+   Fuer den Preis kann man ein %d als Platzhalter einfuegen.
+
+
+BEMERKUNGEN
+===========
+
+   Die Standardmeldung ist:
+   "Das kostet %d Goldstuecke, und Du hast nicht so viel!\n"
+
+
+SIEHE AUCH
+==========
+
+   /std/room/pub.c
+
 Last modified: Sat Mar 04 22:48:00 2000 by Paracelsus
diff --git a/doc/props/P_PUB_UNAVAILABLE b/doc/props/P_PUB_UNAVAILABLE
index 13aaa4f..7eaede7 100644
--- a/doc/props/P_PUB_UNAVAILABLE
+++ b/doc/props/P_PUB_UNAVAILABLE
@@ -1,20 +1,38 @@
-NAME:
-	P_PUB_UNAVAILABLE			"pub_unavailable"
 
-DEFINIERT IN:
-	/sys/pub.h
+P_PUB_UNAVAILABLE
+*****************
 
-BESCHREIBUNG:
-        In diese Property kann man einen String schreiben, der ausgegeben
-        wird, wenn in einer Kneipe ein Getraenk oder eine Speise nicht mehr
-        vorraetig ist.
 
-BEMERKUNGEN:
-        Die Standardmeldung ist:
-        "Davon ist leider nichts mehr da.\n"
+NAME
+====
 
-SIEHE AUCH:
-	/std/room/pub.c
+   P_PUB_UNAVAILABLE                       "pub_unavailable"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/pub.h
+
+
+BESCHREIBUNG
+============
+
+   In diese Property kann man einen String schreiben, der ausgegeben
+   wird, wenn in einer Kneipe ein Getraenk oder eine Speise nicht mehr
+   vorraetig ist.
+
+
+BEMERKUNGEN
+===========
+
+   Die Standardmeldung ist:
+   "Davon ist leider nichts mehr da.\n"
+
+
+SIEHE AUCH
+==========
+
+   /std/room/pub.c
+
 Last modified: Sat Mar 04 22:44:00 2000 by Paracelsus
diff --git a/doc/props/P_PURSUERS b/doc/props/P_PURSUERS
index c35bfe2..05ead3b 100644
--- a/doc/props/P_PURSUERS
+++ b/doc/props/P_PURSUERS
@@ -1,14 +1,29 @@
-NAME:
-    P_PURSUERS                    "pursuers"                    
 
-DEFINIERT IN:
-    /sys/living/moving.h
+P_PURSUERS
+**********
 
-BESCHREIBUNG:
-     Enthaelt Verfolger - nicht von Hand manipulieren!
 
-SIEHE AUCH:
-     AddPursuer(L), RemovePursuer(L)
+NAME
+====
 
------------------------------------------------------------------------------
+   P_PURSUERS                    "pursuers"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/moving.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt Verfolger - nicht von Hand manipulieren!
+
+
+SIEHE AUCH
+==========
+
+   AddPursuer(L), RemovePursuer(L)
+
 16.06.2016, Arathorn
diff --git a/doc/props/P_PUT_MSG b/doc/props/P_PUT_MSG
index 5f6caef..65624ce 100644
--- a/doc/props/P_PUT_MSG
+++ b/doc/props/P_PUT_MSG
@@ -1,62 +1,79 @@
+
 P_PUT_MSG
-NAME:
-     P_PUT_MSG				"put_message"
+*********
 
-DEFINIERT IN:
-     /sys/living/put_and_get.h
 
-BESCHREIBUNG:
+NAME
+====
 
-     Mit P_PUT_MSG kann man die Meldung, die man beim Hineinstecken eines
-     Objektes in einen Container bekommt, modifizieren.
+   P_PUT_MSG                          "put_message"
 
-     Folgende Werte sind moeglich:
 
-     o 0
-       Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
+DEFINIERT IN
+============
 
-     o NO_PNG_MSG	== -1
-       Es wird keinerlei Meldung ausgegeben
+   /sys/living/put_and_get.h
 
-     o Ein Array aus Strings
-       Der erste String wird an den Spieler ausgegeben, der zweite
-       (optionale) an den Raum.
 
-       Die Strings werden durch die Funktion replace_personal() geparst.
-	Objekt1 - Spieler
-        Objekt2 - das Objekt, das irgendwohin gesteckt wird
-	Objekt3 - der Container
+BESCHREIBUNG
+============
 
-       Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
-       Raum.
+   Mit P_PUT_MSG kann man die Meldung, die man beim Hineinstecken eines
+   Objektes in einen Container bekommt, modifizieren.
 
-BEISPIEL:
-     void create() {
-      ...
-      SetProp( P_SHORT, "Etwas Sand" );
-      SetProp( P_LONG, break_string(
-       "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+   Folgende Werte sind moeglich:
 
-      SetProp( P_NAME, "Sand" );
-      AddId( ({"sand"}) );
-      SetProp( P_GENDER, MALE );
+   o 0
+     Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
 
-      SetProp( P_PUT_MSG, ({
-       "Du laesst @WEN2 in @WENU3 rieseln.",
-       "@WER1 laesst @WEN2 in @WENU3 rieseln."}));
-      ...
-     }
+   o NO_PNG_MSG       == -1
+     Es wird keinerlei Meldung ausgegeben
 
-     Das ganze fuehrt bei Ugars "stecke sand in paket" zu folgenden
-     Meldungen:
+   o Ein Array aus Strings
+     Der erste String wird an den Spieler ausgegeben, der zweite
+     (optionale) an den Raum.
 
-     Ugar: "Du laesst den Sand in ein Paket rieseln."
-     Raum: "Ugar laesst den Sand in ein Paket rieseln."
+     Die Strings werden durch die Funktion replace_personal() geparst.
+      Objekt1 - Spieler
+      Objekt2 - das Objekt, das irgendwohin gesteckt wird
+      Objekt3 - der Container
 
-SIEHE AUCH:
-     Aehnliches: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
-     Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
-                 P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET 
-     Sonstiges:  replace_personal(E), put_obj(L), /std/living/put_and_get.c
+     Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
+     Raum.
+
+
+BEISPIEL
+========
+
+   void create() {
+    ...
+    SetProp( P_SHORT, "Etwas Sand" );
+    SetProp( P_LONG, break_string(
+     "Ein wenig magischer Sand. Sehr feinkruemelig.",78 ));
+
+    SetProp( P_NAME, "Sand" );
+    AddId( ({"sand"}) );
+    SetProp( P_GENDER, MALE );
+
+    SetProp( P_PUT_MSG, ({
+     "Du laesst @WEN2 in @WENU3 rieseln.",
+     "@WER1 laesst @WEN2 in @WENU3 rieseln."}));
+    ...
+   }
+
+   Das ganze fuehrt bei Ugars "stecke sand in paket" zu folgenden
+   Meldungen:
+
+   Ugar: "Du laesst den Sand in ein Paket rieseln."
+   Raum: "Ugar laesst den Sand in ein Paket rieseln."
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_WEAR_MSG, P_WIELD_MSG
+   Fehler:     P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG,
+               P_NOINSERT_MSG, P_NOLEAVE_MSG, P_NODROP, P_NOGET
+   Sonstiges:  replace_personal(E), put_obj(L), /std/living/put_and_get.c
 
 14. Maerz 2004 Gloinson
diff --git a/doc/props/P_QP b/doc/props/P_QP
index 08fb5a4..9840586 100644
--- a/doc/props/P_QP
+++ b/doc/props/P_QP
@@ -1,13 +1,29 @@
-NAME:
-    P_QP                          "questpoints"                 
 
-DEFINIERT IN:
-    /sys/player/quest.h
+P_QP
+****
 
-BESCHREIBUNG:
-     Anzahl der Questpunkte, die ein Spieler hat.
 
-HINWEIS:
-     Nur Abfragen der Property mit QueryProp() liefert den korrekten Wert,
-     da eine Quermethode fuer die Auslieferung der Daten sorgt. Query()
-     oder gar QueryProperties() enthalten u.U. einen veralteten Wert.
+NAME
+====
+
+   P_QP                          "questpoints"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/quest.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der Questpunkte, die ein Spieler hat.
+
+
+HINWEIS
+=======
+
+   Nur Abfragen der Property mit QueryProp() liefert den korrekten Wert,
+   da eine Quermethode fuer die Auslieferung der Daten sorgt. Query()
+   oder gar QueryProperties() enthalten u.U. einen veralteten Wert.
diff --git a/doc/props/P_QUALITY b/doc/props/P_QUALITY
index 3a4118c..a103eaf 100644
--- a/doc/props/P_QUALITY
+++ b/doc/props/P_QUALITY
@@ -1,38 +1,57 @@
+
 P_QUALITY
+*********
 
-NAME:
-     P_QUALITY "quality"
 
-DEFINIERT IN:
-     <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Ruestungen und Waffen koennen im Eifer des Gefechts beschaedigt werden.
-     Setzt man die Property P_QUALITY auf einen Wert n (n>0), so wird
-     eine Waffe (Ruestung) bei jedem n-ten Schlag (Treffer) beschaedigt,
-     d.h. P_WC (P_AC) wird um 1 erniedrigt und P_DAMAGED um 1 erhoeht.
+   P_QUALITY "quality"
 
-BEISPIEL:
-     inherit "/std/weapon";
 
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Ruestungen und Waffen koennen im Eifer des Gefechts beschaedigt werden.
+   Setzt man die Property P_QUALITY auf einen Wert n (n>0), so wird
+   eine Waffe (Ruestung) bei jedem n-ten Schlag (Treffer) beschaedigt,
+   d.h. P_WC (P_AC) wird um 1 erniedrigt und P_DAMAGED um 1 erhoeht.
+
+
+BEISPIEL
+========
+
+   inherit "/std/weapon";
+
+   ...
+   #include <combat.h>
+
+   create()
+   {
      ...
-     #include <combat.h>
+     SetProp(P_QUALITY,200);
+     ...
+   }
 
-     create()
-     {
-       ...
-       SetProp(P_QUALITY,200);
-       ...
-     }
+   Diese Waffe wuerde bei jedem 200. Schlag etwas beschaedigt.
 
-     Diese Waffe wuerde bei jedem 200. Schlag etwas beschaedigt.
 
-BEMERKUNG:
-     Defaultmaessig ist P_QUALITY auf 0 gesetzt, d.h. die entspr.
-     Waffe/Ruestung wird nicht beschaedigt.
+BEMERKUNG
+=========
 
-SIEHE AUCH:
-     /std/armour.c, /std/weapon.c, TakeFlaw(), QueryFlaw(), Damage()
+   Defaultmaessig ist P_QUALITY auf 0 gesetzt, d.h. die entspr.
+   Waffe/Ruestung wird nicht beschaedigt.
 
-----------------------------------------------------------------------------
+
+SIEHE AUCH
+==========
+
+   /std/armour.c, /std/weapon.c, TakeFlaw(), QueryFlaw(), Damage()
+
 Last modified: Thu May 22 10:42:39 1997 by Paracelsus
diff --git a/doc/props/P_QUESTS b/doc/props/P_QUESTS
index 446ea90..84fe435 100644
--- a/doc/props/P_QUESTS
+++ b/doc/props/P_QUESTS
@@ -1,8 +1,21 @@
-NAME:
-    P_QUESTS                      "quests"                      
 
-DEFINIERT IN:
-    /sys/player/quest.h
+P_QUESTS
+********
 
-BESCHREIBUNG:
-     Liste der geloesten Quests.
+
+NAME
+====
+
+   P_QUESTS                      "quests"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/quest.h
+
+
+BESCHREIBUNG
+============
+
+   Liste der geloesten Quests.
diff --git a/doc/props/P_QUEST_ITEM b/doc/props/P_QUEST_ITEM
index e4eebb5..135954b 100644
--- a/doc/props/P_QUEST_ITEM
+++ b/doc/props/P_QUEST_ITEM
@@ -1,46 +1,73 @@
-NAME:
-	P_QUEST_ITEM				"quest_item" 
 
-DEFINIERT IN:
-	/sys/quest_items.h
+P_QUEST_ITEM
+************
 
-BESCHREIBUNG:
-        Diese Property gibt an, ob es sich bei dem Objekt um ein Quest-
-	relevantes Objekt handelt.
-	
-BEISPIEL:
-        Ein Schwert (Notung) koennte folgendermassen definiert sein:
 
-	create()
-	{
-	  ::create() ;
-	  SetProp(P_SHORT, "Notung das neidliche Schwert") ;
-	  SetProp(P_LONG, "Das aus seinen Truemmern neu geschmiedete Schwert " 
-	                  "Notung.\n");
+NAME
+====
 
-	  SetProp(P_NAME, "Notung");
-	  SetProp(P_GENDER, NEUTER);
-	  SetProp(P_ARTICLE,0);
-	  AddId(({"notung","schwert","Notung", "\nNotung"}));
-	
-	  SetProp(P_WEAPON_TYPE, WT_SWORD);
-	  SetProp(P_DAM_TYPE, DT_BLUDGEON);
+   P_QUEST_ITEM                            "quest_item"
 
-	  SetProp(P_QUEST_ITEM,QI_OBJ);
-	  ...
-	}
-	    
-	Andere Magier koennen nun auf Notung Ruecksicht nehmen, und zum
-	Beispiel davon absehen, es bei einem NPC-Spell zu destructen.
 
-BEMERKUNGEN:
-        Alle questrelevanten Objekte sollten auf diese Weise markiert werden.
-	
-	Questrelevante Objekte anderer Magier sollten immer mit Vorsicht 
-	behandelt werden.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-	"/sys/quest_items.h"
+   /sys/quest_items.h
 
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   Diese Property gibt an, ob es sich bei dem Objekt um ein Quest-
+   relevantes Objekt handelt.
+
+
+BEISPIEL
+========
+
+   Ein Schwert (Notung) koennte folgendermassen definiert sein:
+
+   create()
+   {
+     ::create() ;
+     SetProp(P_SHORT, "Notung das neidliche Schwert") ;
+     SetProp(P_LONG, "Das aus seinen Truemmern neu geschmiedete Schwert "
+                     "Notung.\n");
+
+     SetProp(P_NAME, "Notung");
+     SetProp(P_GENDER, NEUTER);
+     SetProp(P_ARTICLE,0);
+     AddId(({"notung","schwert","Notung", "\nNotung"}));
+
+
+
+     SetProp(P_WEAPON_TYPE, WT_SWORD);
+     SetProp(P_DAM_TYPE, DT_BLUDGEON);
+
+     SetProp(P_QUEST_ITEM,QI_OBJ);
+     ...
+   }
+
+
+
+   Andere Magier koennen nun auf Notung Ruecksicht nehmen, und zum
+   Beispiel davon absehen, es bei einem NPC-Spell zu destructen.
+
+
+BEMERKUNGEN
+===========
+
+   Alle questrelevanten Objekte sollten auf diese Weise markiert werden.
+
+
+
+   Questrelevante Objekte anderer Magier sollten immer mit Vorsicht
+   behandelt werden.
+
+
+SIEHE AUCH
+==========
+
+   "/sys/quest_items.h"
+
 Last modified: Thu Jul 10 07:08:32 2003 by Vanion
diff --git a/doc/props/P_RACE b/doc/props/P_RACE
index 7ed77cd..c6aebc7 100644
--- a/doc/props/P_RACE
+++ b/doc/props/P_RACE
@@ -1,30 +1,48 @@
-NAME:
-	P_RACE				"race"
 
-DEFINIERT IN:
-	/sys/living/description.h
+P_RACE
+******
 
-BESCHREIBUNG:
-	Die Rasse eines Lebewesens kann ueber diese Property ermittelt bzw.
-	gesetzt werden. Es empfiehlt sich hierbei, Rassen nur in Form von
-	grossgeschriebenen Strings zu setzen. Leichen erhalten mittels
-	dieser Property automatisch die Rasse der Lebewesen, aus denen sie
-	hervorgegangen sind.
-	Der Sinn des Ganzen liegt darin, das Spiel differenzierter zu
-	gestalten und auf Rassenspezifika einzugehen. Zum Beispiel koennen
-	Elfen weniger Alkohol vertragen als Zwerge, was in '/std/pub'
-	beruecksichtigt wurde.
 
-BEISPIEL:
-	void create()
-	{ ::create();
-	  // Definitionen
-	  SetProp(P_RACE,"Ork");
-	  // weitere Definitionen
-	}
+NAME
+====
 
-SIEHE AUCH:
-	/std/npc.c, /std/pub.c
+   P_RACE                          "race"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+   Die Rasse eines Lebewesens kann ueber diese Property ermittelt bzw.
+   gesetzt werden. Es empfiehlt sich hierbei, Rassen nur in Form von
+   grossgeschriebenen Strings zu setzen. Leichen erhalten mittels
+   dieser Property automatisch die Rasse der Lebewesen, aus denen sie
+   hervorgegangen sind.
+   Der Sinn des Ganzen liegt darin, das Spiel differenzierter zu
+   gestalten und auf Rassenspezifika einzugehen. Zum Beispiel koennen
+   Elfen weniger Alkohol vertragen als Zwerge, was in '/std/pub'
+   beruecksichtigt wurde.
+
+
+BEISPIEL
+========
+
+   void create()
+   { ::create();
+     // Definitionen
+     SetProp(P_RACE,"Ork");
+     // weitere Definitionen
+   }
+
+
+SIEHE AUCH
+==========
+
+   /std/npc.c, /std/pub.c
+
 Last modified: Mon Sep 15 21:15:49 2003 by Vanion
diff --git a/doc/props/P_RACESTRING b/doc/props/P_RACESTRING
index b75f46b..2a13577 100644
--- a/doc/props/P_RACESTRING
+++ b/doc/props/P_RACESTRING
@@ -1,9 +1,22 @@
-NAME:
-    P_RACESTRING                  "racestring"                  
 
-DEFINIERT IN:
-    /sys/properties.h
+P_RACESTRING
+************
 
-BESCHREIBUNG:
-     Gibt eine dem Geschlecht angepasste Beschreibung der Rasse zurueck
-     ("Zwerg" oder "Zwergin" etc.)
+
+NAME
+====
+
+   P_RACESTRING                  "racestring"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Gibt eine dem Geschlecht angepasste Beschreibung der Rasse zurueck
+   ("Zwerg" oder "Zwergin" etc.)
diff --git a/doc/props/P_RACE_DESCRIPTION b/doc/props/P_RACE_DESCRIPTION
index 5b2ebfb..ca1f576 100644
--- a/doc/props/P_RACE_DESCRIPTION
+++ b/doc/props/P_RACE_DESCRIPTION
@@ -1,8 +1,21 @@
-NAME:
-    P_RACE_DESCRIPTION            "racedescr"                   
 
-DEFINIERT IN:
-    /sys/properties.h
+P_RACE_DESCRIPTION
+******************
 
-BESCHREIBUNG:
-     Beschreibung der Vor/Nachteile einer Rasse.
+
+NAME
+====
+
+   P_RACE_DESCRIPTION            "racedescr"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Beschreibung der Vor/Nachteile einer Rasse.
diff --git a/doc/props/P_RANGE b/doc/props/P_RANGE
index 7fd5268..2fabc63 100644
--- a/doc/props/P_RANGE
+++ b/doc/props/P_RANGE
@@ -1,26 +1,43 @@
+
 P_RANGE
+*******
 
-NAME:
-    P_RANGE     "range"
 
-DEFINIERT IN:
-    <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-    Legt die Reichweite einer Schusswaffe fest. Ist ein Schuetze in einem
-    Raum mit gueltigem P_TARGET_AREA (andere Raum) oder environment() und
-    ist fuer diesen Raum P_SHOOTING_AREA festgelegt, dann kann er mit seiner
-    Schusswaffe in diesen anderen Raum schiessen, wenn die P_RANGE groesser
-    als P_SHOOTING_AREA ist.
+   P_RANGE     "range"
 
-BEISPIELE:
-    // Langbogen mit 100 Reichweite
-    SetProp(P_RANGE, 100);
 
-SIEHE AUCH:
-    Generell:  P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
-    Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
-    Gebiet:    P_SHOOTING_AREA, P_TARGET_AREA
-    Sonstiges: fernwaffen
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Legt die Reichweite einer Schusswaffe fest. Ist ein Schuetze in einem
+   Raum mit gueltigem P_TARGET_AREA (andere Raum) oder environment() und
+   ist fuer diesen Raum P_SHOOTING_AREA festgelegt, dann kann er mit seiner
+   Schusswaffe in diesen anderen Raum schiessen, wenn die P_RANGE groesser
+   als P_SHOOTING_AREA ist.
+
+
+BEISPIELE
+=========
+
+   // Langbogen mit 100 Reichweite
+   SetProp(P_RANGE, 100);
+
+
+SIEHE AUCH
+==========
+
+   Generell:  P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
+   Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+   Gebiet:    P_SHOOTING_AREA, P_TARGET_AREA
+   Sonstiges: fernwaffen
 
 29.Jul 2014 Gloinson
diff --git a/doc/props/P_READ_DETAILS b/doc/props/P_READ_DETAILS
index 035a2cc..06a7598 100644
--- a/doc/props/P_READ_DETAILS
+++ b/doc/props/P_READ_DETAILS
@@ -1,21 +1,40 @@
-NAME:
-    P_READ_DETAILS                "read_details"                
 
-DEFINIERT IN:
-    /sys/thing/description.h
+P_READ_DETAILS
+**************
 
-BESCHREIBUNG:
-    Mapping mit den Daten der Details, die durch Lesen ermittelt werden
-    koennen.
 
-BEMERKUNGEN:
-    Bitte nur mit den entsprechenden Methoden veraendern!
+NAME
+====
 
-SIEHE AUCH:
-    Setzen:    AddReadDetail()
-    Loeschen:  RemoveReadDetail()
-    Aehnlich:  AddDetail(), P_DETAILS
-    Veraltet:  P_READ_MSG
-    Sonstiges: GetDetail(), break_string()
+   P_READ_DETAILS                "read_details"
 
-27. Jan 2013 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+   Mapping mit den Daten der Details, die durch Lesen ermittelt werden
+   koennen.
+
+
+BEMERKUNGEN
+===========
+
+   Bitte nur mit den entsprechenden Methoden veraendern!
+
+
+SIEHE AUCH
+==========
+
+   Setzen:    AddReadDetail()
+   Loeschen:  RemoveReadDetail()
+   Aehnlich:  AddDetail(), P_DETAILS
+   Veraltet:  P_READ_MSG
+   Sonstiges: GetDetail(), break_string()
+
+27. Jan 2013 Gloinson
diff --git a/doc/props/P_READ_NEWS b/doc/props/P_READ_NEWS
index b64a252..8c69c89 100644
--- a/doc/props/P_READ_NEWS
+++ b/doc/props/P_READ_NEWS
@@ -1,8 +1,21 @@
-NAME:
-    P_READ_NEWS                   "read_news"                   
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_READ_NEWS
+***********
 
-BESCHREIBUNG:
-     Welche Artikel bereits gelesen wurde (frueher: in der MPA)
+
+NAME
+====
+
+   P_READ_NEWS                   "read_news"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Welche Artikel bereits gelesen wurde (frueher: in der MPA)
diff --git a/doc/props/P_REAL_RACE b/doc/props/P_REAL_RACE
index 88279a6..39c196a 100644
--- a/doc/props/P_REAL_RACE
+++ b/doc/props/P_REAL_RACE
@@ -1,72 +1,95 @@
-NAME:
-	P_REAL_RACE				"real_race"
 
-DEFINIERT IN:
-	/sys/living/description.h
-
-BESCHREIBUNG:
-        Diese Property enthaelt die Rasse des Livings. Sie darf nicht durch 
-	Shadows ueberschrieben werden.
-	
-	Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort kann
-	man mit dieser Property trotz Tarnung feststellen, welche Rasse der
-	Spieler hat.
-
-	Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn P_REAL_RACE
-	allerdings gesetzt wird, kann man damit einen getarnten NPC simu-
-	lieren, da dann P_RACE und P_REAL_RACE voneinander abweichen.
-	
-BEISPIEL:
-        Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
-	Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
-
-        int futter(string arg)
-        {
-          notify_fail("Was willst Du essen?\n");
-          if(!arg || !id(arg)) return 0;
-
-          notify_fail("Du kannst nichts mehr essen.\n");
-          if(!this_player()->eat_food(55)) return 0;
-
-          write("Du isst ein Stueck Zwegenbrot. Du versuchst es zumindest!\n");
-          say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
-              this_player()->Name()));
+P_REAL_RACE
+***********
 
 
-          switch( this_player()->QueryProp(P_REAL_RACE) )
-          {
-          case "Zwerg":
-	    if ((this_player()->QueryProp(P_RACE))!="Zwerg")
-	      write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n"); 
-            this_player()->buffer_hp(100,10);
-            this_player()->buffer_sp(100,10);
-            break;
+NAME
+====
 
-          case "Elf":
-	    write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
-	    // Getarnt?
-	    if ((this_player()->QueryProp(P_RACE))!="Elf")
-	      write(" Deine Tarnung nutzt Dir da wenig.\n"
-            else write("\n");
-            this_player()->restore_spell_points(-100);
-            this_player()->do_damage(100,this_object());
-            break;
+   P_REAL_RACE                             "real_race"
 
-          default:
-	    write("Du bekommst nur wenig davon herunter..\n");
-            this_player()->buffer_hp(10,1);
-            this_player()->buffer_sp(10,2);
-            break;
-          }
-  
-          remove();
-  
-          return 1;
-        }
 
-	
-SIEHE AUCH:
-	/std/living/description.c, /sys/living/description.h, P_RACE
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   /sys/living/description.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt die Rasse des Livings. Sie darf nicht durch
+   Shadows ueberschrieben werden.
+
+
+
+   Wirklich interessant ist sie, wenn ein Spieler sich tarnt. Dort kann
+   man mit dieser Property trotz Tarnung feststellen, welche Rasse der
+   Spieler hat.
+
+   Bei NPC enthaelt sie den gleichen Wert wie P_RACE. Wenn P_REAL_RACE
+   allerdings gesetzt wird, kann man damit einen getarnten NPC simu-
+   lieren, da dann P_RACE und P_REAL_RACE voneinander abweichen.
+
+
+BEISPIEL
+========
+
+   Ein Zwerg mag Zwergenbrot, fuer Elfen ist es giftig. Selbst wenn der
+   Elf sich als Zwerg tarnt, wird ihm durch lembas sicher uebel werden:
+
+   int futter(string arg)
+   {
+     notify_fail("Was willst Du essen?\n");
+     if(!arg || !id(arg)) return 0;
+
+     notify_fail("Du kannst nichts mehr essen.\n");
+     if(!this_player()->eat_food(55)) return 0;
+
+     write("Du isst ein Stueck Zwegenbrot. Du versuchst es zumindest!\n");
+     say(sprintf("%s beisst in ein Stueck Zwergenbrot. Zahnschmerz!!!\n",
+         this_player()->Name()));
+
+
+     switch( this_player()->QueryProp(P_REAL_RACE) )
+     {
+     case "Zwerg":
+       if ((this_player()->QueryProp(P_RACE))!="Zwerg")
+         write("Zur Tarnung spuckst Du etwas von dem Brot aus!\n");
+       this_player()->buffer_hp(100,10);
+       this_player()->buffer_sp(100,10);
+       break;
+
+     case "Elf":
+       write("Das Zwergenbrot brennt wie Feuer auf Deiner Zunge!");
+       // Getarnt?
+       if ((this_player()->QueryProp(P_RACE))!="Elf")
+         write(" Deine Tarnung nutzt Dir da wenig.\n"
+       else write("\n");
+       this_player()->restore_spell_points(-100);
+       this_player()->do_damage(100,this_object());
+       break;
+
+     default:
+       write("Du bekommst nur wenig davon herunter..\n");
+       this_player()->buffer_hp(10,1);
+       this_player()->buffer_sp(10,2);
+       break;
+     }
+
+
+
+     remove();
+
+
+
+     return 1;
+   }
+
+
+SIEHE AUCH
+==========
+
+   /std/living/description.c, /sys/living/description.h, P_RACE
+
 Last modified: Mon Sep 15 21:15:49 2003 by Vanion
diff --git a/doc/props/P_REFERENCE_OBJECT b/doc/props/P_REFERENCE_OBJECT
index e2a6405..9187a49 100644
--- a/doc/props/P_REFERENCE_OBJECT
+++ b/doc/props/P_REFERENCE_OBJECT
@@ -1,27 +1,41 @@
+
 P_REFERENCE_OBJECT
-NAME:
-     P_REFERENCE_OBJECT            "reference_object"
+******************
 
-DEFINIERT IN:
-     /sys/player/description.h
 
-BESCHREIBUNG:
-     In dieser Propertie wird das aktuelle Bezugsobjekt eines Spielers 
-     gespeichert. Untersucht der Spieler ein Monster, so ist dies das 
-     Monsterobjekt, untersucht der Spieler sich selber, ist es das 
-     Spielerobjekt.
+NAME
+====
 
-     Der Inhalt dieser Propertie besteht also immer aus dem zuletzt 
-     betrachteten Objekt. Sei es ein Raum, eine Ruestung, ein Monster oder 
-     was auch immer. Bewegungsbefehle und andere Kommandos werden nicht 
-     beruecksichtigt.
+   P_REFERENCE_OBJECT            "reference_object"
 
-     Einzig wenn der Spieler 'schau' tippt, wird der Inhalt der Propertie 
-     geloescht und betraegt 0.
 
-SIEHE AUCH:
-     Sonstiges:		P_INT_LONG, P_LONG, P_SHORT
-			int_long(), long(), short(), make_invlist()
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   /sys/player/description.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Propertie wird das aktuelle Bezugsobjekt eines Spielers
+   gespeichert. Untersucht der Spieler ein Monster, so ist dies das
+   Monsterobjekt, untersucht der Spieler sich selber, ist es das
+   Spielerobjekt.
+
+   Der Inhalt dieser Propertie besteht also immer aus dem zuletzt
+   betrachteten Objekt. Sei es ein Raum, eine Ruestung, ein Monster oder
+   was auch immer. Bewegungsbefehle und andere Kommandos werden nicht
+   beruecksichtigt.
+
+   Einzig wenn der Spieler 'schau' tippt, wird der Inhalt der Propertie
+   geloescht und betraegt 0.
+
+
+SIEHE AUCH
+==========
+
+   Sonstiges:         P_INT_LONG, P_LONG, P_SHORT
+                      int_long(), long(), short(), make_invlist()
+
 Letzte Aenderung: 29.06.02, 23:50:00 h, von Tilly
diff --git a/doc/props/P_REJECT b/doc/props/P_REJECT
index 4af07f3..072bdab 100644
--- a/doc/props/P_REJECT
+++ b/doc/props/P_REJECT
@@ -1,51 +1,72 @@
-NAME:
-	P_REJECT			"reject"
 
-DEFINIERT IN:
-	/sys/properties.h
+P_REJECT
+********
 
-BESCHREIBUNG:
-	Diese Property zeigt standardmaessig nur in NPCs eine Wirkung. Mit
-	ihr laesst sich sehr einfach einstellen, wie sich ein solcher NPC
-	gegenueber Gegenstaenden verhalten soll, welche ihm zugesteckt
-	werden. Hierbei besteht die Property aus 2 Elementen, welche
-	bestimmt, was der NPC mit Dingen tuen soll, die ihm gegeben werden.
-	Standardmaessig behaelt der NPC die Sachen einfach.
-	Folgende Moeglichkeiten gibt es ausserdem:
-	  1. Arrayelement: Art der Handlung. (aus "/sys/moving.h")
-	    REJECT_GIVE: Der NPC gibt das Objekt zurueck.
-	    REJECT_DROP: Der NPC laesst das Objekt fallen.
-	    REJECT_KEEP: Der NPC behaelt das Objekt doch.
-	    REJECT_LIGHT_MODIFIER: Der NPC nimmt keine Gegenstaende an, die
-	      sein Lichtlevel veraendern und damit Einfluss auf sein
-	      Kampfverhalten haben koennten.
-	  2. Arrayelement: Meldung, mit welcher der NPC die Handlung
-	                   kommentiert.
-	    Der Meldung wird nichts automatisch vorangestellt und ein
-	    abschliessender Zeilenumbruch ist ebenfalls selbstaendig
-	    vorzunehmen. Mit einem Leerstring ist somit auch gar keine
-	    Rueckmeldung moeglich.
 
-BEISPIEL:
-	Der NPC schmeisst alle ihm gegebenen Gegenstaende einfach weg:
-	  void create()
-	  { ::create();
-	    ...
-	    SetProp(P_REJECT,({REJECT_GIVE,
-	    Name(WER)+" murmelt: Was soll ich denn damit?!\n"}));
-	    ...
-	  }
-	Manchmal ist das recht nuetzlich, z.B. kann man so eigentlich schwer
-	zu toetende NPCs dagegen schuetzen, dass man ihnen angezuendetes
-	Dynamit oder aehnliches ueberreicht.
+NAME
+====
 
-BEMERKUNGEN:
-	Innerhalb von NPCs ist die Funktion give_notify() fuer die
-	automatische Auswertung dieser Property verantwortlich; das sollte
-	man insbesondere beim Ueberschreiben dieser Funktion beachten!
+   P_REJECT                        "reject"
 
-SIEHE AUCH:
-	give_notify(), /std/npc/put_and_get.c
 
------------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property zeigt standardmaessig nur in NPCs eine Wirkung. Mit
+   ihr laesst sich sehr einfach einstellen, wie sich ein solcher NPC
+   gegenueber Gegenstaenden verhalten soll, welche ihm zugesteckt
+   werden. Hierbei besteht die Property aus 2 Elementen, welche
+   bestimmt, was der NPC mit Dingen tuen soll, die ihm gegeben werden.
+   Standardmaessig behaelt der NPC die Sachen einfach.
+   Folgende Moeglichkeiten gibt es ausserdem:
+     1. Arrayelement: Art der Handlung. (aus "/sys/moving.h")
+       REJECT_GIVE: Der NPC gibt das Objekt zurueck.
+       REJECT_DROP: Der NPC laesst das Objekt fallen.
+       REJECT_KEEP: Der NPC behaelt das Objekt doch.
+       REJECT_LIGHT_MODIFIER: Der NPC nimmt keine Gegenstaende an, die
+         sein Lichtlevel veraendern und damit Einfluss auf sein
+         Kampfverhalten haben koennten.
+     2. Arrayelement: Meldung, mit welcher der NPC die Handlung
+                      kommentiert.
+       Der Meldung wird nichts automatisch vorangestellt und ein
+       abschliessender Zeilenumbruch ist ebenfalls selbstaendig
+       vorzunehmen. Mit einem Leerstring ist somit auch gar keine
+       Rueckmeldung moeglich.
+
+
+BEISPIEL
+========
+
+   Der NPC schmeisst alle ihm gegebenen Gegenstaende einfach weg:
+     void create()
+     { ::create();
+       ...
+       SetProp(P_REJECT,({REJECT_GIVE,
+       Name(WER)+" murmelt: Was soll ich denn damit?!\n"}));
+       ...
+     }
+   Manchmal ist das recht nuetzlich, z.B. kann man so eigentlich schwer
+   zu toetende NPCs dagegen schuetzen, dass man ihnen angezuendetes
+   Dynamit oder aehnliches ueberreicht.
+
+
+BEMERKUNGEN
+===========
+
+   Innerhalb von NPCs ist die Funktion give_notify() fuer die
+   automatische Auswertung dieser Property verantwortlich; das sollte
+   man insbesondere beim Ueberschreiben dieser Funktion beachten!
+
+
+SIEHE AUCH
+==========
+
+   give_notify(), /std/npc/put_and_get.c
+
 Last modified: Mon Apr 23 16:54:07 2001 by Patryn
diff --git a/doc/props/P_REMOVE_FUNC b/doc/props/P_REMOVE_FUNC
index 2d431fa..f5c2232 100644
--- a/doc/props/P_REMOVE_FUNC
+++ b/doc/props/P_REMOVE_FUNC
@@ -1,25 +1,40 @@
+
 P_REMOVE_FUNC
-
-NAME:
-     P_REMOVE_FUNC "remove_func"
-
-DEFINIERT IN:
-     <armour.h>
-
-BESCHREIBUNG:
-     Falls ein Objekt eine RemoveFunc() fuer die Ruestung oder Kleidung 
-     definiert, so muss dieses Objekt in dieser Property eingetragen sein.
-
-     Die Auswertung dieser Property erfolgt im Laufe des DoUnwear() in
-     der nicht-oeffentlichen Funktionen _check_unwear_restrictions().
-
-BEISPIELE:
-     Siehe das Beispiel zu RemoveFunc()
-
-SIEHE AUCH:
-     /std/armour.c, /std/clothing.c, clothing, armours
-     RemoveFunc()
+*************
 
 
-Letzte Aenderung:
-15.02.2009, Zesstra
\ No newline at end of file
+NAME
+====
+
+   P_REMOVE_FUNC "remove_func"
+
+
+DEFINIERT IN
+============
+
+   <armour.h>
+
+
+BESCHREIBUNG
+============
+
+   Falls ein Objekt eine RemoveFunc() fuer die Ruestung oder Kleidung
+   definiert, so muss dieses Objekt in dieser Property eingetragen sein.
+
+   Die Auswertung dieser Property erfolgt im Laufe des DoUnwear() in
+   der nicht-oeffentlichen Funktionen _check_unwear_restrictions().
+
+
+BEISPIELE
+=========
+
+   Siehe das Beispiel zu RemoveFunc()
+
+
+SIEHE AUCH
+==========
+
+   /std/armour.c, /std/clothing.c, clothing, armours
+   RemoveFunc()
+
+Letzte Aenderung: 15.02.2009, Zesstra
diff --git a/doc/props/P_REMOVE_MSG b/doc/props/P_REMOVE_MSG
index 9eb1d8d..78a1357 100644
--- a/doc/props/P_REMOVE_MSG
+++ b/doc/props/P_REMOVE_MSG
@@ -1,28 +1,49 @@
-NAME:
-     P_REMOVE_MSG                  "std_food_remove_msg"
 
-DEFINIERT IN:
-     <sys/food.h>
+P_REMOVE_MSG
+************
 
-BESCHREIBUNG:
-     Meldung, wenn eine verdorbene Speise gerade vernichtet wird.
-     Diese Meldung erscheint nur, wenn in P_DESTROY_BAD ein positiver
-     Integer-Wert gesetzt ist.
-     Befindet sich die Speise in einem Spieler, geht die Meldung an genau
-     diesen, liegt die Speise im Raum, geht die Meldung an alle anwesenden
-     Spieler.
-     
-BEMERKUNGEN:
-     Diese Meldung wird von replace_personal mit den Argumenten:
-     1. Speise
-     2. Konsument
-     verarbeitet, kann als entsprechende Platzhalter enthalten
-     
-DEFAULT:
-     "@WER1 zerfaellt zu Staub."
 
-SIEHE AUCH:
-     P_DESTROY_BAD, wiz/food, replace_personal
+NAME
+====
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+   P_REMOVE_MSG                  "std_food_remove_msg"
+
+
+DEFINIERT IN
+============
+
+   <sys/food.h>
+
+
+BESCHREIBUNG
+============
+
+   Meldung, wenn eine verdorbene Speise gerade vernichtet wird.
+   Diese Meldung erscheint nur, wenn in P_DESTROY_BAD ein positiver
+   Integer-Wert gesetzt ist.
+   Befindet sich die Speise in einem Spieler, geht die Meldung an genau
+   diesen, liegt die Speise im Raum, geht die Meldung an alle anwesenden
+   Spieler.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Meldung wird von replace_personal mit den Argumenten:
+   1. Speise
+   2. Konsument
+   verarbeitet, kann als entsprechende Platzhalter enthalten
+
+
+DEFAULT
+=======
+
+   "@WER1 zerfaellt zu Staub."
+
+
+SIEHE AUCH
+==========
+
+   P_DESTROY_BAD, wiz/food, replace_personal
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_RESET_LIFETIME b/doc/props/P_RESET_LIFETIME
index 378cf0c..bbd4bbe 100644
--- a/doc/props/P_RESET_LIFETIME
+++ b/doc/props/P_RESET_LIFETIME
@@ -1,31 +1,52 @@
-NAME:

-     P_RESET_LIFETIME              "std_food_lifetime_reset"

-

-DEFINIERT IN:

-     /sys/food.h

-

-BESCHREIBUNG:

-     Zeit in Resets, die die Speise haltbar ist.

-     Jeder einzelne Reset wird in seiner Laenge zufaellig festgelegt und

-     zu einer Gesamtanzahl von Sekunden zusammengefasst. Diese Zeit in

-     Sekunden wird dann in P_LIFETIME gespeichert.

-     Nach dieser Zeit wird diese Speise schlecht und je nach Konfiguration

-     der Speise eventuell zerstoert. Sichergestellt wird dies durch den

-     Aufruf von reset() nach dieser Anzahl "Resets".

-     Moechte man eine Speise haben, die niemals verdirbt

-     (genehmigungspflichtig!), nutzt man die Property P_NO_BAD

-     

-BEMERKUNGEN:

-     Sobald der Countdown zum Schlechtwerden der Speise laeuft, also ein

-     Spieler damit in Beruehrung kam, zeigt SetProp auf diese Property keine

-     Wirkung mehr.

-

-DEFAULT:

-     Ohne Setzen von P_LIFETIME ,P_RESET_LIFETIME und P_NO_BAD verdirbt die

-     Speise nach einem Reset, also zwischen 30 und 60 Minuten

-

-SIEHE AUCH:

-     wiz/food, P_LIFETIME, P_NO_BAD

-

-------------------------------------------------------------------------------

-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+P_RESET_LIFETIME
+****************
+
+
+NAME
+====
+
+   P_RESET_LIFETIME              "std_food_lifetime_reset"
+
+
+DEFINIERT IN
+============
+
+   /sys/food.h
+
+
+BESCHREIBUNG
+============
+
+   Zeit in Resets, die die Speise haltbar ist.
+   Jeder einzelne Reset wird in seiner Laenge zufaellig festgelegt und
+   zu einer Gesamtanzahl von Sekunden zusammengefasst. Diese Zeit in
+   Sekunden wird dann in P_LIFETIME gespeichert.
+   Nach dieser Zeit wird diese Speise schlecht und je nach Konfiguration
+   der Speise eventuell zerstoert. Sichergestellt wird dies durch den
+   Aufruf von reset() nach dieser Anzahl "Resets".
+   Moechte man eine Speise haben, die niemals verdirbt
+   (genehmigungspflichtig!), nutzt man die Property P_NO_BAD
+
+
+BEMERKUNGEN
+===========
+
+   Sobald der Countdown zum Schlechtwerden der Speise laeuft, also ein
+   Spieler damit in Beruehrung kam, zeigt SetProp auf diese Property keine
+   Wirkung mehr.
+
+
+DEFAULT
+=======
+
+   Ohne Setzen von P_LIFETIME ,P_RESET_LIFETIME und P_NO_BAD verdirbt die
+   Speise nach einem Reset, also zwischen 30 und 60 Minuten
+
+
+SIEHE AUCH
+==========
+
+   wiz/food, P_LIFETIME, P_NO_BAD
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_RESISTANCE b/doc/props/P_RESISTANCE
index ff3de74..48e476f 100644
--- a/doc/props/P_RESISTANCE
+++ b/doc/props/P_RESISTANCE
@@ -1,37 +1,61 @@
+
 P_RESISTANCE
-NAME:
-     P_RESISTANCE                  "resistance"
+************
 
-DEFINIERT IN:
-     /sys/living/combat.h
 
-WICHTIG:
-     DIESE PROPERTY IST VERALTET! BITTE P_RESISTANCE_STRENGTHS
-     VERWENDEN! AUCH FUNKTIONIERT Set() NICHT WIE ES SOLLTE.
+NAME
+====
 
-BESCHREIBUNG:
-     Hiermit koennen die Resistenzen eines Lebewesens sehr einfach gesetzt
-     werden. Es kann ein Array mit Schadensarten gesetzt werden, jeder
-     Eintrag eines Schadens verdoppelt die Resistenz gegen diesen.
+   P_RESISTANCE                  "resistance"
 
-BEMERKUNGEN:
-     - P_RESISTANCE_STRENGTHS spiegelt diese Eintraege hier wieder
-     - um genauere Werte anzugeben einen AddResistanceModifier() oder
-       P_RESISTANCE_STRENGTHS benutzen.
-     - P_RESISTANCE kann und wird nicht aus P_RESISTANCE_STRENGTHS
-       upgedatet
 
-BEISPIELE:
-     // ein NPC mit halbierter Feuerempfindlichkeit und
-     // geviertelter Windempfindlichkeit
-     SetProp(P_RESISTANCE, ({DT_FIRE, DT_AIR, DT_AIR}));
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     simple Resistenz:	P_RESISTANCE
-     Modifikatoren:	AddResistanceModifier, RemoveResistanceModifier(),
-			P_RESISTANCE_MODIFIER
-     Hauptmapping:	P_RESISTANCE_STRENGTHS
-     Berechnung:	CheckResistance(), UpdateResistanceStrengths()
-     anderes:		balance, /std/armour/combat.c, /std/living/combat.c
+   /sys/living/combat.h
+
+
+WICHTIG
+=======
+
+   DIESE PROPERTY IST VERALTET! BITTE P_RESISTANCE_STRENGTHS
+   VERWENDEN! AUCH FUNKTIONIERT Set() NICHT WIE ES SOLLTE.
+
+
+BESCHREIBUNG
+============
+
+   Hiermit koennen die Resistenzen eines Lebewesens sehr einfach gesetzt
+   werden. Es kann ein Array mit Schadensarten gesetzt werden, jeder
+   Eintrag eines Schadens verdoppelt die Resistenz gegen diesen.
+
+
+BEMERKUNGEN
+===========
+
+   - P_RESISTANCE_STRENGTHS spiegelt diese Eintraege hier wieder
+   - um genauere Werte anzugeben einen AddResistanceModifier() oder
+     P_RESISTANCE_STRENGTHS benutzen.
+   - P_RESISTANCE kann und wird nicht aus P_RESISTANCE_STRENGTHS
+     upgedatet
+
+
+BEISPIELE
+=========
+
+   // ein NPC mit halbierter Feuerempfindlichkeit und
+   // geviertelter Windempfindlichkeit
+   SetProp(P_RESISTANCE, ({DT_FIRE, DT_AIR, DT_AIR}));
+
+
+SIEHE AUCH
+==========
+
+   simple Resistenz:  P_RESISTANCE
+   Modifikatoren:     AddResistanceModifier, RemoveResistanceModifier(),
+                      P_RESISTANCE_MODIFIER
+   Hauptmapping:      P_RESISTANCE_STRENGTHS
+   Berechnung:        CheckResistance(), UpdateResistanceStrengths()
+   anderes:           balance, /std/armour/combat.c, /std/living/combat.c
 
 1.Dez 2004, Gloinson
diff --git a/doc/props/P_RESISTANCE_MODIFIER b/doc/props/P_RESISTANCE_MODIFIER
index 0a0538e..2a3322e 100644
--- a/doc/props/P_RESISTANCE_MODIFIER
+++ b/doc/props/P_RESISTANCE_MODIFIER
@@ -1,26 +1,45 @@
-NAME:
-     P_RESISTANCE_MODIFIER             "rstr:mod"
 
-DEFINIERT IN:
-     /sys/living/combat.h
+P_RESISTANCE_MODIFIER
+*********************
 
-BESCHREIBUNG:
-     Hier werden die Resistenzmodifikatoren in einem Mapping abgespeichert.
 
-     Format:
+NAME
+====
 
-     (["me":<Aufaddition aller Resistenz/Empfindlichkeitsmodifikationen>;0,
-       "<Objektname>#<Schluessel>":<Resistenzmapping>;<Objekreferenz>,
-       ...])
+   P_RESISTANCE_MODIFIER             "rstr:mod"
 
-BEMERKUNGEN:
-     Nur ueber AddResistanceModifier(), RemoveResistanceModifier() aendern!
 
-SIEHE AUCH:
-     Modifikatoren:	AddResistanceModifier, RemoveResistanceModifier()
-     simple Resistenz:	P_RESISTANCE, P_VULNERABILITY
-     Hauptmapping:	P_RESISTANCE_STRENGTHS
-     Berechnung:	CheckResistance(), UpdateResistanceStrengths()
-     anderes:		balance, /std/armour/combat.c, /std/living/combat.c
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Hier werden die Resistenzmodifikatoren in einem Mapping abgespeichert.
+
+   Format:
+
+   (["me":<Aufaddition aller Resistenz/Empfindlichkeitsmodifikationen>;0,
+     "<Objektname>#<Schluessel>":<Resistenzmapping>;<Objekreferenz>,
+     ...])
+
+
+BEMERKUNGEN
+===========
+
+   Nur ueber AddResistanceModifier(), RemoveResistanceModifier() aendern!
+
+
+SIEHE AUCH
+==========
+
+   Modifikatoren:     AddResistanceModifier, RemoveResistanceModifier()
+   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
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
diff --git a/doc/props/P_RESTRICTIONS b/doc/props/P_RESTRICTIONS
index 34890ff..a1764b9 100644
--- a/doc/props/P_RESTRICTIONS
+++ b/doc/props/P_RESTRICTIONS
@@ -1,140 +1,163 @@
-NAME:
-    P_RESTRICTIONS                                "restrictions"
 
-DEFINIERT IN:
-    /sys/combat.h
-    (Die SR_*-Parameter sind in /sys/new_skills.h definiert.)
-
-BESCHREIBUNG:
-    Enthaelt ein mapping mit den zu pruefenden Einschraenkungen.
-
-    In dieser Property lassen sich Restriktionen setzen, die vor dem
-    Zuecken einer Waffe / Anziehen einer Ruestung oder Kleidung geprueft
-    werden und dies gegebenfalls verhindern, ohne gleich auf eine evtl.
-    vorhandene WieldFunc / WearFunc zuzugreifen.
-
-    Die Auswertung erfolgt ueber den Aufruf von check_restrictions()
-    in /std/restriction_checker.c
-
-    Folgende Keys werden in dem Mapping ausgewertet:
-
-    P_LEVEL
-      Mindeststufe, die das Lebewesen besitzen muss, um die Aktion
-      auszufuehren.
-    P_GUILD_LEVEL
-      Gildenlevel, das das Lebewesen mindestens erreicht haben muss, um die
-      Aktion auszufuehren.
-    SR_SEER
-      Ist gesetzt, wenn das Lebewesen Seher sein muss.
-      Auswertung nur fuer Interactives, NSC ignorieren das Flag.
-    P_XP
-      Mindestmenge an Erfahrungspunkten, die ein Lebewesen besitzen muss,
-      um die Aktion auszufuehren.
-    P_QP
-      Mindestmenge an Abenteuerpunkten, die das Lebewesen haben muss.
-    P_ALCOHOL
-      Menge an Alkohol, unter der der Alkoholspiegel des Lebewesen liegen
-      muss, um die Aktion noch ausfuehren zu koennen.
-    P_DRINK
-      Menge an Fluessigkeit, unter der der Fluessigkeitsspiegel des
-      Lebewesen liegen muss, um die Aktion noch ausfuehren zu koennen.
-    P_FOOD
-      Beinhaltet die Menge an Nahrung, unter der der Nahrungsspiegel des
-      Spielers liegen muss, um die Aktion noch ausfuehren zu koennen.
-    P_DEAF
-      Ist gesetzt, falls der Spieler nicht taub sein darf.
-    P_FROG
-      Ist gesetzt, falls der Spieler kein Frosch sein darf.
-    P_BLIND
-      Ist gesetzt, falls der Spieler nicht blind sein darf.
-      Achtung: das ist nicht gleichbedeutend mit dem Umstand, dass er evtl.
-      nichts mehr sehen kann. Auch andere Gruende (zum Beispiel Dunkelheit)
-      koennen bewirken, dass ein Spieler nichts mehr sieht.
-    A_INT, A_DEX, A_CON, A_STR
-      Jeweilige Mindesthoehe eines Attribut, um eine Aktion ausfuehren zu
-      koennen.
-    SR_BAD, SR_GOOD
-      Gibt an, wie [minimal] boese bzw. wie [maximal] gut ein Charakter sein
-      darf, um eine Aktion ausfuehren zu koennen.
-    SR_MIN_SIZE, SR_MAX_SIZE
-      Gibt die minimale, bzw. die maximale Groesse an, die ein Charakter
-      maximal haben darf, um eine Aktion ausfuehren zu koennen.
-    SR_FREE_HANDS
-      Gibt an, wieviele freie Haende ein Charakter fuer diese Aktion
-      besitzen muss.
-    SR_EXCLUDE_RACE
-      Mitglieder aller in dieser Liste aufgefuehrten Rassen koennen
-      diese Aktion nicht ausfuehren.
-    SR_INCLUDE_RACE
-      Mitglieder aller NICHT in dieser Liste aufgefuehrten Rassen koennen
-      diese Aktion nicht ausfuehren.
-    SM_RACE
-      Hier kann pro Rasse ein Mapping mit besonderen (nur) fuer diese Rasse
-      geltenden Einschraenkungen vorgenommen werden. Als Keys sind die
-      in dieser Manpage beschriebenen Keys erlaubt, wobei SM_RACE nicht
-      rekursiv ausgewertet wird.
-      Der Rassenname ist gross geschrieben und "*" steht fuer alle Rassen.
-    SR_EXCLUDE_GUILD
-    SR_INCLUDE_GUILD
-      Diese beiden Keys verhalten sich wie SR_*_RACE, nur dass hier Gilden
-      genannt werden.
-    SR_FUN
-      Hier kann eine Funktion in verschiedenen Formen zum Pruefen der
-      Restriktionen angegeben werden, siehe execute_anything().
-      Das kann nuetzlich sein, um andere Restriktionen zu pruefen,
-      wie das Bestehen von Miniquests oder andere Faehigkeiten/Flags.
-      Ist der Test nicht bestanden, gibt die Funktion einen String zurueck.
-    SR_PROP
-      Hier kann ein Mapping mit Properties und zugehoerigen Werten angegeben
-      werden, die jeweils auf Identitaet geprueft werden. Zusaetzlich sollte
-      eine Meldung angegeben werden, die als Fehlermeldung ausgegeben wird,
-      wenn der Spieler die Bedingung nicht erfuellt. Es sollte immer eine
-      passende Meldung fuer den Spieler eingebaut werden. Beispiel:
-      ([ SR_PROP: ([P_AUSGANG_ENTDECKT: 1; "Dein Schwert fluestert "
-          "veraergert: Ich werde Dir erst dann zu Diensten sein, wenn Du "
-          "Dich als wuerdig erwiesen hast!"]) ])
-      Aufgrund der Meldung wird empfohlen, SR_PROP nicht in Restriktionen 
-      einzusetzen, die massenweise in Savefiles landen (z.B. 
-      Spielersavefiles).
-    SR_QUEST
-      Hier kann ein String-Array mit den Namen (Keys) der Quest(s) angegeben
-      werden, die der Spieler bestanden haben muss, um die Aktion ausfuehren
-      zu koennen.
-    SR_MINIQUEST
-      Hier kann entweder ein String-Array mit den Ladenamen der vergebenden
-      Objekte oder ein Int-Array mit den Index-Nummern (IDs) der
-      Miniquest(s) (empfohlen!) angegeben werden, die der Spieler bestanden
-      haben muss, um die Aktion ausfuehren zu koennen.
+P_RESTRICTIONS
+**************
 
 
+NAME
+====
 
-BEMERKUNGEN:
-    Diese Property eignet sich hervorragend dafuer, einige Grundbedingungen
-    fuer das Nutzen der Waffe / Ruestung / Kleidung zu stellen ohne gleich
-    eine Wield- oder WearFunc setzen und auswerten zu muessen.
+   P_RESTRICTIONS                                "restrictions"
 
-    Denkbar waere der Einsatz bei hochwertigen Waffen / Ruestungen / Kleidung,
-    z.B. aus der Para-Welt oder solchen, die sich nah am Limit der geltenden
-    Grenzwerte fuer P_WC / P_AC bewegen oder sogar (nach Genehmigung durch
-    die Balance) darueber.
 
-BEISPIEL:
-    Mindeststufe 25: SetProp(P_RESTRICTIONS,([P_LEVEL:25]));
-    Keine Menschen:  SetProp(P_RESTRICTIONS,([SR_EXCLUDE_RACE:({"Mensch"})]));
-    Alignment >499:  SetProp(P_RESTRICTIONS,([SR_GOOD:500]));
+DEFINIERT IN
+============
 
-    Komplexeres Beispiel
+   /sys/combat.h
+   (Die SR_*-Parameter sind in /sys/new_skills.h definiert.)
 
-    Quest "Diamond Club" bestanden, magiereigene Property P_AUSGANG_GEFUNDEN
-    muss gesetzt sein, Stufe 10, nicht taub, max. 45 Food:
-    SetProp(P_RESTRICTIONS, ([ P_LEVEL: 10, P_DEAF: 1, P_FOOD: 45,
-      SR_PROP: ([P_AUSGANG_GEFUNDEN:1]), SR_QUEST:({"Diamond Club"}) ]));
 
-SIEHE AUCH:
-    check_restrictions(L)
-    WieldFunc(L), WearFunc(L), RemoveFunc(L), UnwieldFunc(L),
-    P_WIELD_FUNC, P_WEAR_FUNC, P_REMOVE_FUNC, P_UNWIELD_FUNC
-    /std/armour/wear.c, /std/weapon/combat.c, clothing, armours, weapon
+BESCHREIBUNG
+============
 
-LETZTE AeNDERUNG:
-03. Januar 2014, Arathorn
+   Enthaelt ein mapping mit den zu pruefenden Einschraenkungen.
+
+   In dieser Property lassen sich Restriktionen setzen, die vor dem
+   Zuecken einer Waffe / Anziehen einer Ruestung oder Kleidung geprueft
+   werden und dies gegebenfalls verhindern, ohne gleich auf eine evtl.
+   vorhandene WieldFunc / WearFunc zuzugreifen.
+
+   Die Auswertung erfolgt ueber den Aufruf von check_restrictions()
+   in /std/restriction_checker.c
+
+   Folgende Keys werden in dem Mapping ausgewertet:
+
+   P_LEVEL
+     Mindeststufe, die das Lebewesen besitzen muss, um die Aktion
+     auszufuehren.
+   P_GUILD_LEVEL
+     Gildenlevel, das das Lebewesen mindestens erreicht haben muss, um die
+     Aktion auszufuehren.
+   SR_SEER
+     Ist gesetzt, wenn das Lebewesen Seher sein muss.
+     Auswertung nur fuer Interactives, NSC ignorieren das Flag.
+   P_XP
+     Mindestmenge an Erfahrungspunkten, die ein Lebewesen besitzen muss,
+     um die Aktion auszufuehren.
+   P_QP
+     Mindestmenge an Abenteuerpunkten, die das Lebewesen haben muss.
+   P_ALCOHOL
+     Menge an Alkohol, unter der der Alkoholspiegel des Lebewesen liegen
+     muss, um die Aktion noch ausfuehren zu koennen.
+   P_DRINK
+     Menge an Fluessigkeit, unter der der Fluessigkeitsspiegel des
+     Lebewesen liegen muss, um die Aktion noch ausfuehren zu koennen.
+   P_FOOD
+     Beinhaltet die Menge an Nahrung, unter der der Nahrungsspiegel des
+     Spielers liegen muss, um die Aktion noch ausfuehren zu koennen.
+   P_DEAF
+     Ist gesetzt, falls der Spieler nicht taub sein darf.
+   P_FROG
+     Ist gesetzt, falls der Spieler kein Frosch sein darf.
+   P_BLIND
+     Ist gesetzt, falls der Spieler nicht blind sein darf.
+     Achtung: das ist nicht gleichbedeutend mit dem Umstand, dass er evtl.
+     nichts mehr sehen kann. Auch andere Gruende (zum Beispiel Dunkelheit)
+     koennen bewirken, dass ein Spieler nichts mehr sieht.
+   A_INT, A_DEX, A_CON, A_STR
+     Jeweilige Mindesthoehe eines Attribut, um eine Aktion ausfuehren zu
+     koennen.
+   SR_BAD, SR_GOOD
+     Gibt an, wie [minimal] boese bzw. wie [maximal] gut ein Charakter sein
+     darf, um eine Aktion ausfuehren zu koennen.
+   SR_MIN_SIZE, SR_MAX_SIZE
+     Gibt die minimale, bzw. die maximale Groesse an, die ein Charakter
+     maximal haben darf, um eine Aktion ausfuehren zu koennen.
+   SR_FREE_HANDS
+     Gibt an, wieviele freie Haende ein Charakter fuer diese Aktion
+     besitzen muss.
+   SR_EXCLUDE_RACE
+     Mitglieder aller in dieser Liste aufgefuehrten Rassen koennen
+     diese Aktion nicht ausfuehren.
+   SR_INCLUDE_RACE
+     Mitglieder aller NICHT in dieser Liste aufgefuehrten Rassen koennen
+     diese Aktion nicht ausfuehren.
+   SM_RACE
+     Hier kann pro Rasse ein Mapping mit besonderen (nur) fuer diese Rasse
+     geltenden Einschraenkungen vorgenommen werden. Als Keys sind die
+     in dieser Manpage beschriebenen Keys erlaubt, wobei SM_RACE nicht
+     rekursiv ausgewertet wird.
+     Der Rassenname ist gross geschrieben und "*" steht fuer alle Rassen.
+   SR_EXCLUDE_GUILD
+   SR_INCLUDE_GUILD
+     Diese beiden Keys verhalten sich wie SR_*_RACE, nur dass hier Gilden
+     genannt werden.
+   SR_FUN
+     Hier kann eine Funktion in verschiedenen Formen zum Pruefen der
+     Restriktionen angegeben werden, siehe execute_anything().
+     Das kann nuetzlich sein, um andere Restriktionen zu pruefen,
+     wie das Bestehen von Miniquests oder andere Faehigkeiten/Flags.
+     Ist der Test nicht bestanden, gibt die Funktion einen String zurueck.
+   SR_PROP
+     Hier kann ein Mapping mit Properties und zugehoerigen Werten angegeben
+     werden, die jeweils auf Identitaet geprueft werden. Zusaetzlich sollte
+     eine Meldung angegeben werden, die als Fehlermeldung ausgegeben wird,
+     wenn der Spieler die Bedingung nicht erfuellt. Es sollte immer eine
+     passende Meldung fuer den Spieler eingebaut werden. Beispiel:
+     ([ SR_PROP: ([P_AUSGANG_ENTDECKT: 1; "Dein Schwert fluestert "
+         "veraergert: Ich werde Dir erst dann zu Diensten sein, wenn Du "
+         "Dich als wuerdig erwiesen hast!"]) ])
+     Aufgrund der Meldung wird empfohlen, SR_PROP nicht in Restriktionen
+     einzusetzen, die massenweise in Savefiles landen (z.B.
+     Spielersavefiles).
+   SR_QUEST
+     Hier kann ein String-Array mit den Namen (Keys) der Quest(s) angegeben
+     werden, die der Spieler bestanden haben muss, um die Aktion ausfuehren
+     zu koennen.
+   SR_MINIQUEST
+     Hier kann entweder ein String-Array mit den Ladenamen der vergebenden
+     Objekte oder ein Int-Array mit den Index-Nummern (IDs) der
+     Miniquest(s) (empfohlen!) angegeben werden, die der Spieler bestanden
+     haben muss, um die Aktion ausfuehren zu koennen.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property eignet sich hervorragend dafuer, einige Grundbedingungen
+   fuer das Nutzen der Waffe / Ruestung / Kleidung zu stellen ohne gleich
+   eine Wield- oder WearFunc setzen und auswerten zu muessen.
+
+   Denkbar waere der Einsatz bei hochwertigen Waffen / Ruestungen / Kleidung,
+   z.B. aus der Para-Welt oder solchen, die sich nah am Limit der geltenden
+   Grenzwerte fuer P_WC / P_AC bewegen oder sogar (nach Genehmigung durch
+   die Balance) darueber.
+
+
+BEISPIEL
+========
+
+   Mindeststufe 25: SetProp(P_RESTRICTIONS,([P_LEVEL:25]));
+   Keine Menschen:  SetProp(P_RESTRICTIONS,([SR_EXCLUDE_RACE:({"Mensch"})]));
+   Alignment >499:  SetProp(P_RESTRICTIONS,([SR_GOOD:500]));
+
+   Komplexeres Beispiel
+
+   Quest "Diamond Club" bestanden, magiereigene Property P_AUSGANG_GEFUNDEN
+   muss gesetzt sein, Stufe 10, nicht taub, max. 45 Food:
+   SetProp(P_RESTRICTIONS, ([ P_LEVEL: 10, P_DEAF: 1, P_FOOD: 45,
+     SR_PROP: ([P_AUSGANG_GEFUNDEN:1]), SR_QUEST:({"Diamond Club"}) ]));
+
+
+SIEHE AUCH
+==========
+
+   check_restrictions(L)
+   WieldFunc(L), WearFunc(L), RemoveFunc(L), UnwieldFunc(L),
+   P_WIELD_FUNC, P_WEAR_FUNC, P_REMOVE_FUNC, P_UNWIELD_FUNC
+   /std/armour/wear.c, /std/weapon/combat.c, clothing, armours, weapon
+
+
+LETZTE AeNDERUNG
+================
+
+3. Januar 2014, Arathorn
diff --git a/doc/props/P_ROOM_MSG b/doc/props/P_ROOM_MSG
index c3324f2..3486458 100644
--- a/doc/props/P_ROOM_MSG
+++ b/doc/props/P_ROOM_MSG
@@ -1,20 +1,39 @@
-NAME:
-    P_ROOM_MSG                    "room_msg"                    
 
-DEFINIERT IN:
-    /sys/room/description.h
+P_ROOM_MSG
+**********
 
-BESCHREIBUNG:
-     Liste mit Meldungen, die zufaellig im Raum ausgegeben werden.
 
-     Hier sind nur die Textmeldungen als String-Array gespeichert.
+NAME
+====
 
-ANMERKUNGEN:
-     Bitte AddRoomMessage() zum Hinzufuegen/Ueberschreiben benutzen!
+   P_ROOM_MSG                    "room_msg"
 
-SIEHE AUCH:
-     LFuns:    AddRoomMessage()
-     Verwandt: tell_room(), ReceiveMsg()
-     Props:    P_FUNC_MSG, P_MSG_PROB
+
+DEFINIERT IN
+============
+
+   /sys/room/description.h
+
+
+BESCHREIBUNG
+============
+
+   Liste mit Meldungen, die zufaellig im Raum ausgegeben werden.
+
+   Hier sind nur die Textmeldungen als String-Array gespeichert.
+
+
+ANMERKUNGEN
+===========
+
+   Bitte AddRoomMessage() zum Hinzufuegen/Ueberschreiben benutzen!
+
+
+SIEHE AUCH
+==========
+
+   LFuns:    AddRoomMessage()
+   Verwandt: tell_room(), ReceiveMsg()
+   Props:    P_FUNC_MSG, P_MSG_PROB
 
 2.Feb 2016 Gloinson
diff --git a/doc/props/P_ROOM_TYPE b/doc/props/P_ROOM_TYPE
index d9dd746..22e894e 100644
--- a/doc/props/P_ROOM_TYPE
+++ b/doc/props/P_ROOM_TYPE
@@ -1,23 +1,39 @@
-NAME:
-    P_ROOM_TYPE                       "room_type"                       
 
-DEFINIERT IN:
-    /sys/rooms.h
+P_ROOM_TYPE
+***********
 
-BESCHREIBUNG:
-    In P_ROOM_TYPE wird die Art des Raumes durch entsprechende Flags
-    beschrieben.
 
-    Bisher unterstuetzt werden:
-        - RT_SHOP       fuer Raeume, die /std/room/shop inheriten
-        - RT_PUB        fuer Raeume, die /std/room/pub inheriten
+NAME
+====
 
-BEISPIEL:
-    Wenn ein NPC abfragen moechte, ob er sich in einer Kneipe aufhaelt (um
-    selbststaendig tanken zu koennen) koennte eine Abfrage z.B. so aussehen:
+   P_ROOM_TYPE                       "room_type"
 
-        if ( environment() &&
-             environment()->QueryProp(P_ROOM_TYPE) & RT_PUB ){
 
-            ... tanken ...
-        }
+DEFINIERT IN
+============
+
+   /sys/rooms.h
+
+
+BESCHREIBUNG
+============
+
+   In P_ROOM_TYPE wird die Art des Raumes durch entsprechende Flags
+   beschrieben.
+
+   Bisher unterstuetzt werden:
+       - RT_SHOP       fuer Raeume, die /std/room/shop inheriten
+       - RT_PUB        fuer Raeume, die /std/room/pub inheriten
+
+
+BEISPIEL
+========
+
+   Wenn ein NPC abfragen moechte, ob er sich in einer Kneipe aufhaelt (um
+   selbststaendig tanken zu koennen) koennte eine Abfrage z.B. so aussehen:
+
+       if ( environment() &&
+            environment()->QueryProp(P_ROOM_TYPE) & RT_PUB ){
+
+           ... tanken ...
+       }
diff --git a/doc/props/P_SB_SPELLS b/doc/props/P_SB_SPELLS
index 84aa723..1ffac9d 100644
--- a/doc/props/P_SB_SPELLS
+++ b/doc/props/P_SB_SPELLS
@@ -1,23 +1,42 @@
-NAME:
-    P_SB_SPELLS            "sb_spells"                   
 
-DEFINIERT IN:
-    /sys/new_skills.h
+P_SB_SPELLS
+***********
 
-BESCHREIBUNG:
-    In dieser Spellbookproperty sind saemtliche Sprueche des Spellbooks
-    vermerkt. Veraendert wird sie durch AddSpell().
 
-BEMERKUNGEN:
-    Man sollte diese Property nicht per Hand veraendern, sondern die
-    Funktion AddSpell() nutzen.
+NAME
+====
 
-SIEHE AUCH:
-    GObj Verwalten:   LearnSkill, LearnSpell, InitialSkillAbility
-    * Properties:     P_GUILD_SKILLS
-    Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
-    * Verwalten:      AddSpell, QuerySpell
-    * Properties:     P_GLOBAL_SKILLPROPS
-    Skills:           P_NEWSKILLS, spruchermuedung, skill_info_liste
+   P_SB_SPELLS            "sb_spells"
 
-Last modified: Wed Jan 14 19:17:06 1998 by Patryn
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Spellbookproperty sind saemtliche Sprueche des Spellbooks
+   vermerkt. Veraendert wird sie durch AddSpell().
+
+
+BEMERKUNGEN
+===========
+
+   Man sollte diese Property nicht per Hand veraendern, sondern die
+   Funktion AddSpell() nutzen.
+
+
+SIEHE AUCH
+==========
+
+   GObj Verwalten:   LearnSkill, LearnSpell, InitialSkillAbility
+   * Properties:     P_GUILD_SKILLS
+   Spellbook Lernen: Learn, SpellSuccess, Erfolg, Misserfolg
+   * Verwalten:      AddSpell, QuerySpell
+   * Properties:     P_GLOBAL_SKILLPROPS
+   Skills:           P_NEWSKILLS, spruchermuedung, skill_info_liste
+
+Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_SCREENSIZE b/doc/props/P_SCREENSIZE
index fc9dd15..e54ee8b 100644
--- a/doc/props/P_SCREENSIZE
+++ b/doc/props/P_SCREENSIZE
@@ -1,8 +1,21 @@
-NAME:
-    P_SCREENSIZE                  "screensize"                  
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_SCREENSIZE
+************
 
-BESCHREIBUNG:
-     Bildschirmgroesse in Zeilen (fuer More)
+
+NAME
+====
+
+   P_SCREENSIZE                  "screensize"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Bildschirmgroesse in Zeilen (fuer More)
diff --git a/doc/props/P_SECOND b/doc/props/P_SECOND
index 4aa835a..69c97d6 100644
--- a/doc/props/P_SECOND
+++ b/doc/props/P_SECOND
@@ -1,21 +1,39 @@
-NAME:
-    P_SECOND                      "second"                      
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_SECOND
+********
 
-BESCHREIBUNG:
-     Wenn diese Prop gesetzt ist, ist der Spieler ein Zweitie. Inhalt der
-     Prop ist ein String mit dem (lowercase) Namen des Ersties.
 
-BEISPIEL:
-     if (this_player()->QueryProp(P_SECOND)=="notstrom") {
-       tell_object(this_player(), "Nicht alles aufessen!\n");
-     }
+NAME
+====
 
-SIEHE AUCH:
-     Properties: P_SECOND_MARK
-     Sonstiges:  /secure/zweities.c
+   P_SECOND                      "second"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Wenn diese Prop gesetzt ist, ist der Spieler ein Zweitie. Inhalt der
+   Prop ist ein String mit dem (lowercase) Namen des Ersties.
+
+
+BEISPIEL
+========
+
+   if (this_player()->QueryProp(P_SECOND)=="notstrom") {
+     tell_object(this_player(), "Nicht alles aufessen!\n");
+   }
+
+
+SIEHE AUCH
+==========
+
+   Properties: P_SECOND_MARK
+   Sonstiges:  /secure/zweities.c
+
 Last modified: 18-Jun-2015, Arathorn.
diff --git a/doc/props/P_SECOND_MARK b/doc/props/P_SECOND_MARK
index c1c0c42..dd2c68a 100644
--- a/doc/props/P_SECOND_MARK
+++ b/doc/props/P_SECOND_MARK
@@ -1,18 +1,31 @@
-NAME:
-    P_SECOND_MARK                 "second_mark"
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_SECOND_MARK
+*************
 
-BESCHREIBUNG:
-     Gibt an, wie mit der Zweitie-Markierung eines Spielers umgegangen wird.
 
-     -1  'unsichtbare' Markierung; im wer/kwer wird bei diesem Zweitie s
-         oder S angezeigt.
+NAME
+====
 
-      0  'sichtbare' Markierung; im wer/kwer wird bei diesem Zweitie z oder
-         Z angezeigt. Der Name des Ersties ist beim Fingern jedoch nur
-         fuer Magier sichtbar.
+   P_SECOND_MARK                 "second_mark"
 
-      1  Markierung 'sichtbar + Name'; wie 0, nur dass beim Fingern alle
-         Spieler den Namen des Ersties sehen koennen.
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Gibt an, wie mit der Zweitie-Markierung eines Spielers umgegangen wird.
+
+   -1  'unsichtbare' Markierung; im wer/kwer wird bei diesem Zweitie s
+       oder S angezeigt.
+
+    0  'sichtbare' Markierung; im wer/kwer wird bei diesem Zweitie z oder
+       Z angezeigt. Der Name des Ersties ist beim Fingern jedoch nur
+       fuer Magier sichtbar.
+
+    1  Markierung 'sichtbar + Name'; wie 0, nur dass beim Fingern alle
+       Spieler den Namen des Ersties sehen koennen.
diff --git a/doc/props/P_SEERDOORS b/doc/props/P_SEERDOORS
index 8ffb852..8ec02e7 100644
--- a/doc/props/P_SEERDOORS
+++ b/doc/props/P_SEERDOORS
@@ -1,26 +1,45 @@
+
 P_SEERDOORS
+***********
 
-NAME:
-     P_SEERDOORS      "rw_sehertore"
 
-DEFINIERT IN:
-     /d/seher/portale/sehertor.h
+NAME
+====
 
-BESCHREIBUNG:
-     Sehertor-relevante Property.
+   P_SEERDOORS      "rw_sehertore"
 
-     Enthaelt ein Mapping mit den Wertepaaren
-     ([ Seher-Portal-Nummer: x ])
-     mit x != 0 fuer entdeckte Tore.
-     
-     0 hat ein Sonderverhalten fuer mobile Tore.
 
-BEMERKUNG:
-     Auf gar keinen Fall in Spielern manipulieren! Und bitte das enthaltene
-     Mapping nicht von einem Spieler abfragen und P_SEERDOORS in einem
-     Testspieler zuweisen!
-     
-SIEHE AUCH:
-     P_FAO_PORTALS
-     
+DEFINIERT IN
+============
+
+   /d/seher/portale/sehertor.h
+
+
+BESCHREIBUNG
+============
+
+   Sehertor-relevante Property.
+
+   Enthaelt ein Mapping mit den Wertepaaren
+   ([ Seher-Portal-Nummer: x ])
+   mit x != 0 fuer entdeckte Tore.
+
+
+
+   0 hat ein Sonderverhalten fuer mobile Tore.
+
+
+BEMERKUNG
+=========
+
+   Auf gar keinen Fall in Spielern manipulieren! Und bitte das enthaltene
+   Mapping nicht von einem Spieler abfragen und P_SEERDOORS in einem
+   Testspieler zuweisen!
+
+
+SIEHE AUCH
+==========
+
+   P_FAO_PORTALS
+
 1.September 2008 Gloinson
diff --git a/doc/props/P_SEERDOOR_ALLOWED b/doc/props/P_SEERDOOR_ALLOWED
index b8225e3..12f062b 100644
--- a/doc/props/P_SEERDOOR_ALLOWED
+++ b/doc/props/P_SEERDOOR_ALLOWED
@@ -1,15 +1,27 @@
-NAME:
-    P_SEERDOOR_ALLOWED		"rw_sehertor_erlaubt"                          
 
-DEFINIERT IN:
-    /d/seher/portale/sehertor.h
+P_SEERDOOR_ALLOWED
+******************
 
-BESCHREIBUNG:
-     Diese Property muss in einem Raum gesetzt sein, soll
-     ein Seher dort ein mobiles Sehertor abstellen duerfen.
-     Zusaetzlich darf der Raum nicht in PARA liegen und muss
-     als eigenes File existieren.
-     Es ist darauf zu achten, Sehertore nicht in Questgebieten,
-     direkt an Tanken oder aehnlichen Plaetzen zu erlauben.
-     Es gilt die Einschaetzung des fuer den Raum Verantwortlichen.
 
+NAME
+====
+
+   P_SEERDOOR_ALLOWED          "rw_sehertor_erlaubt"
+
+
+DEFINIERT IN
+============
+
+   /d/seher/portale/sehertor.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property muss in einem Raum gesetzt sein, soll
+   ein Seher dort ein mobiles Sehertor abstellen duerfen.
+   Zusaetzlich darf der Raum nicht in PARA liegen und muss
+   als eigenes File existieren.
+   Es ist darauf zu achten, Sehertore nicht in Questgebieten,
+   direkt an Tanken oder aehnlichen Plaetzen zu erlauben.
+   Es gilt die Einschaetzung des fuer den Raum Verantwortlichen.
diff --git a/doc/props/P_SENSITIVE b/doc/props/P_SENSITIVE
index 23d1fee..c1e8051 100644
--- a/doc/props/P_SENSITIVE
+++ b/doc/props/P_SENSITIVE
@@ -1,125 +1,154 @@
+
 P_SENSITIVE
-NAME:
-     P_SENSITIVE                   "sensitive"
+***********
 
-DEFINIERT IN:
-     /sys/thing/moving.h
 
-BESCHREIBUNG:
-     Diese Property kann in Objekten gesetzt werden, die auf bestimmte
-     Schadensarten empfindlich reagieren sollen. Moegliche Anwendungsfaelle:
-     - Das Lebewesen, in dessen Inventar sich ein Objekt befindet, erleidet
-       einen Angriff mit der fraglichen Schadensart (Beispiel: eine 
-       Pusteblume, die bei Angriff mit Luftschaden auseinanderfaellt).
-     - Zwei Objekte treffen im gleichen Environment aufeinander, wobei
-       eines empfindlich auf eine Schadensart reagiert, und das zweite diese
-       Schadensart mitbringt, d.h. die Empfindlichkeit ausloesen kann.
-       (Beispiel: ein feuerempfindlicher Postsack wird angesengt, wenn eine
-        brennende Fackel ins gleiche Inventar kommt.)
-       Das Ausloesen dieser Empfindlichkeit ist unabhaengig davon, welches 
-       Objekt zuerst da war.
+NAME
+====
 
-     Die Property enthaelt ein Array aus Arrays:
-       ({<sensprops_1>, <sensprops_2>, ..., <sensprops_n>})
-     
-     wobei jeder Eintrag <sensprops> jeweils folgende Struktur hat:
-       ({string list_key, string damtype, int treshold, mixed options })
-     
-     Die Eintraege haben dabei folgende Bedeutung:
-     
-     list_key: Kann einen von folgenden drei Werten annehmen 
-          1) SENSITIVE_INVENTORY, passive Eigenschaft; zeigt an, dass das
-             Objekt empfindlich auf aktive Objekte reagiert, die in das
-             Inventory des Containers hineinbewegt werden
-          2) SENSITIVE_ATTACK, passive Eigenschaft; zeigt an, dass das 
-             Objekt empfindlich auf aeussere Einfluesse bzw. Angriffe 
-             auf ein Lebewesen reagiert, in dessen Inventar es sich befindet
-          3) SENSITIVE_INVENTORY_TRIGGER, aktive Eigenschaft; zeigt an, dass
-             das Objekt eine Ausstrahlung auf andere Objekte im Inventar
-             hat. Wird ausgeloest, wenn das Objekt ins Inventar hineinbewegt
-             wird.
-     damtype: eine Schadensart (DT_FIRE, DT_WATER, ...)
-     treshold: hat zwei Bedeutungen abhaengig von dem Wert in list_key:
-          1) Fuer Objekte mit SENSITIVE_INVENTORY oder SENSITIVE_ATTCK ist
-             dies der Schadenswert, ab dem das Objekt benachrichtigt werden 
-             soll.
-             Hier wird ein Wert in "Defend-Einheiten" erwartet, d.h. das
-             Zehnfache dessen, was am Ende in LP abgezogen wuerde.
-          2) Fuer Objekte mit SENSITIVE_INVENTORY_TRIGGER ist dies der 
-             Schadenswert, mit dem das Objekt andere bereits im Inventar
-             des Containers befindliche Objekte beeinflusst, die eine 
-             entsprechende Empfindlichkeit gesetzt haben
-     options: Optionale Daten, die der programmierende Magier selbst
-            definieren kann. Werden an die in den betroffenen Objekten
-            aufgerufenen Funktionen durchgereicht.
+   P_SENSITIVE                   "sensitive"
 
-     Ein SENSITIVE_ATTACK-Objekt, dessen Trigger-Bedingungen erfuellt sind,
-     wird durch folgenden Funktionsaufruf darueber informiert:
-       trigger_sensitive_attack(object enemy, string damtype, int damage,
-                 mixed spell, mixed options)
-     
-     Ein SENSITIVE_INVENTORY-Objekt, dessen Trigger-Bedingungen erfuellt sind,
-     wird durch folgenden Funktionsaufruf darueber informiert:
-       trigger_sensitive_inv(object whodid, string damtype, int threshold,
-                 mixed options, mixed options)
 
-     Die beiden Funktionen muessen selbst ge-/ueberschrieben werden.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     1. P_SENSITIVE-Objekte kosten Rechenzeit bei jedem Angriff oder jedem
-        move() - daher bitte sparsam verwenden
-     2. Ist P_SENSITIVE nicht statisch, sondern wird es situationsabhaengig 
-        geaendert, muss man das environment() jeweils selbst ueber seine 
-        neue Empfindlichkeit benachrichtigen. Dies geschieht mit den 
-        Funktionen RemoveSensitiveObject() bzw.InsertSensitiveObject(), 
-        siehe deren Manpages.
+   /sys/thing/moving.h
 
-BEISPIEL:
-     Beispiel 1:
-     Beispielcode eines Objektes mit SENSITIVE_ATTACK und SENSITIVE_INVENTORY
-     siehe hier: /doc/beispiele/testobjekte/attack_busy_sensitive_testobj.c
 
-     Beispiel 2:
-     Ein Eiszapfen, der bei Feuerangriffen oder bei heissen Gegenstaenden im
-     gemeinsamen Environment zerschmelzen soll:
+BESCHREIBUNG
+============
 
-     void create() {
-       SetProp( P_SENSITIVE, ({ ({SENSITIVE_ATTACK,     DT_FIRE, 100}),
-                                 ({SENSITIVE_INVENTORY, DT_FIRE, 100}) }) );
-       [...]
+   Diese Property kann in Objekten gesetzt werden, die auf bestimmte
+   Schadensarten empfindlich reagieren sollen. Moegliche Anwendungsfaelle:
+   - Das Lebewesen, in dessen Inventar sich ein Objekt befindet, erleidet
+     einen Angriff mit der fraglichen Schadensart (Beispiel: eine
+     Pusteblume, die bei Angriff mit Luftschaden auseinanderfaellt).
+   - Zwei Objekte treffen im gleichen Environment aufeinander, wobei
+     eines empfindlich auf eine Schadensart reagiert, und das zweite diese
+     Schadensart mitbringt, d.h. die Empfindlichkeit ausloesen kann.
+     (Beispiel: ein feuerempfindlicher Postsack wird angesengt, wenn eine
+      brennende Fackel ins gleiche Inventar kommt.)
+     Das Ausloesen dieser Empfindlichkeit ist unabhaengig davon, welches
+     Objekt zuerst da war.
+
+   Die Property enthaelt ein Array aus Arrays:
+     ({<sensprops_1>, <sensprops_2>, ..., <sensprops_n>})
+
+
+
+   wobei jeder Eintrag <sensprops> jeweils folgende Struktur hat:
+     ({string list_key, string damtype, int treshold, mixed options })
+
+
+
+   Die Eintraege haben dabei folgende Bedeutung:
+
+
+
+   list_key: Kann einen von folgenden drei Werten annehmen
+        1) SENSITIVE_INVENTORY, passive Eigenschaft; zeigt an, dass das
+           Objekt empfindlich auf aktive Objekte reagiert, die in das
+           Inventory des Containers hineinbewegt werden
+        2) SENSITIVE_ATTACK, passive Eigenschaft; zeigt an, dass das
+           Objekt empfindlich auf aeussere Einfluesse bzw. Angriffe
+           auf ein Lebewesen reagiert, in dessen Inventar es sich befindet
+        3) SENSITIVE_INVENTORY_TRIGGER, aktive Eigenschaft; zeigt an, dass
+           das Objekt eine Ausstrahlung auf andere Objekte im Inventar
+           hat. Wird ausgeloest, wenn das Objekt ins Inventar hineinbewegt
+           wird.
+   damtype: eine Schadensart (DT_FIRE, DT_WATER, ...)
+   treshold: hat zwei Bedeutungen abhaengig von dem Wert in list_key:
+        1) Fuer Objekte mit SENSITIVE_INVENTORY oder SENSITIVE_ATTCK ist
+           dies der Schadenswert, ab dem das Objekt benachrichtigt werden
+           soll.
+           Hier wird ein Wert in "Defend-Einheiten" erwartet, d.h. das
+           Zehnfache dessen, was am Ende in LP abgezogen wuerde.
+        2) Fuer Objekte mit SENSITIVE_INVENTORY_TRIGGER ist dies der
+           Schadenswert, mit dem das Objekt andere bereits im Inventar
+           des Containers befindliche Objekte beeinflusst, die eine
+           entsprechende Empfindlichkeit gesetzt haben
+   options: Optionale Daten, die der programmierende Magier selbst
+          definieren kann. Werden an die in den betroffenen Objekten
+          aufgerufenen Funktionen durchgereicht.
+
+   Ein SENSITIVE_ATTACK-Objekt, dessen Trigger-Bedingungen erfuellt sind,
+   wird durch folgenden Funktionsaufruf darueber informiert:
+     trigger_sensitive_attack(object enemy, string damtype, int damage,
+               mixed spell, mixed options)
+
+
+
+   Ein SENSITIVE_INVENTORY-Objekt, dessen Trigger-Bedingungen erfuellt sind,
+   wird durch folgenden Funktionsaufruf darueber informiert:
+     trigger_sensitive_inv(object whodid, string damtype, int threshold,
+               mixed options, mixed options)
+
+   Die beiden Funktionen muessen selbst ge-/ueberschrieben werden.
+
+
+BEMERKUNGEN
+===========
+
+   1. P_SENSITIVE-Objekte kosten Rechenzeit bei jedem Angriff oder jedem
+      move() - daher bitte sparsam verwenden
+   2. Ist P_SENSITIVE nicht statisch, sondern wird es situationsabhaengig
+      geaendert, muss man das environment() jeweils selbst ueber seine
+      neue Empfindlichkeit benachrichtigen. Dies geschieht mit den
+      Funktionen RemoveSensitiveObject() bzw.InsertSensitiveObject(),
+      siehe deren Manpages.
+
+
+BEISPIEL
+========
+
+   Beispiel 1:
+   Beispielcode eines Objektes mit SENSITIVE_ATTACK und SENSITIVE_INVENTORY
+   siehe hier: /doc/beispiele/testobjekte/attack_busy_sensitive_testobj.c
+
+   Beispiel 2:
+   Ein Eiszapfen, der bei Feuerangriffen oder bei heissen Gegenstaenden im
+   gemeinsamen Environment zerschmelzen soll:
+
+   void create() {
+     SetProp( P_SENSITIVE, ({ ({SENSITIVE_ATTACK,     DT_FIRE, 100}),
+                               ({SENSITIVE_INVENTORY, DT_FIRE, 100}) }) );
+     [...]
+   }
+
+   varargs void trigger_sensitive_attack() {
+     remove();
+   }
+
+   varargs void trigger_sensitive_inv() {
+     call_out("remove",0);  // verzoegert, wegen move()
+   }
+
+   varargs int remove(int silent) {
+     if(!silent) {
+       object room = all_environment(this_object())[<1];
+       tell_room(room, Name()+" zerschmilzt.\n");
      }
+     return ::remove();
+   }
 
-     varargs void trigger_sensitive_attack() {
-       remove();
-     }
+   - wird eine Fackel mit
+     SetProp(P_SENSITIVE,({({SENSITIVE_INVENTORY_TRIGGER,DT_FIRE,250})}))
+     in das gleiche environment() wie dieser Zapfen bewegt wird, loest
+     diese im Zapfen trigger_sensitive_inv() aus
+   - wird ein Angriff mit DT_FIRE und initialem Schaden > 100 auf das
+     environment() veruebt, loest dies im Zapfen trigger_sensitive_attack()
+     aus
 
-     varargs void trigger_sensitive_inv() {
-       call_out("remove",0);  // verzoegert, wegen move()
-     }
 
-     varargs int remove(int silent) {
-       if(!silent) {
-         object room = all_environment(this_object())[<1];
-         tell_room(room, Name()+" zerschmilzt.\n");
-       }
-       return ::remove();
-     }
+SIEHE AUCH
+==========
 
-     - wird eine Fackel mit
-       SetProp(P_SENSITIVE,({({SENSITIVE_INVENTORY_TRIGGER,DT_FIRE,250})}))
-       in das gleiche environment() wie dieser Zapfen bewegt wird, loest
-       diese im Zapfen trigger_sensitive_inv() aus
-     - wird ein Angriff mit DT_FIRE und initialem Schaden > 100 auf das
-       environment() veruebt, loest dies im Zapfen trigger_sensitive_attack()
-       aus
-
-SIEHE AUCH:
-     Properties: P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY,
-                 P_SENSITIVE_INVENTORY_TRIGGER
-     Funktionen: InsertSensitiveObject(L), RemoveSensitiveObject(L),
-                 CheckSensitiveAttack(L), Defend(), 
-                 insert_sensitive_inv(L), insert_sensitive_inv_trigger(L),
-                 trigger_sensitive_inv(L), trigger_sensitive_attack(L)
-     Defines:    /sys/sensitive.h
+   Properties: P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY,
+               P_SENSITIVE_INVENTORY_TRIGGER
+   Funktionen: InsertSensitiveObject(L), RemoveSensitiveObject(L),
+               CheckSensitiveAttack(L), Defend(),
+               insert_sensitive_inv(L), insert_sensitive_inv_trigger(L),
+               trigger_sensitive_inv(L), trigger_sensitive_attack(L)
+   Defines:    /sys/sensitive.h
 
 Letzte Aenderung: 10. Januar 2015, Arathorn
diff --git a/doc/props/P_SENSITIVE_ATTACK b/doc/props/P_SENSITIVE_ATTACK
index b1586eb..168c15b 100644
--- a/doc/props/P_SENSITIVE_ATTACK
+++ b/doc/props/P_SENSITIVE_ATTACK
@@ -1,24 +1,42 @@
+
 P_SENSITIVE_ATTACK
-NAME:
-    P_SENSITIVE_ATTACK            "sensitive_attack"
+******************
 
-DEFINIERT IN:
-    /sys/sensitive.h
 
-BESCHREIBUNG:
-    Hier steht die Liste der zu informierenden Objekte, die potentiell
-    auf einen Angriff reagieren koennten.
-    Wird von InsertSensitiveObject() und RemoveSensitiveObject()
-    geschrieben und in CheckSensitiveAttack() ausgewertet.
+NAME
+====
 
-BEMERKUNGEN:
-    Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+   P_SENSITIVE_ATTACK            "sensitive_attack"
 
-SIEHE AUCH:
-     P_SENSITIVE
-     InsertSensitiveObject, RemoveSensitiveObject
-     insert_sensitive_inv_trigger, insert_sensitive_inv
-     P_SENSITIVE_INVENTORY_TRIGGER, P_SENSITIVE_INVENTORY
-     CheckSensitiveAttack
+
+DEFINIERT IN
+============
+
+   /sys/sensitive.h
+
+
+BESCHREIBUNG
+============
+
+   Hier steht die Liste der zu informierenden Objekte, die potentiell
+   auf einen Angriff reagieren koennten.
+   Wird von InsertSensitiveObject() und RemoveSensitiveObject()
+   geschrieben und in CheckSensitiveAttack() ausgewertet.
+
+
+BEMERKUNGEN
+===========
+
+   Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+
+
+SIEHE AUCH
+==========
+
+   P_SENSITIVE
+   InsertSensitiveObject, RemoveSensitiveObject
+   insert_sensitive_inv_trigger, insert_sensitive_inv
+   P_SENSITIVE_INVENTORY_TRIGGER, P_SENSITIVE_INVENTORY
+   CheckSensitiveAttack
 
 25.Apr.2001, Gloinson@MG
diff --git a/doc/props/P_SENSITIVE_INVENTORY b/doc/props/P_SENSITIVE_INVENTORY
index 1e75423..418f9a1 100644
--- a/doc/props/P_SENSITIVE_INVENTORY
+++ b/doc/props/P_SENSITIVE_INVENTORY
@@ -1,24 +1,43 @@
-NAME:
-    P_SENSITIVE_INVENTORY         "sensitive_inv"
 
-DEFINIERT IN:
-    /sys/sensitive.h
+P_SENSITIVE_INVENTORY
+*********************
 
-BESCHREIBUNG:
-    Hier steht die Liste der zu informierenden Objekte, die potentiell
-    auf ein anderes Objekt mit gesetztem P_SENSITIVE_INVENTORY_TRIGGER
-    reagieren koennten.
-    Wird von InsertSensitiveObject() und RemoveSensitiveObject()
-    geschrieben.
 
-BEMERKUNGEN:
-    Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+NAME
+====
 
-SIEHE AUCH:
-     P_SENSITIVE
-     InsertSensitiveObject, RemoveSensitiveObject
-     insert_sensitive_inv_trigger, insert_sensitive_inv
-     P_SENSITIVE_INVENTORY_TRIGGER, P_SENSITIVE_ATTACK
-     CheckSensitiveAttack
+   P_SENSITIVE_INVENTORY         "sensitive_inv"
+
+
+DEFINIERT IN
+============
+
+   /sys/sensitive.h
+
+
+BESCHREIBUNG
+============
+
+   Hier steht die Liste der zu informierenden Objekte, die potentiell
+   auf ein anderes Objekt mit gesetztem P_SENSITIVE_INVENTORY_TRIGGER
+   reagieren koennten.
+   Wird von InsertSensitiveObject() und RemoveSensitiveObject()
+   geschrieben.
+
+
+BEMERKUNGEN
+===========
+
+   Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+
+
+SIEHE AUCH
+==========
+
+   P_SENSITIVE
+   InsertSensitiveObject, RemoveSensitiveObject
+   insert_sensitive_inv_trigger, insert_sensitive_inv
+   P_SENSITIVE_INVENTORY_TRIGGER, P_SENSITIVE_ATTACK
+   CheckSensitiveAttack
 
 25.Apr.2001, Gloinson@MG
diff --git a/doc/props/P_SENSITIVE_INVENTORY_TRIGGER b/doc/props/P_SENSITIVE_INVENTORY_TRIGGER
index df6feae..627a582 100644
--- a/doc/props/P_SENSITIVE_INVENTORY_TRIGGER
+++ b/doc/props/P_SENSITIVE_INVENTORY_TRIGGER
@@ -1,24 +1,42 @@
+
 P_SENSITIVE_INVENTORY_TRIGGER
-NAME:
-    P_SENSITIVE_INVENTORY_TRIGGER "sensitive_inv_trigger"
+*****************************
 
-DEFINIERT IN:
-    /sys/sensitive.h
 
-BESCHREIBUNG:
-    Hier steht die Liste der aktiven Objekte, die eine potentielle
-    "Ausstrahlung" auf andere Objekte haben.
-    Wird von InsertSensitiveObject() und RemoveSensitiveObject()
-    geschrieben.
+NAME
+====
 
-BEMERKUNGEN:
-    Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+   P_SENSITIVE_INVENTORY_TRIGGER "sensitive_inv_trigger"
 
-SIEHE AUCH:
-     P_SENSITIVE
-     InsertSensitiveObject, RemoveSensitiveObject
-     insert_sensitive_inv_trigger, insert_sensitive_inv
-     P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY
-     CheckSensitiveAttack
+
+DEFINIERT IN
+============
+
+   /sys/sensitive.h
+
+
+BESCHREIBUNG
+============
+
+   Hier steht die Liste der aktiven Objekte, die eine potentielle
+   "Ausstrahlung" auf andere Objekte haben.
+   Wird von InsertSensitiveObject() und RemoveSensitiveObject()
+   geschrieben.
+
+
+BEMERKUNGEN
+===========
+
+   Nicht selbst veraendern - bitte P_SENSITIVE fuer Eintraege benutzen.
+
+
+SIEHE AUCH
+==========
+
+   P_SENSITIVE
+   InsertSensitiveObject, RemoveSensitiveObject
+   insert_sensitive_inv_trigger, insert_sensitive_inv
+   P_SENSITIVE_ATTACK, P_SENSITIVE_INVENTORY
+   CheckSensitiveAttack
 
 25.Apr.2001, Gloinson@MG
diff --git a/doc/props/P_SHOOTING_AREA b/doc/props/P_SHOOTING_AREA
index 770564f..9339847 100644
--- a/doc/props/P_SHOOTING_AREA
+++ b/doc/props/P_SHOOTING_AREA
@@ -1,24 +1,38 @@
+
 P_SHOOTING_AREA
+***************
 
-NAME:
-    P_SHOOTING_AREA     "shooting_area"
 
-DEFINIERT IN:
-    <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-    Legt die 'Groesse' eines Raumes fest. Ein Schuetze kann mit seiner
-    Fernkampfwaffe nur dann aus diesem Raum in einen anderen Raum schiessen,
-    wenn die P_RANGE seiner Waffe mindestens gleich ist.
+   P_SHOOTING_AREA     "shooting_area"
 
-    Erreichbare Raeume sind entweder das environment() oder der in
-    P_SHOOTING_AREA festgelegte Raum.
 
-SIEHE AUCH:
-    Generell:  P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
-    Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
-    Gebiet:    P_RANGE, P_TARGET_AREA
-    Raeume:    P_NEVER_CLEAN
-    Sonstiges: fernwaffen
+DEFINIERT IN
+============
 
-29.Jul 2014 Gloinson
\ No newline at end of file
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Legt die 'Groesse' eines Raumes fest. Ein Schuetze kann mit seiner
+   Fernkampfwaffe nur dann aus diesem Raum in einen anderen Raum schiessen,
+   wenn die P_RANGE seiner Waffe mindestens gleich ist.
+
+   Erreichbare Raeume sind entweder das environment() oder der in
+   P_SHOOTING_AREA festgelegte Raum.
+
+
+SIEHE AUCH
+==========
+
+   Generell:  P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
+   Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+   Gebiet:    P_RANGE, P_TARGET_AREA
+   Raeume:    P_NEVER_CLEAN
+   Sonstiges: fernwaffen
+
+29.Jul 2014 Gloinson
diff --git a/doc/props/P_SHOOTING_WC b/doc/props/P_SHOOTING_WC
index 35ca215..6345d76 100644
--- a/doc/props/P_SHOOTING_WC
+++ b/doc/props/P_SHOOTING_WC
@@ -1,31 +1,48 @@
+
 P_SHOOTING_WC
+*************
 
-NAME:
-    P_SHOOTING_WC     "shooting_wc"
 
-DEFINIERT IN:
-    <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-    Legt in einer Fernkampfwaffe UND ihrer Munition die Waffenstaerke fest.
-    Bei einem Schuss wird die Summe kombiniert mit der Geschicklichkeit
-    zur Berechnung der Angriffstaerke benutzt.
+   P_SHOOTING_WC     "shooting_wc"
 
-BEISPIELE:
-    SetProp(P_SHOOTING_WC, 70);     // Langbogen
-    SetProp(P_SHOOTING_WC, 50);     // Kurzbogen
 
-    SetProp(P_SHOOTING_WC, 40);     // Bambuspfeil
-    SetProp(P_SHOOTING_WC, 60);     // Aluminiumpfeil
+DEFINIERT IN
+============
 
-    // So haetten Langbogen mit Aluminiumpfeil eine P_SHOOTING_WC von 70+60.
+   <combat.h>
 
-SIEHE AUCH:
-    Generell:  P_AMMUNITION, P_STRETCH_TIME
-    Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
-    Gebiet:    P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
-    Waffen:    P_WEAPON_TYPE, P_WC, P_EQUIP_TIME, P_NR_HANDS
-    Kampf:     Attack(L), Defend(L), P_DISABLE_ATTACK, P_ATTACK_BUSY
-    Sonstiges: fernwaffen
 
-29.Jul 2014 Gloinson
\ No newline at end of file
+BESCHREIBUNG
+============
+
+   Legt in einer Fernkampfwaffe UND ihrer Munition die Waffenstaerke fest.
+   Bei einem Schuss wird die Summe kombiniert mit der Geschicklichkeit
+   zur Berechnung der Angriffstaerke benutzt.
+
+
+BEISPIELE
+=========
+
+   SetProp(P_SHOOTING_WC, 70);     // Langbogen
+   SetProp(P_SHOOTING_WC, 50);     // Kurzbogen
+
+   SetProp(P_SHOOTING_WC, 40);     // Bambuspfeil
+   SetProp(P_SHOOTING_WC, 60);     // Aluminiumpfeil
+
+   // So haetten Langbogen mit Aluminiumpfeil eine P_SHOOTING_WC von 70+60.
+
+
+SIEHE AUCH
+==========
+
+   Generell:  P_AMMUNITION, P_STRETCH_TIME
+   Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+   Gebiet:    P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
+   Waffen:    P_WEAPON_TYPE, P_WC, P_EQUIP_TIME, P_NR_HANDS
+   Kampf:     Attack(L), Defend(L), P_DISABLE_ATTACK, P_ATTACK_BUSY
+   Sonstiges: fernwaffen
+
+29.Jul 2014 Gloinson
diff --git a/doc/props/P_SHORT b/doc/props/P_SHORT
index b6502d4..49b2603 100644
--- a/doc/props/P_SHORT
+++ b/doc/props/P_SHORT
@@ -1,41 +1,60 @@
+
 P_SHORT
-NAME:
-     P_SHORT				"short"
+*******
 
-DEFINIERT IN:
-     /sys/thing/description.h
 
-BESCHREIBUNG:
-     Diese Property enthaelt die Kurzbeschreibung des Objektes als String 
-     oder Closure (diese muss einen String zurueckgeben).
+NAME
+====
 
-     ACHTUNG: Die Kurzbeschreibung sollte dabei weder mit einem
-	      Satzzeichen noch mit einem "\n" abgeschlossen sein
-	      (dies wird von den zustaendigen Funktionen erledigt).
+   P_SHORT                            "short"
 
-     Setzt man diese Property auf 0, so ist das Objekt unsichtbar, allerdings
-     ansprechbar, wenn der Spieler eine ID des Objektes kennt. D.h. Objekte
-     koennen mitgenommen, weggeworfen oder ggf. auch angegriffen werden. Will
-     man dies nicht, sollte man das Objekt mit P_INVIS unsichtbar machen.
 
-     Diese Property bestimmt die Ansicht des Objektes von aussen. Fuer die
-     Innen(kurz)ansicht von Raeumen muss man P_INT_LONG benutzen.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     Die Funktion, die die Kurzbeschreibung ausgibt (short()), filtert P_SHORT
-     durch process_string(). Von der Nutzung dieses Features wird in neuem
-     Code abgeraten.
-     Soll eine dyn. Kurzbeschreibung geschaffen werden, bitte eine
-     F_QUERY_METHOD einsetzen oder short() passend ueberschreiben.
+   /sys/thing/description.h
 
-BEISPIELE:
-     // eine Axt sieht natuerlich so aus:
-     SetProp(P_SHORT, "Eine Axt");
 
-SIEHE AUCH:
-     Aehnliches:	P_LONG, short()
-     Sonstiges:		P_INT_SHORT, process_string()
+BESCHREIBUNG
+============
 
-----------------------------------------------------------------------------
+   Diese Property enthaelt die Kurzbeschreibung des Objektes als String
+   oder Closure (diese muss einen String zurueckgeben).
+
+   ACHTUNG: Die Kurzbeschreibung sollte dabei weder mit einem
+            Satzzeichen noch mit einem "\n" abgeschlossen sein
+            (dies wird von den zustaendigen Funktionen erledigt).
+
+   Setzt man diese Property auf 0, so ist das Objekt unsichtbar, allerdings
+   ansprechbar, wenn der Spieler eine ID des Objektes kennt. D.h. Objekte
+   koennen mitgenommen, weggeworfen oder ggf. auch angegriffen werden. Will
+   man dies nicht, sollte man das Objekt mit P_INVIS unsichtbar machen.
+
+   Diese Property bestimmt die Ansicht des Objektes von aussen. Fuer die
+   Innen(kurz)ansicht von Raeumen muss man P_INT_LONG benutzen.
+
+
+BEMERKUNGEN
+===========
+
+   Die Funktion, die die Kurzbeschreibung ausgibt (short()), filtert P_SHORT
+   durch process_string(). Von der Nutzung dieses Features wird in neuem
+   Code abgeraten.
+   Soll eine dyn. Kurzbeschreibung geschaffen werden, bitte eine
+   F_QUERY_METHOD einsetzen oder short() passend ueberschreiben.
+
+
+BEISPIELE
+=========
+
+   // eine Axt sieht natuerlich so aus:
+   SetProp(P_SHORT, "Eine Axt");
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches:        P_LONG, short()
+   Sonstiges:         P_INT_SHORT, process_string()
+
 27.05.2015, Zesstra
-
diff --git a/doc/props/P_SHORT_CWD b/doc/props/P_SHORT_CWD
index a6343ae..46f0236 100644
--- a/doc/props/P_SHORT_CWD
+++ b/doc/props/P_SHORT_CWD
@@ -1,8 +1,21 @@
-NAME:
-    P_SHORT_CWD                   "short_cwd"                   
 
-DEFINIERT IN:
-    /sys/shells.h
+P_SHORT_CWD
+***********
 
-BESCHREIBUNG:
-     .readme bei cd ausgeben oder nicht
+
+NAME
+====
+
+   P_SHORT_CWD                   "short_cwd"
+
+
+DEFINIERT IN
+============
+
+   /sys/shells.h
+
+
+BESCHREIBUNG
+============
+
+   .readme bei cd ausgeben oder nicht
diff --git a/doc/props/P_SHOWEMAIL b/doc/props/P_SHOWEMAIL
index 82d1348..b6cf580 100644
--- a/doc/props/P_SHOWEMAIL
+++ b/doc/props/P_SHOWEMAIL
@@ -1,10 +1,23 @@
-NAME:
-     P_SHOWEMAIL                        "showemail"
 
-DEFINIERT IN:
-     /sys/player/base.h
+P_SHOWEMAIL
+***********
 
-BESCHREIBUNG:
-     Eintrag, wer die E-Mail im "finger" zu sehen bekommen soll:
-     0, "alle", "freunde"
-     Kann durch "emailanzeige" (/std/player/base.c) geaendert werden.
+
+NAME
+====
+
+   P_SHOWEMAIL                        "showemail"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Eintrag, wer die E-Mail im "finger" zu sehen bekommen soll:
+   0, "alle", "freunde"
+   Kann durch "emailanzeige" (/std/player/base.c) geaendert werden.
diff --git a/doc/props/P_SHOW_ALIAS_PROCESSING b/doc/props/P_SHOW_ALIAS_PROCESSING
index cb49cf8..94552dd 100644
--- a/doc/props/P_SHOW_ALIAS_PROCESSING
+++ b/doc/props/P_SHOW_ALIAS_PROCESSING
@@ -1,8 +1,21 @@
-NAME:
-    P_SHOW_ALIAS_PROCESSING       "show_alias_processing"       
 
-DEFINIERT IN:
-    /sys/player.h
+P_SHOW_ALIAS_PROCESSING
+***********************
 
-BESCHREIBUNG:
-     Arbeit des Parsers beobachten (debugging)
+
+NAME
+====
+
+   P_SHOW_ALIAS_PROCESSING       "show_alias_processing"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Arbeit des Parsers beobachten (debugging)
diff --git a/doc/props/P_SHOW_EXITS b/doc/props/P_SHOW_EXITS
index 9c8d87b..0e00886 100644
--- a/doc/props/P_SHOW_EXITS
+++ b/doc/props/P_SHOW_EXITS
@@ -1,15 +1,31 @@
-NAME:
-    P_SHOW_EXITS                  "show_exits"
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_SHOW_EXITS
+************
 
-BESCHREIBUNG:
-     Im Spieler gesetzt, wenn der Spieler die offensichtlichen Ausgaenge
-     immer automatisch sehen will.
 
-SIEHE AUCH:
-     Aehnliches:	P_HIDE_EXITS
-     Sonstiges:		AddExit(), GetExits(), int_long(), int_short()
+NAME
+====
 
-11. Mai 2004 Gloinson
\ No newline at end of file
+   P_SHOW_EXITS                  "show_exits"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Im Spieler gesetzt, wenn der Spieler die offensichtlichen Ausgaenge
+   immer automatisch sehen will.
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches:        P_HIDE_EXITS
+   Sonstiges:         AddExit(), GetExits(), int_long(), int_short()
+
+11. Mai 2004 Gloinson
diff --git a/doc/props/P_SHOW_INV b/doc/props/P_SHOW_INV
index 73a2ffe..e982154 100644
--- a/doc/props/P_SHOW_INV
+++ b/doc/props/P_SHOW_INV
@@ -1,19 +1,32 @@
+
 P_SHOW_INV
+**********
 
-NAME:
-     P_SHOW_INV "show_inv"
 
-DEFINIERT IN:
-     <thing/description.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Wenn diese Property auf einen Wert ungleich 0 gesetzt ist, wird das
-     Objekt, soweit es sich in einem Spieler befindet, in dessen
-     Langbeschreibung angezeigt. Zur Anzeige wird der Name des Objektes
-     verwendet.
+   P_SHOW_INV "show_inv"
 
-SIEHE AUCH:
-     /std/thing/description.c
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   <thing/description.h>
+
+
+BESCHREIBUNG
+============
+
+   Wenn diese Property auf einen Wert ungleich 0 gesetzt ist, wird das
+   Objekt, soweit es sich in einem Spieler befindet, in dessen
+   Langbeschreibung angezeigt. Zur Anzeige wird der Name des Objektes
+   verwendet.
+
+
+SIEHE AUCH
+==========
+
+   /std/thing/description.c
+
 Last modified: Sun May 19 20:36:05 1996 by Wargon
diff --git a/doc/props/P_SHOW_MSG b/doc/props/P_SHOW_MSG
index 8841154..c19c49f 100644
--- a/doc/props/P_SHOW_MSG
+++ b/doc/props/P_SHOW_MSG
@@ -1,51 +1,69 @@
+
 P_SHOW_MSG
-NAME:
-    P_SHOW_MSG                          "show_message"
+**********
 
-DEFINIERT IN:
-    /sys/living/put_and_get.h
 
-BESCHREIBUNG:
-    Mit P_SHOW_MSG kann man die Meldungen, die beim Vorzeigen eines Objektes
-    ausgegeben werden, modifizieren.
+NAME
+====
 
-    Folgende Werte sind moeglich:
+   P_SHOW_MSG                          "show_message"
 
-    o 0
-      Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
 
-    o NO_PNG_MSG        == -1
-      Es wird keinerlei Meldung ausgegeben
+DEFINIERT IN
+============
 
-    o Ein Array aus Strings
-      Der erste String wird an den Spieler ausgegeben, der zweite
-      (optionale) an den Raum, der dritte (ebenfalls optionale) an den
-      Empfaenger.
+   /sys/living/put_and_get.h
 
-      Die Strings werden durch die Funktion replace_personal() geparst.
-        Objekt1 - Spieler
-        Objekt2 - das Objekt, das uebergeben wird
-        Objekt3 - Empfaenger
 
-      Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
-      Raum. Beim Fehlen des dritten gibt es keine Meldung an den Empfaenger.
+BESCHREIBUNG
+============
 
-BEISPIEL:
-    SetProp(P_SHOW_MSG, ({
-      "Du haeltst @WEM3 @WEN2 unter die Nase.",
-      "@WER1 haelt @WEM3 @WENU2 unter die Nase.",
-      "@WER1 haelt Dir @WENU2 unter die Nase."
-    }));
+   Mit P_SHOW_MSG kann man die Meldungen, die beim Vorzeigen eines Objektes
+   ausgegeben werden, modifizieren.
 
-    Das fuehrt bei Ugars "zeig peter medaille" zu folgenden Meldungen:
+   Folgende Werte sind moeglich:
 
-    Ugar: "Du haeltst Peter die Medaille unter die Nase."
-    Raum: "Ugar haelt Peter eine Medaille unter die Nase."
-    Peter: "Ugar haelt Dir eine Medaille unter die Nase."
+   o 0
+     Es wird eine Standardmeldung ausgegeben. Dies ist Voreinstellung.
 
-SIEHE AUCH:
-     Aehnliches: P_DROP_MSG, P_PUT_MSG, P_PICK_MSG, P_GIVE_MSG
-     Sonstiges:  replace_personal(E), show(L), show_objects(L),
-                 show_notify(L), /std/living/put_and_get.c
+   o NO_PNG_MSG        == -1
+     Es wird keinerlei Meldung ausgegeben
+
+   o Ein Array aus Strings
+     Der erste String wird an den Spieler ausgegeben, der zweite
+     (optionale) an den Raum, der dritte (ebenfalls optionale) an den
+     Empfaenger.
+
+     Die Strings werden durch die Funktion replace_personal() geparst.
+       Objekt1 - Spieler
+       Objekt2 - das Objekt, das uebergeben wird
+       Objekt3 - Empfaenger
+
+     Wird der zweite String nicht angegeben, erfolgt keine Meldung an den
+     Raum. Beim Fehlen des dritten gibt es keine Meldung an den Empfaenger.
+
+
+BEISPIEL
+========
+
+   SetProp(P_SHOW_MSG, ({
+     "Du haeltst @WEM3 @WEN2 unter die Nase.",
+     "@WER1 haelt @WEM3 @WENU2 unter die Nase.",
+     "@WER1 haelt Dir @WENU2 unter die Nase."
+   }));
+
+   Das fuehrt bei Ugars "zeig peter medaille" zu folgenden Meldungen:
+
+   Ugar: "Du haeltst Peter die Medaille unter die Nase."
+   Raum: "Ugar haelt Peter eine Medaille unter die Nase."
+   Peter: "Ugar haelt Dir eine Medaille unter die Nase."
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_DROP_MSG, P_PUT_MSG, P_PICK_MSG, P_GIVE_MSG
+   Sonstiges:  replace_personal(E), show(L), show_objects(L),
+               show_notify(L), /std/living/put_and_get.c
 
 3. Juni 2008 Amynthor
diff --git a/doc/props/P_SIBLINGS b/doc/props/P_SIBLINGS
index 15d0977..6e18f0c 100644
--- a/doc/props/P_SIBLINGS
+++ b/doc/props/P_SIBLINGS
@@ -1,9 +1,22 @@
-NAME:
-    P_SIBLINGS                     "siblings"                     
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_SIBLINGS
+**********
 
-BESCHREIBUNG:
-     Enthaelt einen String mit den Blutsbruedern eines Spielers
-     (sofern vorhanden).
+
+NAME
+====
+
+   P_SIBLINGS                     "siblings"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt einen String mit den Blutsbruedern eines Spielers
+   (sofern vorhanden).
diff --git a/doc/props/P_SIZE b/doc/props/P_SIZE
index b5fdb72..aa311f3 100644
--- a/doc/props/P_SIZE
+++ b/doc/props/P_SIZE
@@ -1,31 +1,50 @@
-NAME:
-    P_SIZE                        "size"                        
 
-DEFINIERT IN:
-    /sys/properties.h
+P_SIZE
+******
 
-BESCHREIBUNG:
-     Groesse des Lebewesens bzw. Laenge der Waffe (in cm).
 
-     Wird keine Waffenlaenge explizit angegeben, so sind die Defaultwerte
-     fuer die entsprechenden Waffentypen folgende:
+NAME
+====
 
-    	WT_SWORD  : 100
-    	WT_AXE    :  80
-    	WT_CLUB   :  80
-    	WT_SPEAR  : 180
-    	WT_KNIFE  :  20
-    	WT_WHIP   : 200
-    	WT_STAFF  : 150
+   P_SIZE                        "size"
 
-BEMERKUNGEN:
-     1. Uebertreibt es bitte mit der Groesse nicht, auch sehr grosse NPCs 
-        sollten nicht ueber 1000000 liegen. Sonst kriegt die Karategilde 
-        Probleme.
-     2. Negative Werte fuer P_SIZE sind nicht moeglich, da dies zum einen
-        voellig unsinnig ist und zum anderen evtl. zu Problemen mit Waffen
-        fuehrt, die Schaden in Abhaengigkeit von P_SIZE machen und sich
-        darauf verlassen, dass nur positive Werte vorkommen.
 
-LETZTE AENDERUNG:
-    2006-09-29, von Zesstra
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Groesse des Lebewesens bzw. Laenge der Waffe (in cm).
+
+   Wird keine Waffenlaenge explizit angegeben, so sind die Defaultwerte
+   fuer die entsprechenden Waffentypen folgende:
+
+      WT_SWORD  : 100
+      WT_AXE    :  80
+      WT_CLUB   :  80
+      WT_SPEAR  : 180
+      WT_KNIFE  :  20
+      WT_WHIP   : 200
+      WT_STAFF  : 150
+
+
+BEMERKUNGEN
+===========
+
+   1. Uebertreibt es bitte mit der Groesse nicht, auch sehr grosse NPCs
+      sollten nicht ueber 1000000 liegen. Sonst kriegt die Karategilde
+      Probleme.
+   2. Negative Werte fuer P_SIZE sind nicht moeglich, da dies zum einen
+      voellig unsinnig ist und zum anderen evtl. zu Problemen mit Waffen
+      fuehrt, die Schaden in Abhaengigkeit von P_SIZE machen und sich
+      darauf verlassen, dass nur positive Werte vorkommen.
+
+
+LETZTE AENDERUNG
+================
+
+   2006-09-29, von Zesstra
diff --git a/doc/props/P_SKILLS b/doc/props/P_SKILLS
index 02a76c7..492cbbe 100644
--- a/doc/props/P_SKILLS
+++ b/doc/props/P_SKILLS
@@ -1,15 +1,30 @@
-NAME:
-	P_SKILLS			"skills"                      
 
-DEFINIERT IN:
-	/sys/player/skills.h
+P_SKILLS
+********
 
-BESCHREIBUNG:
-	Diese Property sollte nicht mehr verwendet werden. Sie wurde
-	vollstaendig durch P_NEWSKILLS ersetzt.
 
-SIEHE AUCH:
-	P_NEW_SKILLS
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_SKILLS                        "skills"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property sollte nicht mehr verwendet werden. Sie wurde
+   vollstaendig durch P_NEWSKILLS ersetzt.
+
+
+SIEHE AUCH
+==========
+
+   P_NEW_SKILLS
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_SKILL_ATTRIBUTES b/doc/props/P_SKILL_ATTRIBUTES
index 6eb5b97..066bd78 100644
--- a/doc/props/P_SKILL_ATTRIBUTES
+++ b/doc/props/P_SKILL_ATTRIBUTES
@@ -1,50 +1,69 @@
-NAME:
-    P_SKILL_ATTRIBUTES        "skill_attr"
 
-DEFINIERT IN:
-    /sys/living/skill_attributes.h
+P_SKILL_ATTRIBUTES
+******************
 
-BESCHREIBUNG:
-    In dieser Prop stehen alle nicht-permanenten Modifikatoren der
-    Skill-Attribute.
-    Die Datenstruktur ist ein Mapping mit den SA-Namen als Schluessel und
-    jeweils drei Werten pro Schluessel.
-    Der erste Wert ist ein Array mit drei Werten: der Summe der stat.
-    Modifier, dem Zeitpunkt an dem dies Summe ungueltig wird und der
-    Gesamtzahl aktiver Modifikatoren.
-    Der zweite Wert enthaelt ein Mapping mit allen statischen Modifikatoren
-    und den Objekten dieser Mods als Schluessel. Die beiden Werte dieses
-    Mappings sind der Wert des Modifikators (int) und die Ablaufzeit (int).
-    Der dritte Wert enthaelt ein Mapping mit allen dynamischen
-    Modifikatoren und den Objekten dieser Mods als Schluessel. Die beiden
-    Werte dieses Mappings sind die zu rufende Closure (closure) und die
-    Ablaufzeit des Mods (int).
 
-    ([ SA_ATTR: ({Summe_Stat_Modifier, Zeitpunkt, AnzahlModifier, });
-                ([ ob1:value;duration,
-                   ob2:value;duration, ...]);  // stat. Modifier
-                ([ ob1:closure;duration,
-                   ob2:closure;duration, ...])     // dyn. Modifier
-                ,
-       SA_ATTR2: ({...}); ([]); ([]),
-       SA_ATTR3: ({...}); ([]); ([]),
-    ])
+NAME
+====
 
-BEMERKUNGEN:
-    Diese Property darf AUF GAR KEINEN FALL per Hand manipuliert werden,
-    dafuer gibt es die Funktionen ModifySkillAttribute() und
-    RemoveSkillAttributeModifier().
-    Zum Auslesen stehen QuerySkillAttribute() und
-    QuerySkillAttributeModifier() zur Verfuegung.
+   P_SKILL_ATTRIBUTES        "skill_attr"
 
-SIEHE AUCH:
-    Skills Lernen:  LearnSkill, ModifySkill, LimitAbility
-    * Nutzung:      UseSpell, UseSkill
-    * Abfragen:     QuerySkill, QuerySkillAbility
-    * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
-                    QuerySkillAttributeModifier, RemoveSkillAttributeModifier
-      * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
-    * sonstig:      spruchermuedung, skill_info_liste
-    * Properties:   P_NEWSKILLS
 
-13.09.2008, Zesstra
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /sys/living/skill_attributes.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Prop stehen alle nicht-permanenten Modifikatoren der
+   Skill-Attribute.
+   Die Datenstruktur ist ein Mapping mit den SA-Namen als Schluessel und
+   jeweils drei Werten pro Schluessel.
+   Der erste Wert ist ein Array mit drei Werten: der Summe der stat.
+   Modifier, dem Zeitpunkt an dem dies Summe ungueltig wird und der
+   Gesamtzahl aktiver Modifikatoren.
+   Der zweite Wert enthaelt ein Mapping mit allen statischen Modifikatoren
+   und den Objekten dieser Mods als Schluessel. Die beiden Werte dieses
+   Mappings sind der Wert des Modifikators (int) und die Ablaufzeit (int).
+   Der dritte Wert enthaelt ein Mapping mit allen dynamischen
+   Modifikatoren und den Objekten dieser Mods als Schluessel. Die beiden
+   Werte dieses Mappings sind die zu rufende Closure (closure) und die
+   Ablaufzeit des Mods (int).
+
+   ([ SA_ATTR: ({Summe_Stat_Modifier, Zeitpunkt, AnzahlModifier, });
+               ([ ob1:value;duration,
+                  ob2:value;duration, ...]);  // stat. Modifier
+               ([ ob1:closure;duration,
+                  ob2:closure;duration, ...])     // dyn. Modifier
+               ,
+      SA_ATTR2: ({...}); ([]); ([]),
+      SA_ATTR3: ({...}); ([]); ([]),
+   ])
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property darf AUF GAR KEINEN FALL per Hand manipuliert werden,
+   dafuer gibt es die Funktionen ModifySkillAttribute() und
+   RemoveSkillAttributeModifier().
+   Zum Auslesen stehen QuerySkillAttribute() und
+   QuerySkillAttributeModifier() zur Verfuegung.
+
+
+SIEHE AUCH
+==========
+
+   Skills Lernen:  LearnSkill, ModifySkill, LimitAbility
+   * Nutzung:      UseSpell, UseSkill
+   * Abfragen:     QuerySkill, QuerySkillAbility
+   * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
+                   QuerySkillAttributeModifier, RemoveSkillAttributeModifier
+     * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
+   * sonstig:      spruchermuedung, skill_info_liste
+   * Properties:   P_NEWSKILLS
+
+13.09.2008, Zesstra
diff --git a/doc/props/P_SKILL_ATTRIBUTE_OFFSETS b/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
index 2568f76..6bfcad3 100644
--- a/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
+++ b/doc/props/P_SKILL_ATTRIBUTE_OFFSETS
@@ -1,32 +1,49 @@
-NAME:
-    P_SKILL_ATTRIBUTE_OFFSETS       "skill_attr_offsets"                        
 
-DEFINIERT IN:
-    /sys/living/skill_attributes.h
+P_SKILL_ATTRIBUTE_OFFSETS
+*************************
 
-BESHREIBUNG:
 
-    Der Wert der Property ist ein Mapping: ([Attributname: Wert])
-    In dieser Property stehen permanente Abweichungen der Skillattribute
-    vom Standardwert 100.
+NAME
+====
 
-    Zu den Moeglichen Attributwerten, siehe P_SKILL_ATTRIBUTES.
+   P_SKILL_ATTRIBUTE_OFFSETS       "skill_attr_offsets"
 
-    Die Werte duerfen zwischen 10 und 1000 liegen.
 
-BEMERKUNG:
-    Diese Property sollte AUF GAR KEINEN FALL in einem Spieler gesetzt
-    werden, ohne Ruecksprachen mit allerhoechsten Stellen!
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-    Skills Lernen:  LearnSkill, ModifySkill, LimitAbility
-    * Nutzung:      UseSpell, UseSkill
-    * Abfragen:     QuerySkill, QuerySkillAbility
-    * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
-                    QuerySkillAttributeModifier, RemoveSkillAttributeModifier
-      * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
-    * sonstig:      spruchermuedung, skill_info_liste
-    * Properties:   P_NEWSKILLS
+   /sys/living/skill_attributes.h
+
+
+BESHREIBUNG
+===========
+
+   Der Wert der Property ist ein Mapping: ([Attributname: Wert])
+   In dieser Property stehen permanente Abweichungen der Skillattribute
+   vom Standardwert 100.
+
+   Zu den Moeglichen Attributwerten, siehe P_SKILL_ATTRIBUTES.
+
+   Die Werte duerfen zwischen 10 und 1000 liegen.
+
+
+BEMERKUNG
+=========
+
+   Diese Property sollte AUF GAR KEINEN FALL in einem Spieler gesetzt
+   werden, ohne Ruecksprachen mit allerhoechsten Stellen!
+
+
+SIEHE AUCH
+==========
+
+   Skills Lernen:  LearnSkill, ModifySkill, LimitAbility
+   * Nutzung:      UseSpell, UseSkill
+   * Abfragen:     QuerySkill, QuerySkillAbility
+   * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
+                   QuerySkillAttributeModifier, RemoveSkillAttributeModifier
+     * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
+   * sonstig:      spruchermuedung, skill_info_liste
+   * Properties:   P_NEWSKILLS
 
 31.12.2013, Zesstra
-
diff --git a/doc/props/P_SMELLS b/doc/props/P_SMELLS
index b510ce1..0098bd8 100644
--- a/doc/props/P_SMELLS
+++ b/doc/props/P_SMELLS
@@ -1,24 +1,43 @@
-NAME:
-    P_SMELLS            "smell_details"
 
-DEFINIERT IN:
-    /sys/thing/description.h
+P_SMELLS
+********
 
-BESCHREIBUNG:
-    Diese Property entspricht dem P_DETAILS fuer Standarddetails,
-    nur werden hierin Gerueche gespeichert:
-    Diese Property enthaelt ein Mapping, in der Details im Objekt
-    definiert werden und Beschreibungen, die ausgegeben werden, wenn man
-    sich diese Details anschaut.
 
-BEMERKUNGEN:
-    Man sollte diese Property nicht per Hand veraendern, sondern die
-    Funktionen nutzen.
+NAME
+====
 
-SIEHE AUCH:
-    Setzen:    AddSmells()
-    Loeschen:  RemoveSmells()
-    Aehnlich:  AddDetail(), P_DETAILS
-    Sonstiges: GetDetail(), break_string()
+   P_SMELLS            "smell_details"
 
-27. Jan 2013 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property entspricht dem P_DETAILS fuer Standarddetails,
+   nur werden hierin Gerueche gespeichert:
+   Diese Property enthaelt ein Mapping, in der Details im Objekt
+   definiert werden und Beschreibungen, die ausgegeben werden, wenn man
+   sich diese Details anschaut.
+
+
+BEMERKUNGEN
+===========
+
+   Man sollte diese Property nicht per Hand veraendern, sondern die
+   Funktionen nutzen.
+
+
+SIEHE AUCH
+==========
+
+   Setzen:    AddSmells()
+   Loeschen:  RemoveSmells()
+   Aehnlich:  AddDetail(), P_DETAILS
+   Sonstiges: GetDetail(), break_string()
+
+27. Jan 2013 Gloinson
diff --git a/doc/props/P_SNOOPFLAGS b/doc/props/P_SNOOPFLAGS
index 4c47e39..340dde2 100644
--- a/doc/props/P_SNOOPFLAGS
+++ b/doc/props/P_SNOOPFLAGS
@@ -1,8 +1,21 @@
-NAME:
-    P_SNOOPFLAGS                  "snoopflags"                  
 
-DEFINIERT IN:
-    /sys/snooping.h
+P_SNOOPFLAGS
+************
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_SNOOPFLAGS                  "snoopflags"
+
+
+DEFINIERT IN
+============
+
+   /sys/snooping.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_SOUNDS b/doc/props/P_SOUNDS
index 9b9a350..520265b 100644
--- a/doc/props/P_SOUNDS
+++ b/doc/props/P_SOUNDS
@@ -1,24 +1,43 @@
-NAME:
-    P_SOUNDS            "sound_details"
 
-DEFINIERT IN:
-    /sys/thing/description.h
+P_SOUNDS
+********
 
-BESCHREIBUNG:
-    Diese Property entspricht dem P_DETAILS fuer Standarddetails,   
-    nur werden hierin Gerauesche gespeichert:
-    Diese Property enthaelt ein Mapping, in der Details im Objekt
-    definiert werden und Beschreibungen, die ausgegeben werden, wenn man
-    sich diese Details anschaut.
 
-BEMERKUNGEN:
-    Man sollte diese Property nicht per Hand veraendern, sondern die
-    Funktionen nutzen.
+NAME
+====
 
-SIEHE AUCH:
-    Setzen:    AddSounds()
-    Loeschen:  RemoveSounds()
-    Aehnlich:  AddDetail(), P_DETAILS
-    Sonstiges: GetDetail(), break_string()
+   P_SOUNDS            "sound_details"
 
-27. Jan 2013 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property entspricht dem P_DETAILS fuer Standarddetails,
+   nur werden hierin Gerauesche gespeichert:
+   Diese Property enthaelt ein Mapping, in der Details im Objekt
+   definiert werden und Beschreibungen, die ausgegeben werden, wenn man
+   sich diese Details anschaut.
+
+
+BEMERKUNGEN
+===========
+
+   Man sollte diese Property nicht per Hand veraendern, sondern die
+   Funktionen nutzen.
+
+
+SIEHE AUCH
+==========
+
+   Setzen:    AddSounds()
+   Loeschen:  RemoveSounds()
+   Aehnlich:  AddDetail(), P_DETAILS
+   Sonstiges: GetDetail(), break_string()
+
+27. Jan 2013 Gloinson
diff --git a/doc/props/P_SP b/doc/props/P_SP
index 02bab65..fa30cb1 100644
--- a/doc/props/P_SP
+++ b/doc/props/P_SP
@@ -1,23 +1,37 @@
-NAME:
-    P_SP                          "sp"
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_SP
+****
 
-BESCHREIBUNG:
 
-     - Lebewesen
-       Anzahl der Konzentrationspunkte des Wesens.
+NAME
+====
 
-     - Speisen/Kneipen
-       Heilwirkung einer Portion der Speise auf die Konzentrationspunkte
-       des Konsumenten
+   P_SP                          "sp"
 
-SIEHE AUCH:
-     Props:		P_MAX_SP
-     Veraenderung:	reduce_spell_points(), restore_spell_points()
-			buffer_sp()
-     Speisen/Kneipen:   std/pub, wiz/food, consume
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   - Lebewesen
+     Anzahl der Konzentrationspunkte des Wesens.
+
+   - Speisen/Kneipen
+     Heilwirkung einer Portion der Speise auf die Konzentrationspunkte
+     des Konsumenten
+
+
+SIEHE AUCH
+==========
+
+   Props:             P_MAX_SP
+   Veraenderung:      reduce_spell_points(), restore_spell_points()
+                      buffer_sp()
+   Speisen/Kneipen:   std/pub, wiz/food, consume
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_SPECIAL_DETAILS b/doc/props/P_SPECIAL_DETAILS
index 2eb2123..9b3f63c 100644
--- a/doc/props/P_SPECIAL_DETAILS
+++ b/doc/props/P_SPECIAL_DETAILS
@@ -1,23 +1,42 @@
-NAME:
-    P_SPECIAL_DETAILS             "special_details"             
 
-DEFINIERT IN:
-    /sys/thing/description.h
+P_SPECIAL_DETAILS
+*****************
 
-BESCHREIBUNG:
-    Mapping von Details, die beim Anschauen eine Funktion starten.
 
-BEMERKUNGEN:
-    Dies ist keine "echte" Property. Die Daten werden bei der Abfrage in einer
-    Querymethode dynamisch aus P_DETAILS extrahiert. Dementsprechend
-    funktioniert es auch nicht, hier eine Query- oder Setmethode von aussen
-    drauf zu legen.
+NAME
+====
 
-SIEHE AUCH:
-    Setzen:    AddDetail()
-    Loeschen:  RemoveDetail()
-    Daten:     P_DETAILS
-    Veraltet:  AddSpecialDetail(), RemoveSpecialDetail()
-    Sonstiges: GetDetail(), break_string()
+   P_SPECIAL_DETAILS             "special_details"
 
-27. Jan 2013 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+   Mapping von Details, die beim Anschauen eine Funktion starten.
+
+
+BEMERKUNGEN
+===========
+
+   Dies ist keine "echte" Property. Die Daten werden bei der Abfrage in einer
+   Querymethode dynamisch aus P_DETAILS extrahiert. Dementsprechend
+   funktioniert es auch nicht, hier eine Query- oder Setmethode von aussen
+   drauf zu legen.
+
+
+SIEHE AUCH
+==========
+
+   Setzen:    AddDetail()
+   Loeschen:  RemoveDetail()
+   Daten:     P_DETAILS
+   Veraltet:  AddSpecialDetail(), RemoveSpecialDetail()
+   Sonstiges: GetDetail(), break_string()
+
+27. Jan 2013 Gloinson
diff --git a/doc/props/P_SPECIAL_EXITS b/doc/props/P_SPECIAL_EXITS
index 4672024..3f2a7a5 100644
--- a/doc/props/P_SPECIAL_EXITS
+++ b/doc/props/P_SPECIAL_EXITS
@@ -1,28 +1,51 @@
-NAME:
-    P_SPECIAL_EXITS               "special_exits"               
 
-DEFINIERT IN:
-    /sys/properties.h
+P_SPECIAL_EXITS
+***************
 
-BESCHREIBUNG:
-    Enthaelt ein Mapping (der Breite 2) mit den Ausgaengen, der Funktion,
-    die jeweils gerufen wird, wenn der Ausgang benutztwird und einer
-    Bewegungsmeldung.
-    
-    Die Bewegungsmeldung wird bei SpecialExits nicht ausgewertet, sondern
-    ist nur aufgrund der gemeinsamen Datenstruktur vorhanden. Im Normalfall
-    ist sie 0.
 
-BEMERKUNG:
-    Keine echte Property, wird bei der Abfrage aus P_EXITS erstellt.
-    
-    Zugriff nur mit den dafuer vorgesehenen Funktionen, nicht aendern!
+NAME
+====
 
-SIEHE AUCH:
-     AddExit(), AddSpecialExit(), GetExits(),
-     RemoveExit(), RemoveSpecialExit(),
-     GuardExit(),
-     H_HOOK_EXIT_USE, P_EXITS, P_HIDE_EXITS, /std/room/exits.c
-     ausgaenge
+   P_SPECIAL_EXITS               "special_exits"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt ein Mapping (der Breite 2) mit den Ausgaengen, der Funktion,
+   die jeweils gerufen wird, wenn der Ausgang benutztwird und einer
+   Bewegungsmeldung.
+
+
+
+   Die Bewegungsmeldung wird bei SpecialExits nicht ausgewertet, sondern
+   ist nur aufgrund der gemeinsamen Datenstruktur vorhanden. Im Normalfall
+   ist sie 0.
+
+
+BEMERKUNG
+=========
+
+   Keine echte Property, wird bei der Abfrage aus P_EXITS erstellt.
+
+
+
+   Zugriff nur mit den dafuer vorgesehenen Funktionen, nicht aendern!
+
+
+SIEHE AUCH
+==========
+
+   AddExit(), AddSpecialExit(), GetExits(),
+   RemoveExit(), RemoveSpecialExit(),
+   GuardExit(),
+   H_HOOK_EXIT_USE, P_EXITS, P_HIDE_EXITS, /std/room/exits.c
+   ausgaenge
 
 Letzte Aenderung: 22.12.2016, Bugfix
diff --git a/doc/props/P_SPELLRATE b/doc/props/P_SPELLRATE
index 1672a33..1a3e5a2 100644
--- a/doc/props/P_SPELLRATE
+++ b/doc/props/P_SPELLRATE
@@ -1,8 +1,21 @@
-NAME:
-    P_SPELLRATE                   "spellrate"                   
 
-DEFINIERT IN:
-    /sys/properties.h
+P_SPELLRATE
+***********
 
-BESCHREIBUNG:
-     NPC-Spellrate (in %)
+
+NAME
+====
+
+   P_SPELLRATE                   "spellrate"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   NPC-Spellrate (in %)
diff --git a/doc/props/P_SPELLS b/doc/props/P_SPELLS
index 17112fb..647daf4 100644
--- a/doc/props/P_SPELLS
+++ b/doc/props/P_SPELLS
@@ -1,8 +1,21 @@
-NAME:
-    P_SPELLS                      "spells"                      
 
-DEFINIERT IN:
-    /sys/properties.h
+P_SPELLS
+********
 
-BESCHREIBUNG:
-     NPC-Spells
+
+NAME
+====
+
+   P_SPELLS                      "spells"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   NPC-Spells
diff --git a/doc/props/P_SP_DELAY b/doc/props/P_SP_DELAY
index 84f6372..aa74360 100644
--- a/doc/props/P_SP_DELAY
+++ b/doc/props/P_SP_DELAY
@@ -1,10 +1,23 @@
-NAME:
-    P_SP_DELAY                 "sp_delay"                     
 
-DEFINIERT IN:
-    /sys/living/life.h
+P_SP_DELAY
+**********
 
-BESCHREIBUNG:
-     Anzahl der heart_beats, bis die Magiepunkte um einen Punkt steigen.
-     Aenderungen dieser Property in Spielern beduerfen der 
-     Genehmigung des EM fuer Balance.
+
+NAME
+====
+
+   P_SP_DELAY                 "sp_delay"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der heart_beats, bis die Magiepunkte um einen Punkt steigen.
+   Aenderungen dieser Property in Spielern beduerfen der
+   Genehmigung des EM fuer Balance.
diff --git a/doc/props/P_START_HOME b/doc/props/P_START_HOME
index 25fff2c..fd80124 100644
--- a/doc/props/P_START_HOME
+++ b/doc/props/P_START_HOME
@@ -1,8 +1,21 @@
-NAME:
-    P_START_HOME                  "start_home"                  
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_START_HOME
+************
 
-BESCHREIBUNG:
-     Raum, in dem der Spieler nach dem Einloggen landen soll
+
+NAME
+====
+
+   P_START_HOME                  "start_home"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Raum, in dem der Spieler nach dem Einloggen landen soll
diff --git a/doc/props/P_STD_OBJECT b/doc/props/P_STD_OBJECT
index 87e21da..7c66296 100644
--- a/doc/props/P_STD_OBJECT
+++ b/doc/props/P_STD_OBJECT
@@ -1,11 +1,24 @@
-NAME:
-    P_STD_OBJECT                  "std_object"                  
 
-DEFINIERT IN:
-    /sys/v_compiler.h
+P_STD_OBJECT
+************
 
-BESCHREIBUNG:
-   Enthaelt den Namen eines Files welches als Standard-Objekt fuer den 
+
+NAME
+====
+
+   P_STD_OBJECT                  "std_object"
+
+
+DEFINIERT IN
+============
+
+   /sys/v_compiler.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt den Namen eines Files welches als Standard-Objekt fuer den
    Virtual Compiler gelten soll.
 
    In diesem File werden das generelle Aussehen, Ausgaenge, Funktionen
@@ -13,14 +26,19 @@
 
    Dieses File ist ein 'normales' .c - File, welches geclont wird und
    anschliessend umbenannt wird.
-   
+
+
+
    Ganz wichtig: Falls euer Standardobjekt (direkt oder indirekt) von
    /std/room.c erbt, solltet ihr darauf achten, dass euer Objekt ausser dem
-   create() noch eine weitere (beliebige) Funktion hat.  
+   create() noch eine weitere (beliebige) Funktion hat.
    Ansonsten wuerde das Programm eures Standardobjekts automatisch durch
    /std/room.c ersetzt, was in der Regel zu schwer zu findenen Bugs fuehrt.
 
-BEISPIEL:
+
+BEISPIEL
+========
+
    (create eines VCs)
    protected void create() {
      ...
@@ -29,10 +47,13 @@
    }
 
    Was in diesem std_raum.c nun steht, wird in jedem VC-Clone
-   verfuegbar. Sei es Details, Gerueche, auch Objekte die per 
+   verfuegbar. Sei es Details, Gerueche, auch Objekte die per
    AddItem eingebunden sind, ...
 
-SIEHE AUCH:
+
+SIEHE AUCH
+==========
+
    P_COMPILER_PATH, virtual_compiler
------------------------------------------------------------------------
+
 Letzte Aenderung: 22.10.07 von Zesstra
diff --git a/doc/props/P_STORE_CONSUME b/doc/props/P_STORE_CONSUME
index 7b65641..8a9afd9 100644
--- a/doc/props/P_STORE_CONSUME
+++ b/doc/props/P_STORE_CONSUME
@@ -1,51 +1,69 @@
-NAME:
-	P_STORE_CONSUME			"store_consume"
 
-DEFINIERT IN:
-	/sys/bank.h
+P_STORE_CONSUME
+***************
 
-BESCHREIBUNG:
-	Diese Property ist entscheidend dafuer, wieviel Prozent an Objekten
-	bei jedem Reset in einem Lager eines Ladens vernichtet werden. Dies
-	geschieht aus Speicher- und Laggruenden. Es verbleibt dabei jedoch
-	eine Grundmenge an Objekten, deren Anzahl in der Property
-	P_MIN_STOCK festgehalten ist. Standardwert fuer P_STORE_CONSUME ist
-	hierbei 30%, aber in oft benutzten Laeden kann man dort ruhig einen
-	hoeheren Wert eintragen. Erlaubt sind Werte zwischen 0% und 100%.
-	Aufgeraeumt werden jedoch keine Objekte, die mittels AddItem() im
-	Lager eingebunden wurden. Mittels der Ladenfunktion AddFixedObject()
-	als staendig verfuegbar markierte Objekte werden natuerlich auch
-	nicht beruecksichtigt.
-	Beide hier erwaehnten Properties sollten ueberigens nur mittels
-	QueryProp/SetProp ausgelesen bzw. veraendert werden.
 
-BEISPIEL:
-	Ein eigener haeufig benutzter Laden koennte ein Lager in folgender
-	Form erhalten:
-	  // myStore
-	  #include <bank.h>
-	  inherit "std/store";
-	  void create()
-	  { ::create();
-	    SetProp(P_STORE_CONSUME,90);
-	    // keine weiteren Beschreibungen, Spieler sollen da drin
-	    // schliesslich nicht rumwuseln
-	  }
-	Um das Lager dem Laden zuzuweisen, nutzt man folgendes:
-	  // myShop
-	  inherit "std/laden";
-	  void create()
-	  { ::create();
-	    SetStorageRoom("pfad/myStore");
-	    // Beschreibungen folgen
-	    ...
-	  }
-	Es werden hierbei waehrend jedes Lager-Resets 90% der im Lager
-	befindlichen Objekte vernichtet.
+NAME
+====
 
-SIEHE AUCH:
-	P_MIN_STOCK, SetStorageRoom(), /std/store.c, /std/shop.c
-	AddItem(), RemoveItem(), AddFixedObject(), RemoveFixedObject()
+   P_STORE_CONSUME                 "store_consume"
 
-----------------------------------------------------------------------------
-Last modified: 19-Jun-2015, Arathorn 
+
+DEFINIERT IN
+============
+
+   /sys/bank.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property ist entscheidend dafuer, wieviel Prozent an Objekten
+   bei jedem Reset in einem Lager eines Ladens vernichtet werden. Dies
+   geschieht aus Speicher- und Laggruenden. Es verbleibt dabei jedoch
+   eine Grundmenge an Objekten, deren Anzahl in der Property
+   P_MIN_STOCK festgehalten ist. Standardwert fuer P_STORE_CONSUME ist
+   hierbei 30%, aber in oft benutzten Laeden kann man dort ruhig einen
+   hoeheren Wert eintragen. Erlaubt sind Werte zwischen 0% und 100%.
+   Aufgeraeumt werden jedoch keine Objekte, die mittels AddItem() im
+   Lager eingebunden wurden. Mittels der Ladenfunktion AddFixedObject()
+   als staendig verfuegbar markierte Objekte werden natuerlich auch
+   nicht beruecksichtigt.
+   Beide hier erwaehnten Properties sollten ueberigens nur mittels
+   QueryProp/SetProp ausgelesen bzw. veraendert werden.
+
+
+BEISPIEL
+========
+
+   Ein eigener haeufig benutzter Laden koennte ein Lager in folgender
+   Form erhalten:
+     // myStore
+     #include <bank.h>
+     inherit "std/store";
+     void create()
+     { ::create();
+       SetProp(P_STORE_CONSUME,90);
+       // keine weiteren Beschreibungen, Spieler sollen da drin
+       // schliesslich nicht rumwuseln
+     }
+   Um das Lager dem Laden zuzuweisen, nutzt man folgendes:
+     // myShop
+     inherit "std/laden";
+     void create()
+     { ::create();
+       SetStorageRoom("pfad/myStore");
+       // Beschreibungen folgen
+       ...
+     }
+   Es werden hierbei waehrend jedes Lager-Resets 90% der im Lager
+   befindlichen Objekte vernichtet.
+
+
+SIEHE AUCH
+==========
+
+   P_MIN_STOCK, SetStorageRoom(), /std/store.c, /std/shop.c
+   AddItem(), RemoveItem(), AddFixedObject(), RemoveFixedObject()
+
+Last modified: 19-Jun-2015, Arathorn
diff --git a/doc/props/P_STRETCH_TIME b/doc/props/P_STRETCH_TIME
index dfef4f1..1b38b7e 100644
--- a/doc/props/P_STRETCH_TIME
+++ b/doc/props/P_STRETCH_TIME
@@ -1,20 +1,34 @@
+
 P_STRETCH_TIME
+**************
 
-NAME:
-    P_STRETCH_TIME     "stretch_time"
 
-DEFINIERT IN:
-    <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-    Enthaelt die Zeit in Runden (2s), die man braucht, um eine Fernwaffe zu
-    spannen/benutzen. Zaehlt seit dem letzten Schuss oder der Zeit des
-    Zueckens (P_EQUIP_TIME).
+   P_STRETCH_TIME     "stretch_time"
 
-SIEHE AUCH:
-    Generell:  P_AMMUNITION, P_SHOOTING_WC
-    Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
-    Gebiet:    P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
-    Sonstiges: fernwaffen
 
-29.Jul 2014 Gloinson
\ No newline at end of file
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt die Zeit in Runden (2s), die man braucht, um eine Fernwaffe zu
+   spannen/benutzen. Zaehlt seit dem letzten Schuss oder der Zeit des
+   Zueckens (P_EQUIP_TIME).
+
+
+SIEHE AUCH
+==========
+
+   Generell:  P_AMMUNITION, P_SHOOTING_WC
+   Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+   Gebiet:    P_RANGE, P_SHOOTING_AREA, P_TARGET_AREA
+   Sonstiges: fernwaffen
+
+29.Jul 2014 Gloinson
diff --git a/doc/props/P_SUBGUILD_TITLE b/doc/props/P_SUBGUILD_TITLE
index 58a59d5..83515d7 100644
--- a/doc/props/P_SUBGUILD_TITLE
+++ b/doc/props/P_SUBGUILD_TITLE
@@ -1,20 +1,38 @@
+
 P_SUBGUILD_TITLE
-NAME:
-     P_SUBGUILD_TITLE		"subguild_title"                       
+****************
 
-DEFINIERT IN:
-     /sys/new_skills.h
 
-BESCHREIBUNG:
-     Diese Property enthaelt eventuelle Zusatztitel eines Spielers, den er
-     innerhalb einer Gilde traegt. Das kann z.B. ein Clan sein, ein Zweig oder
-     einfach nur der Gildenrang.
+NAME
+====
 
-BEMERKUNGEN:
-     Inhalt der Property kann 0 sein oder ein String.  Ein Zusatztitel kann
-     mittels P_VISIBLE_SUBGUILD_TITLE vorgetaeuscht werden.
+   P_SUBGUILD_TITLE           "subguild_title"
 
-SIEHE AUCH:
-     P_GUILD_TITLE, P_VISIBLE_SUBGUILD_TITLE
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt eventuelle Zusatztitel eines Spielers, den er
+   innerhalb einer Gilde traegt. Das kann z.B. ein Clan sein, ein Zweig oder
+   einfach nur der Gildenrang.
+
+
+BEMERKUNGEN
+===========
+
+   Inhalt der Property kann 0 sein oder ein String.  Ein Zusatztitel kann
+   mittels P_VISIBLE_SUBGUILD_TITLE vorgetaeuscht werden.
+
+
+SIEHE AUCH
+==========
+
+   P_GUILD_TITLE, P_VISIBLE_SUBGUILD_TITLE
 
 26. Maerz 2004 Gloinson
diff --git a/doc/props/P_SYNTAX_HELP b/doc/props/P_SYNTAX_HELP
index 13344f1..a796fb5 100644
--- a/doc/props/P_SYNTAX_HELP
+++ b/doc/props/P_SYNTAX_HELP
@@ -1,44 +1,62 @@
-NAME:
-    P_SYNTAX_HELP              "lib_p_syntax_help"
 
-DEFINIERT IN:
-    /sys/thing/commands.h
+P_SYNTAX_HELP
+*************
 
-BESCHREIBUNG:
-    In dieser Property kann man fuer Spieler eine ausfuehrliche Syntaxhilfe zu
-    den Kommandos eines Objektes ablegen. Diese wird angezeigt, wenn der
-    Spieler das Kommando "synxtaxhilfe <objekt>" eingibt.
-    Die Property kann verschiedene Datenstrukturen enthalten:
 
-    1) ein String
-    Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
-    Zeilenumbrueche werden beibehalten.
+NAME
+====
 
-    2) ein Array: ({hilfetext, bedingungen})
+   P_SYNTAX_HELP              "lib_p_syntax_help"
 
-    <hilfetext>:
-      * ein string:
-        Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
-        Zeilenumbrueche werden beibehalten.
-      * eine lfun-closure:
-        Diese erhaelt beim Aufruf das betreffende Objekt als Argument.
-        Wenn diese dann einen String zurueckliefert, wird dieser dem Spieler
-        angezeigt. Hierbei wird ggf. umgebrochen, vorhandene Zeilenumbrueche
-        werden beibehalten.
 
-    <bedingungen>, welche erfuellt sein muessen, damit dem Spieler die Hilfe
-    angezeigt wird. Die Bedingungen sind entweder:
-      * ein Mapping fuer check_restriction()
-      * eine lfun-closure
-        Diese erhaelt beim Aufruf das betreffende Objekt als Argument und darf
-        eine 0 fuer 'erlaubt', 1 fuer 'nicht erlaubt (mit Standardtext)' oder
-        einen string fuer 'nicht erlaubt mit individuellem Text' sein.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-    Hat ein Objekt keine Syntaxhilfe, wird das Kommando "syntaxhilfe" aus dem
-    Objekt wieder entfernt (d.h. die Property muss gesetzt sein, bevor der
-    erste Spieler das Kommando eingibt).
+   /sys/thing/commands.h
 
-SIEHE AUCH:
-    AddCmd
 
+BESCHREIBUNG
+============
+
+   In dieser Property kann man fuer Spieler eine ausfuehrliche Syntaxhilfe zu
+   den Kommandos eines Objektes ablegen. Diese wird angezeigt, wenn der
+   Spieler das Kommando "synxtaxhilfe <objekt>" eingibt.
+   Die Property kann verschiedene Datenstrukturen enthalten:
+
+   1) ein String
+   Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
+   Zeilenumbrueche werden beibehalten.
+
+   2) ein Array: ({hilfetext, bedingungen})
+
+   <hilfetext>:
+     * ein string:
+       Der String wird angezeigt, hierbei ggf. umgebrochen, vorhandene
+       Zeilenumbrueche werden beibehalten.
+     * eine lfun-closure:
+       Diese erhaelt beim Aufruf das betreffende Objekt als Argument.
+       Wenn diese dann einen String zurueckliefert, wird dieser dem Spieler
+       angezeigt. Hierbei wird ggf. umgebrochen, vorhandene Zeilenumbrueche
+       werden beibehalten.
+
+   <bedingungen>, welche erfuellt sein muessen, damit dem Spieler die Hilfe
+   angezeigt wird. Die Bedingungen sind entweder:
+     * ein Mapping fuer check_restriction()
+     * eine lfun-closure
+       Diese erhaelt beim Aufruf das betreffende Objekt als Argument und darf
+       eine 0 fuer 'erlaubt', 1 fuer 'nicht erlaubt (mit Standardtext)' oder
+       einen string fuer 'nicht erlaubt mit individuellem Text' sein.
+
+
+BEMERKUNGEN
+===========
+
+   Hat ein Objekt keine Syntaxhilfe, wird das Kommando "syntaxhilfe" aus dem
+   Objekt wieder entfernt (d.h. die Property muss gesetzt sein, bevor der
+   erste Spieler das Kommando eingibt).
+
+
+SIEHE AUCH
+==========
+
+   AddCmd
diff --git a/doc/props/P_TARGET_AREA b/doc/props/P_TARGET_AREA
index 9d2cec9..614320f 100644
--- a/doc/props/P_TARGET_AREA
+++ b/doc/props/P_TARGET_AREA
@@ -1,75 +1,95 @@
+
 P_TARGET_AREA
+*************
 
-NAME:
-    P_TARGET_AREA     "target_area"
 
-DEFINIERT IN:
-    <combat.h>
+NAME
+====
 
-BESCHREIBUNG:
-    Kann in einem Raum gesetzt werden, um einen anderen, von dort aus mit
-    Fernkampfwaffen beschiessbaren Raum als Objekt oder Objektnamen (zu
-    einem geladenen Objekt) festzulegen.
+   P_TARGET_AREA     "target_area"
 
-BEMERKUNGEN:
-    Ein Schuetze kann nur in den anderen Raum schiessen, wenn die P_RANGE
-    seiner Waffe mindest gleich der P_SHOOTING_AREA des Raums (nicht des
-    Zielraums) ist.
 
-    Idealerweise sollte in mit P_TARGET_AREA angegebenen Raeumen auch
-    P_NEVER_CLEAN gesetzt sein.
+DEFINIERT IN
+============
 
-BEISPIELE:
-    // #1 Ein Baum-Raum (/std/room)
-    void create() {
-      ::create();
-      SetProp(P_INT_SHORT, "Auf einem Baum");
-      SetProp(P_INT_LONG, break_string("Du hockst auf einem Baum und kannst "
-        "auf die Lichtung unter Dir sehen.\n");
+   <combat.h>
 
-      AddExit("unten", RAEUME("lichtung"));
 
-      SetProp(P_TARGET_AREA, RAEUME("lichtung"));  // Lichtung beschiessbar
-      SetProp(P_SHOOTING_AREA, 15);                // 15 Entfernung
-    }
+BESCHREIBUNG
+============
 
-    // #2 Ein Elefanten-Transporter (/std/transport)
-    // Er trampelt durch mehrere Raeume durch und der Schuetze kann vom
-    // Ruecken des Elefanten aus auf Gegner draussen schiessen.
-    void create() {
-      ::create();
-      SetProp(P_NAME, "Kampfelefant");
-      AddId(({"elefant", "kampfelefant")});
-      SetProp(P_GENDER, MALE);
-      SetProp(P_SHORT, "Ein Kampfelefant");
-      SetProp(P_INT_SHORT, "Auf einem Kampfelefanten");
-      // P_LONG, P_INT_LONG
+   Kann in einem Raum gesetzt werden, um einen anderen, von dort aus mit
+   Fernkampfwaffen beschiessbaren Raum als Objekt oder Objektnamen (zu
+   einem geladenen Objekt) festzulegen.
 
-      SetProp(P_ENTERCMDS, ({"kletter", "erkletter"}));
-      SetProp(P_LEAVECMDS, ({"verlass", "verlasse"}));
 
-      SetProp(P_ARRIVEMSG, ({"Der Elefant trampelt in einen Raum.\n",
-                             "Ein Kampfelefant trampelt herein.\n"}));
-      SetProp(P_DEPARTMSG, ({"Der Elefant trampelt weiter.\n",
-                             "Der Kampfelefant trampelt weiter.\n"}));
+BEMERKUNGEN
+===========
 
-      SetProp(P_SHOOTING_AREA, 8); // weiter als 8 sollte man schiessen
+   Ein Schuetze kann nur in den anderen Raum schiessen, wenn die P_RANGE
+   seiner Waffe mindest gleich der P_SHOOTING_AREA des Raums (nicht des
+   Zielraums) ist.
 
-      AddRoute(RAEUME("schlachtfeld"), 20+random(10), 6, "Schlachtfeld");
-      AddRoute(RAEUME("burgtor"), 20+random(10), 6, "Burgtor");
-      AddRoute(RAEUME("burghof"), 20+random(10), 6, "Burghof");
-      AddRoute(RAEUME("halle"), 20+random(10), 6, "Halle");
-      AddRoute(RAEUME("bresche"), 20+random(10), 6, "Bresche");
-      // ...
+   Idealerweise sollte in mit P_TARGET_AREA angegebenen Raeumen auch
+   P_NEVER_CLEAN gesetzt sein.
 
-      Start();
-    }
 
-SIEHE AUCH:
-    Generell:  P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
-    Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
-    Gebiet:    P_RANGE, P_SHOOTING_AREA
-    Raeume:    P_NEVER_CLEAN
-    Sonstiges: fernwaffen
+BEISPIELE
+=========
 
-29.Jul 2014 Gloinson
\ No newline at end of file
+   // #1 Ein Baum-Raum (/std/room)
+   void create() {
+     ::create();
+     SetProp(P_INT_SHORT, "Auf einem Baum");
+     SetProp(P_INT_LONG, break_string("Du hockst auf einem Baum und kannst "
+       "auf die Lichtung unter Dir sehen.\n");
+
+     AddExit("unten", RAEUME("lichtung"));
+
+     SetProp(P_TARGET_AREA, RAEUME("lichtung"));  // Lichtung beschiessbar
+     SetProp(P_SHOOTING_AREA, 15);                // 15 Entfernung
+   }
+
+   // #2 Ein Elefanten-Transporter (/std/transport)
+   // Er trampelt durch mehrere Raeume durch und der Schuetze kann vom
+   // Ruecken des Elefanten aus auf Gegner draussen schiessen.
+   void create() {
+     ::create();
+     SetProp(P_NAME, "Kampfelefant");
+     AddId(({"elefant", "kampfelefant")});
+     SetProp(P_GENDER, MALE);
+     SetProp(P_SHORT, "Ein Kampfelefant");
+     SetProp(P_INT_SHORT, "Auf einem Kampfelefanten");
+     // P_LONG, P_INT_LONG
+
+     SetProp(P_ENTERCMDS, ({"kletter", "erkletter"}));
+     SetProp(P_LEAVECMDS, ({"verlass", "verlasse"}));
+
+     SetProp(P_ARRIVEMSG, ({"Der Elefant trampelt in einen Raum.\n",
+                            "Ein Kampfelefant trampelt herein.\n"}));
+     SetProp(P_DEPARTMSG, ({"Der Elefant trampelt weiter.\n",
+                            "Der Kampfelefant trampelt weiter.\n"}));
+
+     SetProp(P_SHOOTING_AREA, 8); // weiter als 8 sollte man schiessen
+
+     AddRoute(RAEUME("schlachtfeld"), 20+random(10), 6, "Schlachtfeld");
+     AddRoute(RAEUME("burgtor"), 20+random(10), 6, "Burgtor");
+     AddRoute(RAEUME("burghof"), 20+random(10), 6, "Burghof");
+     AddRoute(RAEUME("halle"), 20+random(10), 6, "Halle");
+     AddRoute(RAEUME("bresche"), 20+random(10), 6, "Bresche");
+     // ...
+
+     Start();
+   }
+
+
+SIEHE AUCH
+==========
+
+   Generell:  P_AMMUNITION, P_SHOOTING_WC, P_STRETCH_TIME
+   Methoden:  FindRangedTarget(L), shoot_dam(L), cmd_shoot(L)
+   Gebiet:    P_RANGE, P_SHOOTING_AREA
+   Raeume:    P_NEVER_CLEAN
+   Sonstiges: fernwaffen
+
+29.Jul 2014 Gloinson
diff --git a/doc/props/P_TEAM b/doc/props/P_TEAM
index f03109d..4f853e8 100644
--- a/doc/props/P_TEAM
+++ b/doc/props/P_TEAM
@@ -1,24 +1,39 @@
-NAME:
-	P_TEAM                         "team"
 
-DEFINIERT IN:
-	/sys/living/team.h
+P_TEAM
+******
 
-BESCHREIBUNG:
-	Liefert das Teamobjekt, falls Spieler in einem Team ist, sonst 0.
 
-SIEHE AUCH:
-        Uebersicht: teamkampf
-        Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
-                    P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
-                    P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
-        Bewegung:   IsTeamMove, TeamFlee
-        Mitglieder: IsTeamLeader, TeamMembers
-        Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
-                    SelectFarEnemy
-        Positionen: PresentPosition, PresentRows, PresentEnemyRows,
-                    PresentTeamPosition, SwapRows
-        Sonstiges:  TeamPrefix, teamkampf_intern
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_TEAM                         "team"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+   Liefert das Teamobjekt, falls Spieler in einem Team ist, sonst 0.
+
+
+SIEHE AUCH
+==========
+
+   Uebersicht: teamkampf
+   Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
+               P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+               P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+   Bewegung:   IsTeamMove, TeamFlee
+   Mitglieder: IsTeamLeader, TeamMembers
+   Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+               SelectFarEnemy
+   Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+               PresentTeamPosition, SwapRows
+   Sonstiges:  TeamPrefix, teamkampf_intern
+
 Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_ASSOC_MEMBERS b/doc/props/P_TEAM_ASSOC_MEMBERS
index c4f95b8..b57a276 100644
--- a/doc/props/P_TEAM_ASSOC_MEMBERS
+++ b/doc/props/P_TEAM_ASSOC_MEMBERS
@@ -1,30 +1,48 @@
-NAME:
-	P_TEAM_ASSOC_MEMBERS           "team_assoc_members"
 
-DEFINIERT IN:
-	/sys/living/team.h
+P_TEAM_ASSOC_MEMBERS
+********************
 
-BESCHREIBUNG:
-	Array mit den zugeordneten NPCs des Spielers bzw. der Spieler,
-	dem dieser NPC zugeordnet ist.
-	Zugeordnete NPCs sind automatisch im Team des Spielers.
 
-BEMERKUNG:
-	Der Zugriff auf diese Property sollte ueber AssocMember()
-	bzw. DeAssocMember() erfolgen.
+NAME
+====
 
-SIEHE AUCH:
-        Uebersicht: teamkampf
-        Properties: P_TEAM, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
-                    P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
-                    P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
-        Bewegung:   IsTeamMove, TeamFlee
-        Mitglieder: IsTeamLeader, TeamMembers
-        Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
-                    SelectFarEnemy
-        Positionen: PresentPosition, PresentRows, PresentEnemyRows,
-                    PresentTeamPosition, SwapRows
-        Sonstiges:  TeamPrefix, teamkampf_intern
+   P_TEAM_ASSOC_MEMBERS           "team_assoc_members"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+   Array mit den zugeordneten NPCs des Spielers bzw. der Spieler,
+   dem dieser NPC zugeordnet ist.
+   Zugeordnete NPCs sind automatisch im Team des Spielers.
+
+
+BEMERKUNG
+=========
+
+   Der Zugriff auf diese Property sollte ueber AssocMember()
+   bzw. DeAssocMember() erfolgen.
+
+
+SIEHE AUCH
+==========
+
+   Uebersicht: teamkampf
+   Properties: P_TEAM, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
+               P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+               P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+   Bewegung:   IsTeamMove, TeamFlee
+   Mitglieder: IsTeamLeader, TeamMembers
+   Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+               SelectFarEnemy
+   Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+               PresentTeamPosition, SwapRows
+   Sonstiges:  TeamPrefix, teamkampf_intern
+
 Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_ATTACK_CMD b/doc/props/P_TEAM_ATTACK_CMD
index 3f77349..b7993e7 100644
--- a/doc/props/P_TEAM_ATTACK_CMD
+++ b/doc/props/P_TEAM_ATTACK_CMD
@@ -1,24 +1,39 @@
-NAME:
-	P_TEAM_ATTACK_CMD              "team_attack_cmd"
 
-DEFINIERT IN:
-	/sys/living/team.h
+P_TEAM_ATTACK_CMD
+*****************
 
-BESCHREIBUNG:
-	Angriffsbefehl des Spielers, nicht setzbar.
 
-SIEHE AUCH:
-        Uebersicht: teamkampf
-        Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_AUTOFOLLOW,
-                    P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
-                    P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
-        Bewegung:   IsTeamMove, TeamFlee
-        Mitglieder: IsTeamLeader, TeamMembers
-        Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
-                    SelectFarEnemy
-        Positionen: PresentPosition, PresentRows, PresentEnemyRows,
-                    PresentTeamPosition, SwapRows
-        Sonstiges:  TeamPrefix, teamkampf_intern
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_TEAM_ATTACK_CMD              "team_attack_cmd"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+   Angriffsbefehl des Spielers, nicht setzbar.
+
+
+SIEHE AUCH
+==========
+
+   Uebersicht: teamkampf
+   Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_AUTOFOLLOW,
+               P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+               P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+   Bewegung:   IsTeamMove, TeamFlee
+   Mitglieder: IsTeamLeader, TeamMembers
+   Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+               SelectFarEnemy
+   Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+               PresentTeamPosition, SwapRows
+   Sonstiges:  TeamPrefix, teamkampf_intern
+
 Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_AUTOFOLLOW b/doc/props/P_TEAM_AUTOFOLLOW
index 45be50f..0e8c45f 100644
--- a/doc/props/P_TEAM_AUTOFOLLOW
+++ b/doc/props/P_TEAM_AUTOFOLLOW
@@ -1,24 +1,39 @@
-NAME:
-	P_TEAM_AUTOFOLLOW              "team_autofollow"
 
-DEFINIERT IN:
-	/sys/living/team.h
+P_TEAM_AUTOFOLLOW
+*****************
 
-BESCHREIBUNG:
-	Folgewunsch des Spielers, nicht setzbar.
 
-SIEHE AUCH:
-        Uebersicht: teamkampf
-        Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
-                    P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
-                    P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
-        Bewegung:   IsTeamMove, TeamFlee
-        Mitglieder: IsTeamLeader, TeamMembers
-        Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
-                    SelectFarEnemy
-        Positionen: PresentPosition, PresentRows, PresentEnemyRows,
-                    PresentTeamPosition, SwapRows
-        Sonstiges:  TeamPrefix, teamkampf_intern
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_TEAM_AUTOFOLLOW              "team_autofollow"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+   Folgewunsch des Spielers, nicht setzbar.
+
+
+SIEHE AUCH
+==========
+
+   Uebersicht: teamkampf
+   Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
+               P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+               P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+   Bewegung:   IsTeamMove, TeamFlee
+   Mitglieder: IsTeamLeader, TeamMembers
+   Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+               SelectFarEnemy
+   Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+               PresentTeamPosition, SwapRows
+   Sonstiges:  TeamPrefix, teamkampf_intern
+
 Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_COLORS b/doc/props/P_TEAM_COLORS
index d23815d..a855035 100644
--- a/doc/props/P_TEAM_COLORS
+++ b/doc/props/P_TEAM_COLORS
@@ -1,25 +1,40 @@
-NAME:
-	P_TEAM_COLORS                  "team_colors"
 
-DEFINIERT IN:
-	/sys/living/team.h
+P_TEAM_COLORS
+*************
 
-BESCHREIBUNG:
-	Grenzwerte fuer farbige Anzeige im Teaminfo.
-	Array mit 4 Werten: ({ lp_rot, lp_gelb, sp_rot, sp_gelb })
 
-SIEHE AUCH:
-        Uebersicht: teamkampf
-        Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
-                    P_TEAM_AUTOFOLLOW, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
-                    P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
-        Bewegung:   IsTeamMove, TeamFlee
-        Mitglieder: IsTeamLeader, TeamMembers
-        Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
-                    SelectFarEnemy
-        Positionen: PresentPosition, PresentRows, PresentEnemyRows,
-                    PresentTeamPosition, SwapRows
-        Sonstiges:  TeamPrefix, teamkampf_intern
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_TEAM_COLORS                  "team_colors"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+   Grenzwerte fuer farbige Anzeige im Teaminfo.
+   Array mit 4 Werten: ({ lp_rot, lp_gelb, sp_rot, sp_gelb })
+
+
+SIEHE AUCH
+==========
+
+   Uebersicht: teamkampf
+   Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
+               P_TEAM_AUTOFOLLOW, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+               P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+   Bewegung:   IsTeamMove, TeamFlee
+   Mitglieder: IsTeamLeader, TeamMembers
+   Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+               SelectFarEnemy
+   Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+               PresentTeamPosition, SwapRows
+   Sonstiges:  TeamPrefix, teamkampf_intern
+
 Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_LEADER b/doc/props/P_TEAM_LEADER
index a123c37..b4927f3 100644
--- a/doc/props/P_TEAM_LEADER
+++ b/doc/props/P_TEAM_LEADER
@@ -1,24 +1,39 @@
-NAME:
-	P_TEAM_LEADER                  "team_leader"
 
-DEFINIERT IN:
-	/sys/living/team.h
+P_TEAM_LEADER
+*************
 
-BESCHREIBUNG:
-	Liefert das Teamobjekt, falls Spieler Anfuehrer eines Teams ist.
 
-SIEHE AUCH:
-        Uebersicht: teamkampf
-        Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
-                    P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_NEWMEMBER,
-                    P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
-        Bewegung:   IsTeamMove, TeamFlee
-        Mitglieder: IsTeamLeader, TeamMembers
-        Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
-                    SelectFarEnemy
-        Positionen: PresentPosition, PresentRows, PresentEnemyRows,
-                    PresentTeamPosition, SwapRows
-        Sonstiges:  TeamPrefix, teamkampf_intern
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_TEAM_LEADER                  "team_leader"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+   Liefert das Teamobjekt, falls Spieler Anfuehrer eines Teams ist.
+
+
+SIEHE AUCH
+==========
+
+   Uebersicht: teamkampf
+   Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
+               P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_NEWMEMBER,
+               P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+   Bewegung:   IsTeamMove, TeamFlee
+   Mitglieder: IsTeamLeader, TeamMembers
+   Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+               SelectFarEnemy
+   Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+               PresentTeamPosition, SwapRows
+   Sonstiges:  TeamPrefix, teamkampf_intern
+
 Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_NEWMEMBER b/doc/props/P_TEAM_NEWMEMBER
index f506c5b..da89b70 100644
--- a/doc/props/P_TEAM_NEWMEMBER
+++ b/doc/props/P_TEAM_NEWMEMBER
@@ -1,25 +1,40 @@
-NAME:
-	P_TEAM_NEWMEMBER               "potential_team_member"
 
-DEFINIERT IN:
-	/sys/living/team.h
+P_TEAM_NEWMEMBER
+****************
 
-BESCHREIBUNG:
-	Enthaelt das Objekt des Teamleaders, sobald ein Spieler um
-	Teamaufnahme gebeten hat, sonst 0.
 
-SIEHE AUCH:
-        Uebersicht: teamkampf
-        Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
-                    P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_LEADER,
-                    P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
-        Bewegung:   IsTeamMove, TeamFlee
-        Mitglieder: IsTeamLeader, TeamMembers
-        Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
-                    SelectFarEnemy
-        Positionen: PresentPosition, PresentRows, PresentEnemyRows,
-                    PresentTeamPosition, SwapRows
-        Sonstiges:  TeamPrefix, teamkampf_intern
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_TEAM_NEWMEMBER               "potential_team_member"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt das Objekt des Teamleaders, sobald ein Spieler um
+   Teamaufnahme gebeten hat, sonst 0.
+
+
+SIEHE AUCH
+==========
+
+   Uebersicht: teamkampf
+   Properties: P_TEAM, P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD,
+               P_TEAM_AUTOFOLLOW, P_TEAM_COLORS, P_TEAM_LEADER,
+               P_TEAM_WANTED_ROW, P_TEAM_WIMPY_ROW
+   Bewegung:   IsTeamMove, TeamFlee
+   Mitglieder: IsTeamLeader, TeamMembers
+   Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+               SelectFarEnemy
+   Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+               PresentTeamPosition, SwapRows
+   Sonstiges:  TeamPrefix, teamkampf_intern
+
 Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_WANTED_ROW b/doc/props/P_TEAM_WANTED_ROW
index 7cd3c36..ba94af4 100644
--- a/doc/props/P_TEAM_WANTED_ROW
+++ b/doc/props/P_TEAM_WANTED_ROW
@@ -1,24 +1,39 @@
-NAME:
-	P_TEAM_WANTED_ROW              "team_wanted_row"
 
-DEFINIERT IN:
-	/sys/living/team.h
+P_TEAM_WANTED_ROW
+*****************
 
-BESCHREIBUNG:
-	Gewuenschte Reihe des Spielers (von 1 bis MAX_TEAMROWS)
 
-SIEHE AUCH:
-        Uebersicht: teamkampf
-        Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
-                    P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
-                    P_TEAM_WIMPY_ROW
-        Bewegung:   IsTeamMove, TeamFlee
-        Mitglieder: IsTeamLeader, TeamMembers
-        Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
-                    SelectFarEnemy
-        Positionen: PresentPosition, PresentRows, PresentEnemyRows,
-                    PresentTeamPosition, SwapRows
-        Sonstiges:  TeamPrefix, teamkampf_intern
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_TEAM_WANTED_ROW              "team_wanted_row"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+   Gewuenschte Reihe des Spielers (von 1 bis MAX_TEAMROWS)
+
+
+SIEHE AUCH
+==========
+
+   Uebersicht: teamkampf
+   Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
+               P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+               P_TEAM_WIMPY_ROW
+   Bewegung:   IsTeamMove, TeamFlee
+   Mitglieder: IsTeamLeader, TeamMembers
+   Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+               SelectFarEnemy
+   Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+               PresentTeamPosition, SwapRows
+   Sonstiges:  TeamPrefix, teamkampf_intern
+
 Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TEAM_WIMPY_ROW b/doc/props/P_TEAM_WIMPY_ROW
index a832255..90bfacb 100644
--- a/doc/props/P_TEAM_WIMPY_ROW
+++ b/doc/props/P_TEAM_WIMPY_ROW
@@ -1,28 +1,46 @@
-NAME:
-	P_TEAM_WIMPY_ROW               "team_wimpy_row"
 
-DEFINIERT IN:
-	/sys/living/team.h
+P_TEAM_WIMPY_ROW
+****************
 
-BESCHREIBUNG:
-	Fluchtreihe des Spielers, von 1 bis MAX_TEAMROWS.
 
-BEMERKUNG:
-	Wenn die Fluchtreihe <=1 ist, ist die Flucht in eine hintere Reihe
-	deaktiviert.
+NAME
+====
 
-SIEHE AUCH:
-        Uebersicht: teamkampf
-        Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
-                    P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
-                    P_TEAM_WANTED_ROW
-        Bewegung:   IsTeamMove, TeamFlee
-        Mitglieder: IsTeamLeader, TeamMembers
-        Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
-                    SelectFarEnemy
-        Positionen: PresentPosition, PresentRows, PresentEnemyRows,
-                    PresentTeamPosition, SwapRows
-        Sonstiges:  TeamPrefix, teamkampf_intern
+   P_TEAM_WIMPY_ROW               "team_wimpy_row"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/living/team.h
+
+
+BESCHREIBUNG
+============
+
+   Fluchtreihe des Spielers, von 1 bis MAX_TEAMROWS.
+
+
+BEMERKUNG
+=========
+
+   Wenn die Fluchtreihe <=1 ist, ist die Flucht in eine hintere Reihe
+   deaktiviert.
+
+
+SIEHE AUCH
+==========
+
+   Uebersicht: teamkampf
+   Properties: P_ASSOC_MEMBERS, P_TEAM_ATTACK_CMD, P_TEAM_AUTOFOLLOW,
+               P_TEAM_COLORS, P_TEAM_LEADER, P_TEAM_NEWMEMBER,
+               P_TEAM_WANTED_ROW
+   Bewegung:   IsTeamMove, TeamFlee
+   Mitglieder: IsTeamLeader, TeamMembers
+   Kampf:      DeAssocMember, InsertEnemyTeam, SelectNearEnemy,
+               SelectFarEnemy
+   Positionen: PresentPosition, PresentRows, PresentEnemyRows,
+               PresentTeamPosition, SwapRows
+   Sonstiges:  TeamPrefix, teamkampf_intern
+
 Last modified: 16-08-2010, Gabylon
diff --git a/doc/props/P_TELNET_RTTIME b/doc/props/P_TELNET_RTTIME
index fc30011..b781bea 100644
--- a/doc/props/P_TELNET_RTTIME
+++ b/doc/props/P_TELNET_RTTIME
@@ -1,25 +1,43 @@
-NAME:
-    P_TELNET_RTTIME                                  "p_lib_telnet_rttime"
 
-DEFINIERT IN:
-    /secure/telnetneg.h
+P_TELNET_RTTIME
+***************
 
-BESCHREIBUNG:
-    In dieser Properties steht die letzte gemessene 'round-trip' Zeit
-    (in Mikrosekunden) einer 'Telnet timing mark' vom MUD zum Client und
-    zurueck.
 
-    Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
-    Telnetnegotiations unterstuetzt und 'telnet keepalive' eingeschaltet
-    ist, ansonsten bleibt diese Property 0.
-    Die meisten Telnets/Clients antworten zumindest eine Ablehnung auf
-    die 'timing marks', so dass trotzdem eine Zeit bestimmt werden kann.
+NAME
+====
 
-    Die Prop kann nicht gesetzt werden bzw. es hat keinen Effekt.
+   P_TELNET_RTTIME                                  "p_lib_telnet_rttime"
 
-SIEHE AUCH:
-    P_TTY_COLS, P_TTY_ROWS, P_TTY_SHOW, P_TTY, P_TTY_TYPE
 
-LETZTE AeNDERUNG:
-    03.02.2013, Zesstra
+DEFINIERT IN
+============
 
+   /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Properties steht die letzte gemessene 'round-trip' Zeit
+   (in Mikrosekunden) einer 'Telnet timing mark' vom MUD zum Client und
+   zurueck.
+
+   Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
+   Telnetnegotiations unterstuetzt und 'telnet keepalive' eingeschaltet
+   ist, ansonsten bleibt diese Property 0.
+   Die meisten Telnets/Clients antworten zumindest eine Ablehnung auf
+   die 'timing marks', so dass trotzdem eine Zeit bestimmt werden kann.
+
+   Die Prop kann nicht gesetzt werden bzw. es hat keinen Effekt.
+
+
+SIEHE AUCH
+==========
+
+   P_TTY_COLS, P_TTY_ROWS, P_TTY_SHOW, P_TTY, P_TTY_TYPE
+
+
+LETZTE AeNDERUNG
+================
+
+   03.02.2013, Zesstra
diff --git a/doc/props/P_TESTPLAYER b/doc/props/P_TESTPLAYER
index 6f64ade..bf0c765 100644
--- a/doc/props/P_TESTPLAYER
+++ b/doc/props/P_TESTPLAYER
@@ -1,29 +1,48 @@
-NAME:
-    P_TESTPLAYER                  "testplayer"                  
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_TESTPLAYER
+************
 
-BESCHREIBUNG:
-     Gesetzt, wenn der Spieler ein Testspieler ist. Enthaelt die UID des
-     Magiers, dem dieser Testie (momentan) gehoert.
-     
-     Bei Testspielern duerfen Skills geaendert werden, sie duerfen gezappt
-     werden und - ihre eigentliche Aufgabe - nicht angeschlossene Gebiete
-     testen.
 
-     AUSNAHMEN: Gildentesties duerfen nur sehr eingeschraenkt manipuliert
-                werden werden, da sie im ganzen Mud rumlaufen koennen,
-                Spielerkontakt haben und nach Abschluss der Tests ggf. sogar
-                die Testiemarkierung entfernt werden kann.
-                
-     Fuer Spielertesties, die von einem Spieler kontrolliert werden, gelten
-     teilweise besondere Regeln, s. 'spielertesties'.
+NAME
+====
 
-BEMERKUNGEN: 
-     P_TESTPLAYER kann nur per SetProp() gesetzt werden und das auch nur ein
-     Mal! Geloescht werden kann das Flag nur von EM+.
+   P_TESTPLAYER                  "testplayer"
 
-ZULETZT GEAeNDERT:
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt, wenn der Spieler ein Testspieler ist. Enthaelt die UID des
+   Magiers, dem dieser Testie (momentan) gehoert.
+
+
+
+   Bei Testspielern duerfen Skills geaendert werden, sie duerfen gezappt
+   werden und - ihre eigentliche Aufgabe - nicht angeschlossene Gebiete
+   testen.
+
+   AUSNAHMEN: Gildentesties duerfen nur sehr eingeschraenkt manipuliert
+              werden werden, da sie im ganzen Mud rumlaufen koennen,
+              Spielerkontakt haben und nach Abschluss der Tests ggf. sogar
+              die Testiemarkierung entfernt werden kann.
+
+
+
+   Fuer Spielertesties, die von einem Spieler kontrolliert werden, gelten
+   teilweise besondere Regeln, s. 'spielertesties'.
+
+BEMERKUNGEN:
+   P_TESTPLAYER kann nur per SetProp() gesetzt werden und das auch nur
+   ein Mal! Geloescht werden kann das Flag nur von EM+.
+
+
+ZULETZT GEAeNDERT
+=================
+
 05.01.2010, Zesstra
-
diff --git a/doc/props/P_TIMED_ATTR_MOD b/doc/props/P_TIMED_ATTR_MOD
index 1175c50..fa7db3f 100644
--- a/doc/props/P_TIMED_ATTR_MOD
+++ b/doc/props/P_TIMED_ATTR_MOD
@@ -1,59 +1,78 @@
-NAME:
-    P_TIMED_ATTR_MOD         "timed_attr_mod"
 
-DEFINIERT IN:
-    /sys/living/attributes.h
+P_TIMED_ATTR_MOD
+****************
 
-BESCHREIBUNG:
-    In dieser Property werden Attribut-Modifikatoren gespeichert, die
-    nicht ueber laengere Zeit wirksam sein sollen.
-    Die Wirksamkeit der Modifikatoren kann an Zeit und Objekte
-    gebunden werden.
 
-    Intern werden die Modifikatoren in einer Datenstruktur der Form
+NAME
+====
 
-    ({
-       ({ Ablaufzeiten }),
-       ([ Key : Ablaufobjekt ]),
-       ([ Key : ([ Mapping mit den Modifikatoren ]);
-         Ablaufzeit ; Ablaufobjekt ; Nachrichtenempfaenger
-       ])
-    })
+   P_TIMED_ATTR_MOD         "timed_attr_mod"
 
-    gespeichert mit:
-    * Ablaufzeiten:  Zeit in Sekunden seit 1. Jan 1970, 0.0:0 GMT
-    * Ablaufobjekte: Objekte, an deren Existenz die Attribut-
-                     veraenderungen gebunden sind
-    * Nachrichtenempfaenger:
-      Objekte/Klassen, welche ueber abgelaufene Attributveraenderung
-      durch den Aufruf von "NotifyTimedAttrModExpired" (mit key als
-      Argument) benachrichtigt werden.
 
-    Das Setzen der Werte erfolgt NUR ueber die Methoden SetTimedAttrModifier
-    und DeleteTimedAttrModifier.
+DEFINIERT IN
+============
 
-    Die Daten zu einem Key koennen ueber QueryTimedAttrModifier abgefragt
-    werden. Die Abfrage mittels QueryProp liefert eine Kopie der gueltigen
-    Datenstruktur, die per Query nicht (siehe Bemerkungen).
+   /sys/living/attributes.h
 
-    Die Bedingungen fuer die ueber P_TIMED_ATTR_MOD gesetzten
-    Attributveraenderungen werden im Heartbeat in der Funktion
-    attribute_hb ueberprueft. Eine verminderte Funktionalitaet im
-    Falle von Magiern ist somit kein Fehlerfall.
 
-BEMERKUNGEN:
-    Keine echte Property. Die Methode _query_timed_attr_mod() in
-    /std/living/attributes.c stellt die Daten zusammen.
+BESCHREIBUNG
+============
 
-    ACHTUNG: Bitte nur die bereitgestellten Methoden zur Manipulation
-             benutzen! Setzen als Property hat keinen Effekt.
+   In dieser Property werden Attribut-Modifikatoren gespeichert, die
+   nicht ueber laengere Zeit wirksam sein sollen.
+   Die Wirksamkeit der Modifikatoren kann an Zeit und Objekte
+   gebunden werden.
 
-SIEHE AUCH:
-    QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
-    SetAttribute(), SetRealAttribute(), UpdateAttributes(),
-    SetTimedAttrModifier(), QueryTimedAttrModifier(),
-    DeleteTimedAttrModifier(),
-    P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,
-    P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
-----------------------------------------------------------------------------
+   Intern werden die Modifikatoren in einer Datenstruktur der Form
+
+   ({
+      ({ Ablaufzeiten }),
+      ([ Key : Ablaufobjekt ]),
+      ([ Key : ([ Mapping mit den Modifikatoren ]);
+        Ablaufzeit ; Ablaufobjekt ; Nachrichtenempfaenger
+      ])
+   })
+
+   gespeichert mit:
+   * Ablaufzeiten:  Zeit in Sekunden seit 1. Jan 1970, 0.0:0 GMT
+   * Ablaufobjekte: Objekte, an deren Existenz die Attribut-
+                    veraenderungen gebunden sind
+   * Nachrichtenempfaenger:
+     Objekte/Klassen, welche ueber abgelaufene Attributveraenderung
+     durch den Aufruf von "NotifyTimedAttrModExpired" (mit key als
+     Argument) benachrichtigt werden.
+
+   Das Setzen der Werte erfolgt NUR ueber die Methoden SetTimedAttrModifier
+   und DeleteTimedAttrModifier.
+
+   Die Daten zu einem Key koennen ueber QueryTimedAttrModifier abgefragt
+   werden. Die Abfrage mittels QueryProp liefert eine Kopie der gueltigen
+   Datenstruktur, die per Query nicht (siehe Bemerkungen).
+
+   Die Bedingungen fuer die ueber P_TIMED_ATTR_MOD gesetzten
+   Attributveraenderungen werden im Heartbeat in der Funktion
+   attribute_hb ueberprueft. Eine verminderte Funktionalitaet im
+   Falle von Magiern ist somit kein Fehlerfall.
+
+
+BEMERKUNGEN
+===========
+
+   Keine echte Property. Die Methode _query_timed_attr_mod() in
+   /std/living/attributes.c stellt die Daten zusammen.
+
+   ACHTUNG: Bitte nur die bereitgestellten Methoden zur Manipulation
+            benutzen! Setzen als Property hat keinen Effekt.
+
+
+SIEHE AUCH
+==========
+
+   QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+   SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+   SetTimedAttrModifier(), QueryTimedAttrModifier(),
+   DeleteTimedAttrModifier(),
+   P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,
+   P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+
 Last modified: Tue Jul 27 20:00:20 2004 by Muadib
diff --git a/doc/props/P_TIMEZONE b/doc/props/P_TIMEZONE
index 8243d07..7e4ce7d 100644
--- a/doc/props/P_TIMEZONE
+++ b/doc/props/P_TIMEZONE
@@ -1,10 +1,23 @@
-NAME:
-    P_TIMEZONE                 "timezone"
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_TIMEZONE
+**********
 
-BESCHREIBUNG:
-     Ein Integer-Wert, der bei der Uhrzeitmeldung und beim Befehl
-     "(uhr)zeit" beruecksichtig wird. Gibt die Anzahl der Stunden
-     Zeitabweichung von Berliner Zeit an.
+
+NAME
+====
+
+   P_TIMEZONE                 "timezone"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Ein Integer-Wert, der bei der Uhrzeitmeldung und beim Befehl
+   "(uhr)zeit" beruecksichtig wird. Gibt die Anzahl der Stunden
+   Zeitabweichung von Berliner Zeit an.
diff --git a/doc/props/P_TITLE b/doc/props/P_TITLE
index 49afd57..555e26a 100644
--- a/doc/props/P_TITLE
+++ b/doc/props/P_TITLE
@@ -1,8 +1,21 @@
-NAME:
-    P_TITLE                       "title"                       
 
-DEFINIERT IN:
-    /sys/player/description.h
+P_TITLE
+*******
 
-BESCHREIBUNG:
-     Titel des Spielers. Erscheint hinter dem Namen in Kurz/Langbeschreibung.
+
+NAME
+====
+
+   P_TITLE                       "title"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/description.h
+
+
+BESCHREIBUNG
+============
+
+   Titel des Spielers. Erscheint hinter dem Namen in Kurz/Langbeschreibung.
diff --git a/doc/props/P_TOO_HEAVY_MSG b/doc/props/P_TOO_HEAVY_MSG
index 27ef315..c2a40ea 100644
--- a/doc/props/P_TOO_HEAVY_MSG
+++ b/doc/props/P_TOO_HEAVY_MSG
@@ -1,31 +1,50 @@
-NAME:
-    P_TOO_HEAVY_MSG                      "too_heavy_msg"                      
 
-DEFINIERT IN:
-    /sys/thing/moving.h
+P_TOO_HEAVY_MSG
+***************
 
-BESCHREIBUNG:
-     Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
-     versucht, ein Objekt in einen Behaelter zu legen, fuer den dieses Objekt
-     zu schwer ist.
-     Die Property ist im Behaelter zu setzen.
-     Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
-     so wird die Standardmeldung ausgegeben.
-     ("<Objekt> passt in <Behaelter> nicht mehr rein.")
-     Der String in der Property wird noch durch replace_personal()
-     verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
-     zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
-     umgebrochen.
-     Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
-     ganz.
 
-BEISPIELE:
-     SetProp(P_TOO_HEAVY_MSG, "Wenn du @WEN1 noch in den Beutel stecken"
-			      " wuerdest, wuerde er reissen.");
+NAME
+====
 
-SIEHE AUCH:
-     Aehnliches: P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG, P_NOINSERT_MSG,
-                 P_NOLEAVE_MSG, P_NODROP, P_NOGET 
-     Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
-                 P_WEAR_MSG, P_WIELD_MSG
-     Sonstiges:  replace_personal(E), /std/living/put_and_get.c
+   P_TOO_HEAVY_MSG                      "too_heavy_msg"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
+   versucht, ein Objekt in einen Behaelter zu legen, fuer den dieses Objekt
+   zu schwer ist.
+   Die Property ist im Behaelter zu setzen.
+   Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
+   so wird die Standardmeldung ausgegeben.
+   ("<Objekt> passt in <Behaelter> nicht mehr rein.")
+   Der String in der Property wird noch durch replace_personal()
+   verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
+   zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
+   umgebrochen.
+   Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
+   ganz.
+
+
+BEISPIELE
+=========
+
+   SetProp(P_TOO_HEAVY_MSG, "Wenn du @WEN1 noch in den Beutel stecken"
+                            " wuerdest, wuerde er reissen.");
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_ENV_TOO_HEAVY_MSG, P_TOO_MANY_MSG, P_NOINSERT_MSG,
+               P_NOLEAVE_MSG, P_NODROP, P_NOGET
+   Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+               P_WEAR_MSG, P_WIELD_MSG
+   Sonstiges:  replace_personal(E), /std/living/put_and_get.c
diff --git a/doc/props/P_TOO_MANY_MSG b/doc/props/P_TOO_MANY_MSG
index e23ce32..fd1ffe9 100644
--- a/doc/props/P_TOO_MANY_MSG
+++ b/doc/props/P_TOO_MANY_MSG
@@ -1,31 +1,50 @@
-NAME:
-    P_TOO_MANY_MSG                      "too_many_msg"                      
 
-DEFINIERT IN:
-    /sys/thing/moving.h
+P_TOO_MANY_MSG
+**************
 
-BESCHREIBUNG:
-     Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
-     versucht, ein Objekt in einen Behaelter zu legen, der schon die maximale
-     Anzahl an Objekten enthaelt.
-     Die Property ist im Behaelter zu setzen.
-     Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
-     so wird die Standardmeldung ausgegeben.
-     ("Dafuer ist nicht mehr genug Platz in <Behaelter>.")
-     Der String in der Property wird noch durch replace_personal()
-     verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
-     zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
-     umgebrochen.
-     Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
-     ganz.
 
-BEISPIELE:
-     SetProp(P_TOO_MANY_MSG, "Aber der Korb hat doch nur drei Faecher, die"
-			     " sind alle schon voll.");
+NAME
+====
 
-SIEHE AUCH:
-     Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_NOINSERT_MSG,
-                 P_NOLEAVE_MSG, P_NODROP, P_NOGET 
-     Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
-                 P_WEAR_MSG, P_WIELD_MSG
-     Sonstiges:  replace_personal(E), /std/living/put_and_get.c
+   P_TOO_MANY_MSG                      "too_many_msg"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/moving.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt eine Meldung, die ausgegeben wird, wenn jemand
+   versucht, ein Objekt in einen Behaelter zu legen, der schon die maximale
+   Anzahl an Objekten enthaelt.
+   Die Property ist im Behaelter zu setzen.
+   Ist diese Property nicht oder auf einen nicht-String-Wert gesetzt,
+   so wird die Standardmeldung ausgegeben.
+   ("Dafuer ist nicht mehr genug Platz in <Behaelter>.")
+   Der String in der Property wird noch durch replace_personal()
+   verarbeitet, das zu bewegende Objekt wird als erstes, der Behaelter als
+   zweites Objekt angegeben. Danach wird der String auf 78 Zeichen
+   umgebrochen.
+   Das Setzen eines leeren Strings unterdrueckt die Ausgabe einer Meldung
+   ganz.
+
+
+BEISPIELE
+=========
+
+   SetProp(P_TOO_MANY_MSG, "Aber der Korb hat doch nur drei Faecher, die"
+                           " sind alle schon voll.");
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_TOO_HEAVY_MSG, P_ENV_TOO_HEAVY_MSG, P_NOINSERT_MSG,
+               P_NOLEAVE_MSG, P_NODROP, P_NOGET
+   Erfolg:     P_PICK_MSG, P_DROP_MSG, P_GIVE_MSG, P_PUT_MSG,
+               P_WEAR_MSG, P_WIELD_MSG
+   Sonstiges:  replace_personal(E), /std/living/put_and_get.c
diff --git a/doc/props/P_TOTAL_AC b/doc/props/P_TOTAL_AC
index 222cffa..baa9cf9 100644
--- a/doc/props/P_TOTAL_AC
+++ b/doc/props/P_TOTAL_AC
@@ -1,23 +1,42 @@
-NAME:
-    P_TOTAL_AC                    "total_ac"                    
 
-DEFINIERT IN:
-    /sys/living/combat.h
+P_TOTAL_AC
+**********
 
-BESCHREIBUNG:
-     Numerischer Wert der Abwehrstaerke des Wesens.
-     Dieser wird durch Aufaddieren der P_AC aller getragenen Ruestungen
-     bestimmt. Aus diesem Grund ist das Abfragen dieser Property ziemlich
-     teuer. Falls das Ergebnis mehrfach kurz hintereinander gebraucht wird,
-     sollte die Property auf jeden Fall nur einmal abgefragt und der Wert
-     gespeichert werden.
 
-BEMERKUNGEN:
-    Auf diese Property sollte nicht mittels Query() oder Set() zugegriffen
-    werden, das Setzen von Query- oder Setmethoden bitte auf jeden Fall
-    unterlassen.
+NAME
+====
 
-SIEHE AUCH:
-    P_AC
+   P_TOTAL_AC                    "total_ac"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert der Abwehrstaerke des Wesens.
+   Dieser wird durch Aufaddieren der P_AC aller getragenen Ruestungen
+   bestimmt. Aus diesem Grund ist das Abfragen dieser Property ziemlich
+   teuer. Falls das Ergebnis mehrfach kurz hintereinander gebraucht wird,
+   sollte die Property auf jeden Fall nur einmal abgefragt und der Wert
+   gespeichert werden.
+
+
+BEMERKUNGEN
+===========
+
+   Auf diese Property sollte nicht mittels Query() oder Set() zugegriffen
+   werden, das Setzen von Query- oder Setmethoden bitte auf jeden Fall
+   unterlassen.
+
+
+SIEHE AUCH
+==========
+
+   P_AC
 
 05.09.2008, Zesstra
diff --git a/doc/props/P_TOTAL_LIGHT b/doc/props/P_TOTAL_LIGHT
index 41006d2..f4f0083 100644
--- a/doc/props/P_TOTAL_LIGHT
+++ b/doc/props/P_TOTAL_LIGHT
@@ -1,23 +1,42 @@
-NAME:
-    P_TOTAL_LIGHT                 "total_light"
 
-DEFINIERT IN:
-    /sys/properties.h
+P_TOTAL_LIGHT
+*************
 
-BESCHREIBUNG:
-    Gibt das Lichtlevel an, das von einem Objekt ausgeht. Hierzu wird das
-    eigene Lichtlevel P_LIGHT mit dem gesamten Inhalt eines Containers
-    verrechnet.
 
-    Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
-    da das Lichtlevel ggf. neu berechnet werden muss!
+NAME
+====
 
-    Ein direktes setzen dieser Property ist NICHT moeglich, hierzu bitte
-    P_LIGHT benutzen!
+   P_TOTAL_LIGHT                 "total_light"
 
-BEMERKUNGEN:
-    Das ist die VON einem Objekt ausgehende Lichtstaerke. Fuer das IN einem
-    Raum herrschende Licht bitte P_INT_LIGHT abfragen!
 
-SIEHE AUCH:
-    P_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Gibt das Lichtlevel an, das von einem Objekt ausgeht. Hierzu wird das
+   eigene Lichtlevel P_LIGHT mit dem gesamten Inhalt eines Containers
+   verrechnet.
+
+   Bitte _nur_ ueber QueryProp auf diese Property zugreifen,
+   da das Lichtlevel ggf. neu berechnet werden muss!
+
+   Ein direktes setzen dieser Property ist NICHT moeglich, hierzu bitte
+   P_LIGHT benutzen!
+
+
+BEMERKUNGEN
+===========
+
+   Das ist die VON einem Objekt ausgehende Lichtstaerke. Fuer das IN einem
+   Raum herrschende Licht bitte P_INT_LIGHT abfragen!
+
+
+SIEHE AUCH
+==========
+
+   P_LIGHT, P_INT_LIGHT, P_PLAYER_LIGHT, P_LIGHT_MODIFIER, CannotSee()
diff --git a/doc/props/P_TOTAL_OBJECTS b/doc/props/P_TOTAL_OBJECTS
index 5f01567..4e2d009 100644
--- a/doc/props/P_TOTAL_OBJECTS
+++ b/doc/props/P_TOTAL_OBJECTS
@@ -1,16 +1,32 @@
-NAME:
-    P_TOTAL_OBJECTS                "total_objects"                
 
-DEFINIERT IN:
-    /sys/container.h
+P_TOTAL_OBJECTS
+***************
 
-BESCHREIBUNG:
-     Anzahl der Objekte im Container. Diese Property kann man nur abfragen!
-     Es werden nur Objekte gezaehlt, deren Methode short() einen
-     Wert != 0 zurueckgibt. Insofern koennen Spielern beliebig
-     viele unsichtbare Objekte gegeben werden ohne sie zu behindern.
 
-SIEHE AUCH:
-     P_MAX_OBJECTS
+NAME
+====
+
+   P_TOTAL_OBJECTS                "total_objects"
+
+
+DEFINIERT IN
+============
+
+   /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der Objekte im Container. Diese Property kann man nur abfragen!
+   Es werden nur Objekte gezaehlt, deren Methode short() einen
+   Wert != 0 zurueckgibt. Insofern koennen Spielern beliebig
+   viele unsichtbare Objekte gegeben werden ohne sie zu behindern.
+
+
+SIEHE AUCH
+==========
+
+   P_MAX_OBJECTS
 
 26.Jan 2005 Gloinson
diff --git a/doc/props/P_TOTAL_WC b/doc/props/P_TOTAL_WC
index 35ef4a9..19349f0 100644
--- a/doc/props/P_TOTAL_WC
+++ b/doc/props/P_TOTAL_WC
@@ -1,27 +1,45 @@
-NAME:
-	P_TOTAL_WC			"total_wc"
 
-DEFINIERT IN:
-	/sys/properties.h
+P_TOTAL_WC
+**********
 
-BESCHREIBUNG:
-	In dieser Property wird der numerische Wert der Angriffsstaerke
-	eines Lebewesens registriert.
-  Hierzu werden die P_WC von P_WEAPON bzw. P_HANDS sowie die Kraft des
-  Lebewesens beruecksichtigt.
-	Nicht eingerechnet in die Angriffsstaerke sind natuerlich Extraspells und
-  -skills des Angreifers.
-  Braucht man den Wert mehrfach kurz hintereinander, sollte man die Prop aber
-  nur einmal abfragen und den Wert speichern (sofern sich in der Zwischenzeit
-  nichts an der Waffe, den Hands oder den Attributen des Lebenwesens aendert).
 
-BEMERKUNGEN:
-  Auf diese Property sollte nicht mittels Query() oder Set() zugegriffen 
-  werden, das Setzen von Query- oder Setmethoden bitte auf jeden Fall 
-  unterlassen.
+NAME
+====
 
-SIEHE AUCH:
-	P_HANDS, P_WC, P_XP
+   P_TOTAL_WC                      "total_wc"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+         In dieser Property wird der numerische Wert der Angriffsstaerke
+         eines Lebewesens registriert.
+   Hierzu werden die P_WC von P_WEAPON bzw. P_HANDS sowie die Kraft des
+   Lebewesens beruecksichtigt.
+         Nicht eingerechnet in die Angriffsstaerke sind natuerlich Extraspells und
+   -skills des Angreifers.
+   Braucht man den Wert mehrfach kurz hintereinander, sollte man die Prop aber
+   nur einmal abfragen und den Wert speichern (sofern sich in der Zwischenzeit
+   nichts an der Waffe, den Hands oder den Attributen des Lebenwesens aendert).
+
+
+BEMERKUNGEN
+===========
+
+   Auf diese Property sollte nicht mittels Query() oder Set() zugegriffen
+   werden, das Setzen von Query- oder Setmethoden bitte auf jeden Fall
+   unterlassen.
+
+
+SIEHE AUCH
+==========
+
+   P_HANDS, P_WC, P_XP
+
 05.09.2008, Zesstra
diff --git a/doc/props/P_TOTAL_WEIGHT b/doc/props/P_TOTAL_WEIGHT
index 2b62db1..bdb72f6 100644
--- a/doc/props/P_TOTAL_WEIGHT
+++ b/doc/props/P_TOTAL_WEIGHT
@@ -1,8 +1,21 @@
-NAME:
-    P_TOTAL_WEIGHT                "total_weight"                
 
-DEFINIERT IN:
-    /sys/thing/restrictions.h
+P_TOTAL_WEIGHT
+**************
 
-BESCHREIBUNG:
-     Gewicht incl. Inhalt in Gramm. P_WEIGHT_PERCENT wird beruecksichtigt.
+
+NAME
+====
+
+   P_TOTAL_WEIGHT                "total_weight"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/restrictions.h
+
+
+BESCHREIBUNG
+============
+
+   Gewicht incl. Inhalt in Gramm. P_WEIGHT_PERCENT wird beruecksichtigt.
diff --git a/doc/props/P_TOUCH_DETAILS b/doc/props/P_TOUCH_DETAILS
index d0670f6..f4345db 100644
--- a/doc/props/P_TOUCH_DETAILS
+++ b/doc/props/P_TOUCH_DETAILS
@@ -1,24 +1,43 @@
-NAME:
-    P_TOUCH_DETAILS            "touch_details"
 
-DEFINIERT IN:
-    /sys/thing/description.h
+P_TOUCH_DETAILS
+***************
 
-BESCHREIBUNG:
-    Diese Property entspricht dem P_DETAILS fuer Standarddetails,
-    nur werden hierin Gerueche gespeichert:
-    Diese Property enthaelt ein Mapping, in der Details im Objekt
-    definiert werden und Beschreibungen, die ausgegeben werden, wenn man
-    sich diese Details anschaut.
 
-BEMERKUNGEN:
-    Man sollte diese Property nicht per Hand veraendern, sondern die
-    Funktionen nutzen.
+NAME
+====
 
-SIEHE AUCH:
-    Setzen:    AddTouchDetail()
-    Loeschen:  RemoveTouchDetail()
-    Aehnlich:  AddDetail(), P_DETAILS
-    Sonstiges: GetDetail(), break_string()
+   P_TOUCH_DETAILS            "touch_details"
 
-27. Jan 2013 Gloinson
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   /sys/thing/description.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property entspricht dem P_DETAILS fuer Standarddetails,
+   nur werden hierin Gerueche gespeichert:
+   Diese Property enthaelt ein Mapping, in der Details im Objekt
+   definiert werden und Beschreibungen, die ausgegeben werden, wenn man
+   sich diese Details anschaut.
+
+
+BEMERKUNGEN
+===========
+
+   Man sollte diese Property nicht per Hand veraendern, sondern die
+   Funktionen nutzen.
+
+
+SIEHE AUCH
+==========
+
+   Setzen:    AddTouchDetail()
+   Loeschen:  RemoveTouchDetail()
+   Aehnlich:  AddDetail(), P_DETAILS
+   Sonstiges: GetDetail(), break_string()
+
+27. Jan 2013 Gloinson
diff --git a/doc/props/P_TPORT_COST_IN b/doc/props/P_TPORT_COST_IN
index d15e948..f2e51a9 100644
--- a/doc/props/P_TPORT_COST_IN
+++ b/doc/props/P_TPORT_COST_IN
@@ -1,9 +1,22 @@
-NAME:
-    P_TPORT_COST_IN               "tport_cost_in"               
 
-DEFINIERT IN:
-    /sys/properties.h
+P_TPORT_COST_IN
+***************
 
-BESCHREIBUNG:
-     In einem Raum mit Sehertor: Kostenanteil, um sich in den Raum zu
-     teleportieren
+
+NAME
+====
+
+   P_TPORT_COST_IN               "tport_cost_in"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   In einem Raum mit Sehertor: Kostenanteil, um sich in den Raum zu
+   teleportieren
diff --git a/doc/props/P_TPORT_COST_OUT b/doc/props/P_TPORT_COST_OUT
index 369a35d..c97c752 100644
--- a/doc/props/P_TPORT_COST_OUT
+++ b/doc/props/P_TPORT_COST_OUT
@@ -1,9 +1,22 @@
-NAME:
-    P_TPORT_COST_OUT              "tport_cost_out"              
 
-DEFINIERT IN:
-    /sys/properties.h
+P_TPORT_COST_OUT
+****************
 
-BESCHREIBUNG:
-     In einem Raum mit Sehertor: Kostenanteil, sich aus dem Raum heraus
-     zu teleportieren
+
+NAME
+====
+
+   P_TPORT_COST_OUT              "tport_cost_out"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   In einem Raum mit Sehertor: Kostenanteil, sich aus dem Raum heraus
+   zu teleportieren
diff --git a/doc/props/P_TRANK_FINDEN b/doc/props/P_TRANK_FINDEN
index 8db2365..a3e270d 100644
--- a/doc/props/P_TRANK_FINDEN
+++ b/doc/props/P_TRANK_FINDEN
@@ -1,9 +1,22 @@
-NAME:
-    P_TRANK_FINDEN                "trank_finden"                
 
-DEFINIERT IN:
-    /sys/player/potion.h
+P_TRANK_FINDEN
+**************
 
-BESCHREIBUNG:
-     Wenn die Property auf 1 steht kann immer ein Zaubertrank gefunden
-     werden, auch wenn er nicht in der Liste des Spielers steht.
+
+NAME
+====
+
+   P_TRANK_FINDEN                "trank_finden"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/potion.h
+
+
+BESCHREIBUNG
+============
+
+   Wenn die Property auf 1 steht kann immer ein Zaubertrank gefunden
+   werden, auch wenn er nicht in der Liste des Spielers steht.
diff --git a/doc/props/P_TRANSPARENT b/doc/props/P_TRANSPARENT
index a081b00..56c0558 100644
--- a/doc/props/P_TRANSPARENT
+++ b/doc/props/P_TRANSPARENT
@@ -1,29 +1,46 @@
+
 P_TRANSPARENT
-NAME:
-     P_TRANSPARENT                 "transparent"
+*************
 
-DEFINIERT IN:
-     /sys/container.h
 
-BESCHREIBUNG:
-     ist != 0, wenn in einen Container hinein (offen) oder aus einem 
-     hinausgeschaut werden kann.
+NAME
+====
 
-     Schaut man aus einem hinaus, erhaelt der Spieler normalerweise die 
-     Meldung 'Ausserhalb siehst Du:'. Diese kann jedoch durch eine eigene, 
-     stimmigere  Meldung ersetzt werden, wenn in P_TRANSPARENT ein String 
-     mit dieser Meldung angegeben wird.
+   P_TRANSPARENT                 "transparent"
 
-BEISPIEL:
-     SetProp(P_TRANSPARENT,1); -> normale Meldung
 
-     SetProp(P_TRANSPARENT,"Vom Ruecken des Pferdes aus siehst Du:\n");
+DEFINIERT IN
+============
 
-     Diese Meldung ist natuerlich nur dann sinnvoll, wenn es sich
-     auch tatsaechlich um ein Pferd handelt :-)
+   /sys/container.h
 
-SIEHE AUCH:
-     int_long()
 
-----------------------------------------------------------------------------
+BESCHREIBUNG
+============
+
+   ist != 0, wenn in einen Container hinein (offen) oder aus einem
+   hinausgeschaut werden kann.
+
+   Schaut man aus einem hinaus, erhaelt der Spieler normalerweise die
+   Meldung 'Ausserhalb siehst Du:'. Diese kann jedoch durch eine eigene,
+   stimmigere  Meldung ersetzt werden, wenn in P_TRANSPARENT ein String
+   mit dieser Meldung angegeben wird.
+
+
+BEISPIEL
+========
+
+   SetProp(P_TRANSPARENT,1); -> normale Meldung
+
+   SetProp(P_TRANSPARENT,"Vom Ruecken des Pferdes aus siehst Du:\n");
+
+   Diese Meldung ist natuerlich nur dann sinnvoll, wenn es sich
+   auch tatsaechlich um ein Pferd handelt :-)
+
+
+SIEHE AUCH
+==========
+
+   int_long()
+
 Last modified: Mon Jul 18 24:00:00 2001 by Tilly
diff --git a/doc/props/P_TRAVEL_CMDS b/doc/props/P_TRAVEL_CMDS
index 32f6f65..3f9b0d5 100644
--- a/doc/props/P_TRAVEL_CMDS
+++ b/doc/props/P_TRAVEL_CMDS
@@ -1,38 +1,62 @@
-NAME:
-    P_TRAVEL_CMDS                   "travel_cmds"                   
 
-DEFINIERT IN:
-    /sys/transport.h
+P_TRAVEL_CMDS
+*************
 
-BESCHREIBUNG:
-    Ein Array mit Befehlen, die zum Verlassen UND Betreten des Trans-
-    porters fuehren. 
 
-BEISPIEL:
-    void create()
-    {
-      ::create();
+NAME
+====
 
-      SetProp(P_TRAVEL_CMDS,({ "steig","steige" }) );
+   P_TRAVEL_CMDS                   "travel_cmds"
 
-    }
 
-    Als Parameter werden hier ausschliesslich 'auf,in' und 'von,aus'
-    verarbeitet.
+DEFINIERT IN
+============
 
-    steige auf|in  <xxx>    fuehrt also zum Betreten des Transporters,
-    steige von|aus <xxx>    dagegen fuehrt zum Verlassen desselben.
+   /sys/transport.h
 
-BEMERKUNGEN:
-    Um /std/transport.c nicht aufzublaehen, werden weitere Parameter wie
-    etwa 'steige auf|in das|die|den xxx' _nicht_ unterstuetzt!
 
-    Hier muss der verantwortliche Magier schon eine eigene Loesung finden
-    und in seinen Transporter schreiben.
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-    P_LEAVEFAIL, P_ENTERFAIL, P_ENTERCMDS, P_LEAVECMDS, transporter,
+   Ein Array mit Befehlen, die zum Verlassen UND Betreten des Trans-
+   porters fuehren.
 
-LETZTER AENDERUNG:
-    Don, 24.01.2002, 10:15:07h von Tilly
-    
\ No newline at end of file
+
+BEISPIEL
+========
+
+   void create()
+   {
+     ::create();
+
+     SetProp(P_TRAVEL_CMDS,({ "steig","steige" }) );
+
+   }
+
+   Als Parameter werden hier ausschliesslich 'auf,in' und 'von,aus'
+   verarbeitet.
+
+   steige auf|in  <xxx>    fuehrt also zum Betreten des Transporters,
+   steige von|aus <xxx>    dagegen fuehrt zum Verlassen desselben.
+
+
+BEMERKUNGEN
+===========
+
+   Um /std/transport.c nicht aufzublaehen, werden weitere Parameter wie
+   etwa 'steige auf|in das|die|den xxx' _nicht_ unterstuetzt!
+
+   Hier muss der verantwortliche Magier schon eine eigene Loesung finden
+   und in seinen Transporter schreiben.
+
+
+SIEHE AUCH
+==========
+
+   P_LEAVEFAIL, P_ENTERFAIL, P_ENTERCMDS, P_LEAVECMDS, transporter,
+
+
+LETZTER AENDERUNG
+=================
+
+   Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_TRAVEL_INFO b/doc/props/P_TRAVEL_INFO
index b3a502e..720e9ec 100644
--- a/doc/props/P_TRAVEL_INFO
+++ b/doc/props/P_TRAVEL_INFO
@@ -1,31 +1,53 @@
-NAME:
-    P_TRAVEL_INFO                 "travel_info"
 
-DEFINIERT IN:
-    /sys/transport.h
+P_TRAVEL_INFO
+*************
 
-BESCHREIBUNG:
-    Array mit Informationen zur vom Spieler gewuenschten Reiseroute.
 
-    [0]        Der Raum (object), in dem die Reiseroute momentan 
-               'aktiv' ist. Nur hier wird sie beruecksichtigt.
+NAME
+====
 
-    [1]        Das gewuenschte Transportmittel (object) falls 
-               gewaehlt. Ansonsten 0.
+   P_TRAVEL_INFO                 "travel_info"
 
-    [2]        Der gewuenschte Zielort (string) oder 0 (ziellos).
 
-    [3]        Der gewuenschte Zielort als Richtung (string), falls
-               gewaehlt (z.B. 'zur Feuerinsel'). Sonst 0. Wird aus
-               P_HARBOUR des Zielraumes ausgelesen.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-    Diese Property wird von /std/transport.c sowie std/player/travel.c
-    verwendet, und sollte NICHT von anderen Objekten oder per Hand 
-    veraendert werden!
+   /sys/transport.h
 
-SIEHE AUCH:
-    /std/transport.c, /std/player/travel.c, reise
 
-LETZTER AENDERUNG:
-    Don, 24.01.2002, 10:15:07h von Tilly
+BESCHREIBUNG
+============
+
+   Array mit Informationen zur vom Spieler gewuenschten Reiseroute.
+
+   [0]        Der Raum (object), in dem die Reiseroute momentan
+              'aktiv' ist. Nur hier wird sie beruecksichtigt.
+
+   [1]        Das gewuenschte Transportmittel (object) falls
+              gewaehlt. Ansonsten 0.
+
+   [2]        Der gewuenschte Zielort (string) oder 0 (ziellos).
+
+   [3]        Der gewuenschte Zielort als Richtung (string), falls
+              gewaehlt (z.B. 'zur Feuerinsel'). Sonst 0. Wird aus
+              P_HARBOUR des Zielraumes ausgelesen.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property wird von /std/transport.c sowie std/player/travel.c
+   verwendet, und sollte NICHT von anderen Objekten oder per Hand
+   veraendert werden!
+
+
+SIEHE AUCH
+==========
+
+   /std/transport.c, /std/player/travel.c, reise
+
+
+LETZTER AENDERUNG
+=================
+
+   Don, 24.01.2002, 10:15:07h von Tilly
diff --git a/doc/props/P_TRAY b/doc/props/P_TRAY
index 34c9d90..0c394d4 100644
--- a/doc/props/P_TRAY
+++ b/doc/props/P_TRAY
@@ -1,8 +1,21 @@
-NAME:
-    P_TRAY                        "tray"                        
 
-DEFINIERT IN:
-    /sys/properties.h
+P_TRAY
+******
 
-BESCHREIBUNG:
-    *** KEINE BESCHREIBUNG VORHANDEN ***
+
+NAME
+====
+
+   P_TRAY                        "tray"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/props/P_TTY b/doc/props/P_TTY
index 9e4aded..87841fd 100644
--- a/doc/props/P_TTY
+++ b/doc/props/P_TTY
@@ -1,28 +1,45 @@
-NAME:
-    P_TTY                         "tty"
 
-DEFINIERT IN:
-    /secure/telnetneg.h
+P_TTY
+*****
 
-BESCHREIBUNG:
-     Name der Terminalemulation, die der Spieler nutzt.
-     Es existieren bisher "dumb", "vt100" und "ansi".
 
-	
-ANMERKUNG:
-     Farben duerfen ausschliesslich bei P_TTY=="ansi" benutzt werden.
-     Bei nicht farbfaehigen Terminals koennen ANSI-Codes die gesamte
-     Ausgabe zerschiessen!
+NAME
+====
 
-     Die Attribute fett, unterstrichen, blinkend und invers koennen auch
-     schon von vt100-Terminals dargestellt werden. Aber nicht ueberall
-     sind alle Attribute/Farben implementiert.
+   P_TTY                         "tty"
 
-     Bei allen ANSI-Codes sind drei Sachen zu beachten:
-     
-        1) Sparsam benutzen! Aufgezwungene Hervorhebungen koennen
-	   Spieler ganz schnell nerven.
 
-	2) Nicht jeder benutzt dieselbe Hintergrundfarbe!
+DEFINIERT IN
+============
 
-	3) Sparsam benutzen! Beser noch: nur im Notfall!
+   /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+   Name der Terminalemulation, die der Spieler nutzt.
+   Es existieren bisher "dumb", "vt100" und "ansi".
+
+
+ANMERKUNG
+=========
+
+   Farben duerfen ausschliesslich bei P_TTY=="ansi" benutzt werden.
+   Bei nicht farbfaehigen Terminals koennen ANSI-Codes die gesamte
+   Ausgabe zerschiessen!
+
+   Die Attribute fett, unterstrichen, blinkend und invers koennen auch
+   schon von vt100-Terminals dargestellt werden. Aber nicht ueberall
+   sind alle Attribute/Farben implementiert.
+
+   Bei allen ANSI-Codes sind drei Sachen zu beachten:
+
+
+
+      1) Sparsam benutzen! Aufgezwungene Hervorhebungen koennen
+         Spieler ganz schnell nerven.
+
+      2) Nicht jeder benutzt dieselbe Hintergrundfarbe!
+
+      3) Sparsam benutzen! Beser noch: nur im Notfall!
diff --git a/doc/props/P_TTY_COLS b/doc/props/P_TTY_COLS
index 1716a33..8780417 100644
--- a/doc/props/P_TTY_COLS
+++ b/doc/props/P_TTY_COLS
@@ -1,22 +1,40 @@
-NAME:
-    P_TTY_COLS                                  "tty_cols"
 
-DEFINIERT IN:
-    /secure/telnetneg.h
+P_TTY_COLS
+**********
 
-BESCHREIBUNG:
-    In dieser Properties steht die Anzahl der Spalten, die das 
-    Terminalfenster des Spielers derzeit hat.
 
-    Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
-    Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
-    leer.
-    Das Setzen der Property aendert die Fenstergroesse des Spielers
-    natuerlich nicht.
+NAME
+====
 
-SIEHE AUCH:
-    P_TTY_ROWS, P_TTY_TYPE, P_TTY_SHOW
+   P_TTY_COLS                                  "tty_cols"
 
-LETZTE AeNDERUNG:
-    Sat, 06.02.1999, 14:00:00 von Paracelsus
 
+DEFINIERT IN
+============
+
+   /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Properties steht die Anzahl der Spalten, die das
+   Terminalfenster des Spielers derzeit hat.
+
+   Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
+   Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
+   leer.
+   Das Setzen der Property aendert die Fenstergroesse des Spielers
+   natuerlich nicht.
+
+
+SIEHE AUCH
+==========
+
+   P_TTY_ROWS, P_TTY_TYPE, P_TTY_SHOW
+
+
+LETZTE AeNDERUNG
+================
+
+   Sat, 06.02.1999, 14:00:00 von Paracelsus
diff --git a/doc/props/P_TTY_ROWS b/doc/props/P_TTY_ROWS
index 1294d9b..7289109 100644
--- a/doc/props/P_TTY_ROWS
+++ b/doc/props/P_TTY_ROWS
@@ -1,22 +1,40 @@
-NAME:
-    P_TTY_ROWS                                  "tty_rows"
 
-DEFINIERT IN:
-    /secure/telnetneg.h
+P_TTY_ROWS
+**********
 
-BESCHREIBUNG:
-    In dieser Properties steht die Anzahl der Zeilen, die das
-    Terminalfenster des Spielers derzeit hat.
 
-    Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
-    Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
-    leer.
-    Das Setzen der Property aendert die Fenstergroesse des Spielers
-    natuerlich nicht.
+NAME
+====
 
-SIEHE AUCH:
-    P_TTY_COLS, P_TTY_TYPE, P_TTY_SHOW
+   P_TTY_ROWS                                  "tty_rows"
 
-LETZTE AeNDERUNG:
-    Sat, 06.02.1999, 14:00:00 von Paracelsus
 
+DEFINIERT IN
+============
+
+   /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Properties steht die Anzahl der Zeilen, die das
+   Terminalfenster des Spielers derzeit hat.
+
+   Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
+   Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
+   leer.
+   Das Setzen der Property aendert die Fenstergroesse des Spielers
+   natuerlich nicht.
+
+
+SIEHE AUCH
+==========
+
+   P_TTY_COLS, P_TTY_TYPE, P_TTY_SHOW
+
+
+LETZTE AeNDERUNG
+================
+
+   Sat, 06.02.1999, 14:00:00 von Paracelsus
diff --git a/doc/props/P_TTY_SHOW b/doc/props/P_TTY_SHOW
index f727433..a43076f 100644
--- a/doc/props/P_TTY_SHOW
+++ b/doc/props/P_TTY_SHOW
@@ -1,17 +1,35 @@
-NAME:
-    P_TTY_SHOW                                  "tty_show"
 
-DEFINIERT IN:
-    /secure/telnetneg.h
+P_TTY_SHOW
+**********
 
-BESCHREIBUNG:
-    Bei Telnets, die Telnetnegotiations unterstuetzen, wird eine Aenderung
-    der Fenstergroesse dem Spielerobjekt mitgeteilt. Steht in P_TTY_SHOW
-    ein Wert ungleich Null, wird dem Spieler diese Aenderung mitgeteilt.
 
-SIEHE AUCH:
-    P_TTY_ROWS, P_TTY_COLS, P_TTY_TYPE, telnegs
+NAME
+====
 
-LETZTE AeNDERUNG:
-    Sat, 06.02.1999, 14:00:00 von Paracelsus
+   P_TTY_SHOW                                  "tty_show"
 
+
+DEFINIERT IN
+============
+
+   /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+   Bei Telnets, die Telnetnegotiations unterstuetzen, wird eine Aenderung
+   der Fenstergroesse dem Spielerobjekt mitgeteilt. Steht in P_TTY_SHOW
+   ein Wert ungleich Null, wird dem Spieler diese Aenderung mitgeteilt.
+
+
+SIEHE AUCH
+==========
+
+   P_TTY_ROWS, P_TTY_COLS, P_TTY_TYPE, telnegs
+
+
+LETZTE AeNDERUNG
+================
+
+   Sat, 06.02.1999, 14:00:00 von Paracelsus
diff --git a/doc/props/P_TTY_TYPE b/doc/props/P_TTY_TYPE
index 6935b23..5842cb2 100644
--- a/doc/props/P_TTY_TYPE
+++ b/doc/props/P_TTY_TYPE
@@ -1,23 +1,41 @@
-NAME:
-    P_TTY_TYPE                                  "tty_type"
 
-DEFINIERT IN:
-    /secure/telnetneg.h
+P_TTY_TYPE
+**********
 
-BESCHREIBUNG:
-    In dieser Properties steht der Terminaltyp, den ein Spieler lokal auf
-    seinem Rechner verwendet.
 
-    Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
-    Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
-    leer. Die meisten Telnets/Clients geben ihren Terminaltyp allerdings
-    nicht preis.
-    Das Setzen der Property aendert den Terminaltyp des Spielers
-    natuerlich nicht.
+NAME
+====
 
-SIEHE AUCH:
-    P_TTY_COLS, P_TTY_ROWS, P_TTY_SHOW
+   P_TTY_TYPE                                  "tty_type"
 
-LETZTE AeNDERUNG:
-    Sat, 06.02.1999, 14:00:00 von Paracelsus
 
+DEFINIERT IN
+============
+
+   /secure/telnetneg.h
+
+
+BESCHREIBUNG
+============
+
+   In dieser Properties steht der Terminaltyp, den ein Spieler lokal auf
+   seinem Rechner verwendet.
+
+   Voraussetzung hierfuer ist allerdings, dass das Telnet des Spielers
+   Telnetnegotiations unterstuetzt, ansonsten bleibt diese Property
+   leer. Die meisten Telnets/Clients geben ihren Terminaltyp allerdings
+   nicht preis.
+   Das Setzen der Property aendert den Terminaltyp des Spielers
+   natuerlich nicht.
+
+
+SIEHE AUCH
+==========
+
+   P_TTY_COLS, P_TTY_ROWS, P_TTY_SHOW
+
+
+LETZTE AeNDERUNG
+================
+
+   Sat, 06.02.1999, 14:00:00 von Paracelsus
diff --git a/doc/props/P_UNIT_DECAY_FLAGS b/doc/props/P_UNIT_DECAY_FLAGS
index f924ff7..25a5ed1 100644
--- a/doc/props/P_UNIT_DECAY_FLAGS
+++ b/doc/props/P_UNIT_DECAY_FLAGS
@@ -1,70 +1,90 @@
+
 P_UNIT_DECAY_FLAGS
+******************
 
-NAME:
-     P_UNIT_DECAY_FLAGS					"unit_decay_flags"
 
-DEFINIERT IN:
-     /sys/unit.h
+NAME
+====
 
-BESCHREIBUNG:
-     Mit dieser Prop kann das Zerfallsverhalten gesteuert werden, entweder
-     fuer alle Clones durch Setzen in der Blueprint oder fuer einzelne Clones.
+   P_UNIT_DECAY_FLAGS                                 "unit_decay_flags"
 
-     In dieser Prop koennen momentan 4 Flags gesetzt werden:
-     - NO_DECAY: 
-          Zerfall ist abgeschaltet.
-     - NO_DECAY_UNTIL_MOVE: 
-          Der Zerfall ist solange ausgesetzt, bis dieses Objekt in ein anderes
-          Env bewegt wird. Setzt also ein NPC beim AddItem() diese Prop,
-          zerfaellt seine Unit nicht, bis sie bewegt wurde (Leiche, Spieler
-          etc.). Hierbei zaehlt das move() nicht, wenn das Objekt noch kein
-          Env hatte, es zaehlen nur Moves von einem Env in ein anderes Env.
-          Dieses Flag sollte nur in Clones gesetzt werden.
-     - INACCURATE_DECAY
-          Sollen z.b. 45.34 Einheiten zerfallen, wird der Rest von 0.34
-          normalerweise als Wahrscheinlichkeit aufgefasst, dass eine
-          zusaetzliche Einheit zerfaellt. Dieses Flag sorgt dafuer, dass
-          dieser Rest weggeworfen wird und einfach 45 Einheiten zerfallen.
-          Gleichzeitig wird bei diesem Flag aber _immer min_ 1 Einheit
-          zerstoert!
-     - ABSOLUTE_DECAY
-          P_UNIT_DECAY_QUOTA wird nicht als prozentualer Anteil aufgefasst,
-          sondern als absolute Zahl, d.h. es zerfallen immer einfach
-          P_UNIT_DECAY_QUOTA Einheiten.
 
-     Diese Flags koennen z.B. genutzt werden, den Zerfall fuer einzelne
-     Objekte temporaer oder dauerhaft abzuschalten, auch wenn alle anderen
-     Clones weiterzerfallen.
+DEFINIERT IN
+============
 
-     Diese Prop kann in der Blueprint gesetzt werden. In diesem Fall wird
-     allerdings NO_DECAY_UNTIL_MOVE ignoriert, weil die BP ja nie bewegt
-     wuerde. NO_DECAY in der BP schaltet den Zerfallsprozess (temporaer) fuer
-     alle Clones aus. Ist nie ein Zerfall gewuenscht, sollte in der Blueprint
-     aber besser P_UNIT_DECAY_INTERVAL auf 0 gesetzt werden!
+   /sys/unit.h
 
-     Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
-     liefert ein klon->QueryProp(P_UNIT_DECAY_FLAGS) den in der Blueprint
-     eingestellten Wert zurueck.
-     
-BEMERKUNGEN:
-     * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus der
-       Blueprint zurueckgeben. Hierbei wird allerdings ein NO_DECAY_UNTIL_MOVE
-       ausgefiltert, da dies den Zerfall fuer alle Objekte dauerhaft stoppen
-       wuerde, weil BPs nicht bewegt werden.
-     * Die Flags koennen "verodert" werden:
-       SetProp(P_UNIT_DECAY_FLAGS, NO_DECAY_UNTIL_MOVE | ABSOLUTE_DECAY);
 
-BEISPIEL:
-     // Dieser NPC hat tolle Pfeile, die sollen aber nicht zerfallen, solange
-     // sie im Inventar des NPCs sind:
-     AddItem("/d/tolleregion/tollermagier/obj/pfeile", REFRESH_NONE,
-         ([ P_AMOUNT: 50+random(50),
-            P_UNIT_DECAY_FLAGS: NO_DECAY_UNTIL_MOVE ]) );
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-     unit
-     P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_QUOTA, P_UNIT_DECAY_MIN
-     DoDecay, DoDecayMessage
-     /std/unit.c
+   Mit dieser Prop kann das Zerfallsverhalten gesteuert werden, entweder
+   fuer alle Clones durch Setzen in der Blueprint oder fuer einzelne Clones.
+
+   In dieser Prop koennen momentan 4 Flags gesetzt werden:
+   - NO_DECAY:
+        Zerfall ist abgeschaltet.
+   - NO_DECAY_UNTIL_MOVE:
+        Der Zerfall ist solange ausgesetzt, bis dieses Objekt in ein anderes
+        Env bewegt wird. Setzt also ein NPC beim AddItem() diese Prop,
+        zerfaellt seine Unit nicht, bis sie bewegt wurde (Leiche, Spieler
+        etc.). Hierbei zaehlt das move() nicht, wenn das Objekt noch kein
+        Env hatte, es zaehlen nur Moves von einem Env in ein anderes Env.
+        Dieses Flag sollte nur in Clones gesetzt werden.
+   - INACCURATE_DECAY
+        Sollen z.b. 45.34 Einheiten zerfallen, wird der Rest von 0.34
+        normalerweise als Wahrscheinlichkeit aufgefasst, dass eine
+        zusaetzliche Einheit zerfaellt. Dieses Flag sorgt dafuer, dass
+        dieser Rest weggeworfen wird und einfach 45 Einheiten zerfallen.
+        Gleichzeitig wird bei diesem Flag aber _immer min_ 1 Einheit
+        zerstoert!
+   - ABSOLUTE_DECAY
+        P_UNIT_DECAY_QUOTA wird nicht als prozentualer Anteil aufgefasst,
+        sondern als absolute Zahl, d.h. es zerfallen immer einfach
+        P_UNIT_DECAY_QUOTA Einheiten.
+
+   Diese Flags koennen z.B. genutzt werden, den Zerfall fuer einzelne
+   Objekte temporaer oder dauerhaft abzuschalten, auch wenn alle anderen
+   Clones weiterzerfallen.
+
+   Diese Prop kann in der Blueprint gesetzt werden. In diesem Fall wird
+   allerdings NO_DECAY_UNTIL_MOVE ignoriert, weil die BP ja nie bewegt
+   wuerde. NO_DECAY in der BP schaltet den Zerfallsprozess (temporaer) fuer
+   alle Clones aus. Ist nie ein Zerfall gewuenscht, sollte in der Blueprint
+   aber besser P_UNIT_DECAY_INTERVAL auf 0 gesetzt werden!
+
+   Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
+   liefert ein klon->QueryProp(P_UNIT_DECAY_FLAGS) den in der Blueprint
+   eingestellten Wert zurueck.
+
+
+BEMERKUNGEN
+===========
+
+   * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus der
+     Blueprint zurueckgeben. Hierbei wird allerdings ein NO_DECAY_UNTIL_MOVE
+     ausgefiltert, da dies den Zerfall fuer alle Objekte dauerhaft stoppen
+     wuerde, weil BPs nicht bewegt werden.
+   * Die Flags koennen "verodert" werden:
+     SetProp(P_UNIT_DECAY_FLAGS, NO_DECAY_UNTIL_MOVE | ABSOLUTE_DECAY);
+
+
+BEISPIEL
+========
+
+   // Dieser NPC hat tolle Pfeile, die sollen aber nicht zerfallen, solange
+   // sie im Inventar des NPCs sind:
+   AddItem("/d/tolleregion/tollermagier/obj/pfeile", REFRESH_NONE,
+       ([ P_AMOUNT: 50+random(50),
+          P_UNIT_DECAY_FLAGS: NO_DECAY_UNTIL_MOVE ]) );
+
+
+SIEHE AUCH
+==========
+
+   unit
+   P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_QUOTA, P_UNIT_DECAY_MIN
+   DoDecay, DoDecayMessage
+   /std/unit.c
 
 14.10.2007, Zesstra
diff --git a/doc/props/P_UNIT_DECAY_INTERVAL b/doc/props/P_UNIT_DECAY_INTERVAL
index 93154cd..e0118c3 100644
--- a/doc/props/P_UNIT_DECAY_INTERVAL
+++ b/doc/props/P_UNIT_DECAY_INTERVAL
@@ -1,37 +1,56 @@
+
 P_UNIT_DECAY_INTERVAL
+*********************
 
-NAME:
-     P_UNIT_DECAY_INTERVAL					"unit_decay_interval"
 
-DEFINIERT IN:
-     /sys/unit.h
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Prop bestimmt, wie oft ein Zerfall der entsprechenden Unitobjekte
-     durchgefuehrt wird. Das Intervall ist in Sekunden anzugeben (int).
-     Die Prop muss in der Blueprint der entsprechenden Unitobjekte gesetzt
-     werden, in Clones kann sie nicht gesetzt werden.
-     Die Blueprint resettet dann in diesem Intervall und ruft in allen ihren
-     Clones (und denen alter Versionen der gleichen BP!) DoDecay() auf,
-     woraufhin die Clones den Zerfall durchfuehren.
-     Ist die Prop in der Blueprint nicht gesetzt, erfolgt kein Zerfall.
+   P_UNIT_DECAY_INTERVAL                                      "unit_decay_interval"
 
-BEMERKUNGEN:
-     * Ist die Blueprint nicht geladen, erfolgt kein Zerfall der Clones.
-     * Ein Setzen dieser Prop beinhaltet immer auch einen Aufruf von
-       set_next_reset() auf das ensprechende Intervall.
-     * Die Prop kann in den Clones abgefragt werden und liefert das in der
-       Blueprint eingestellte Intervall.
-     * Von einer Manipulation per Set() wird dringend abgeraten.
-     * Die Prop kann nur vom Objekt selber, vom Programmierer des Objekts, vom
-       RM der entsprechenden Region, von einem Weisen oder von einem Objekt
-       gesetzt werden, welches die gleiche UID hat.
 
-BEISPIEL:
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     unit
-     P_UNIT_DECAY_QUOTA, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_MIN
-     DoDecay(), DoDecayMessage()
+   /sys/unit.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Prop bestimmt, wie oft ein Zerfall der entsprechenden Unitobjekte
+   durchgefuehrt wird. Das Intervall ist in Sekunden anzugeben (int).
+   Die Prop muss in der Blueprint der entsprechenden Unitobjekte gesetzt
+   werden, in Clones kann sie nicht gesetzt werden.
+   Die Blueprint resettet dann in diesem Intervall und ruft in allen ihren
+   Clones (und denen alter Versionen der gleichen BP!) DoDecay() auf,
+   woraufhin die Clones den Zerfall durchfuehren.
+   Ist die Prop in der Blueprint nicht gesetzt, erfolgt kein Zerfall.
+
+
+BEMERKUNGEN
+===========
+
+   * Ist die Blueprint nicht geladen, erfolgt kein Zerfall der Clones.
+   * Ein Setzen dieser Prop beinhaltet immer auch einen Aufruf von
+     set_next_reset() auf das ensprechende Intervall.
+   * Die Prop kann in den Clones abgefragt werden und liefert das in der
+     Blueprint eingestellte Intervall.
+   * Von einer Manipulation per Set() wird dringend abgeraten.
+   * Die Prop kann nur vom Objekt selber, vom Programmierer des Objekts, vom
+     RM der entsprechenden Region, von einem Weisen oder von einem Objekt
+     gesetzt werden, welches die gleiche UID hat.
+
+
+BEISPIEL
+========
+
+
+SIEHE AUCH
+==========
+
+   unit
+   P_UNIT_DECAY_QUOTA, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_MIN
+   DoDecay(), DoDecayMessage()
 
 13.10.2007, Zesstra
diff --git a/doc/props/P_UNIT_DECAY_MIN b/doc/props/P_UNIT_DECAY_MIN
index 79f9c80..b78a735 100644
--- a/doc/props/P_UNIT_DECAY_MIN
+++ b/doc/props/P_UNIT_DECAY_MIN
@@ -1,51 +1,71 @@
+
 P_UNIT_DECAY_MIN
+****************
 
-NAME:
-     P_UNIT_DECAY_MIN					                    "unit_decay_min"
 
-DEFINIERT IN:
-     /sys/unit.h
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Prop bestimmt, wieviele Einheiten der Unitobjekten mindestens
-     uebrig bleiben sollen. 
-     Faellt die Menge eines Unitobjekts unter diesen Wert, zerfaellt diese
-     Unit solange nicht weiter, bis der Wert wieder ueberschritten wird.
-     Die Prop kann in der Blueprint und in den einzelnen Clones gesetzt
-     werden.
-     Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
-     liefert ein QueryProp(P_UNIT_DECAY_MIN) den in der Blueprint
-     eingestellten Wert zurueck und die Unit zerfaellt bis zu dieser
-     Mindestmenge..
-     D.h. man sollte diese Prop in der Blueprint setzen und in einzelnen
-     Clones nur soweit diese abweichende Werte haben sollen.
-     Es sind nur Werte zwischen 0 und 100 zulaessig. Auf diese Art laesst sich
-     die minidestens uebrig bleibende Menge aller Clones durch Aendern einer
-     Prop in der Blueprint aendern.
+   P_UNIT_DECAY_MIN                                                       "unit_decay_min"
 
-BEMERKUNGEN:
-     * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus er
-       Blueprint zum Zerfall benutzt.
-     * Will man fuer ein bestimmtes Unitobjekt kein Minimum haben, also dass
-       dieses Objekt zerfaellt, bis nichts mehr da ist, die Blueprint hat aber
-       einen Minimalwert gesetzt, sollte diese Prop im betreffenden Objekt auf
-       -1 gesetzt werden.
-     * Diese Prop sollte vorsichtig angewandt werden, da Spieler so den
-       Zerfall von Units stoppen koennen, indem sie die Units entsprechend
-       aufteilen, so dass jedes Einzelobjekt unter dem Minimum liegt.
 
-BEISPIEL:
-     // es soll min. 1 Einheit uebrig bleiben.
-     SetProp(P_UNIT_DECAY_MIN, 1);
+DEFINIERT IN
+============
 
-     // die Blueprint hat ein Minimum von 10 gesetzt, dieser Clone soll
-     // aber zerfallen, bis nix mehr da ist.
-     klon->SetProp(P_UNIT_DECAY_MIN, -1);
+   /sys/unit.h
 
-SIEHE AUCH:
-     unit
-     P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_QUOTA
-     DoDecay, DoDecayMessage
-     /std/unit.c
+
+BESCHREIBUNG
+============
+
+   Diese Prop bestimmt, wieviele Einheiten der Unitobjekten mindestens
+   uebrig bleiben sollen.
+   Faellt die Menge eines Unitobjekts unter diesen Wert, zerfaellt diese
+   Unit solange nicht weiter, bis der Wert wieder ueberschritten wird.
+   Die Prop kann in der Blueprint und in den einzelnen Clones gesetzt
+   werden.
+   Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
+   liefert ein QueryProp(P_UNIT_DECAY_MIN) den in der Blueprint
+   eingestellten Wert zurueck und die Unit zerfaellt bis zu dieser
+   Mindestmenge..
+   D.h. man sollte diese Prop in der Blueprint setzen und in einzelnen
+   Clones nur soweit diese abweichende Werte haben sollen.
+   Es sind nur Werte zwischen 0 und 100 zulaessig. Auf diese Art laesst sich
+   die minidestens uebrig bleibende Menge aller Clones durch Aendern einer
+   Prop in der Blueprint aendern.
+
+
+BEMERKUNGEN
+===========
+
+   * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus er
+     Blueprint zum Zerfall benutzt.
+   * Will man fuer ein bestimmtes Unitobjekt kein Minimum haben, also dass
+     dieses Objekt zerfaellt, bis nichts mehr da ist, die Blueprint hat aber
+     einen Minimalwert gesetzt, sollte diese Prop im betreffenden Objekt auf
+     -1 gesetzt werden.
+   * Diese Prop sollte vorsichtig angewandt werden, da Spieler so den
+     Zerfall von Units stoppen koennen, indem sie die Units entsprechend
+     aufteilen, so dass jedes Einzelobjekt unter dem Minimum liegt.
+
+
+BEISPIEL
+========
+
+   // es soll min. 1 Einheit uebrig bleiben.
+   SetProp(P_UNIT_DECAY_MIN, 1);
+
+   // die Blueprint hat ein Minimum von 10 gesetzt, dieser Clone soll
+   // aber zerfallen, bis nix mehr da ist.
+   klon->SetProp(P_UNIT_DECAY_MIN, -1);
+
+
+SIEHE AUCH
+==========
+
+   unit
+   P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_QUOTA
+   DoDecay, DoDecayMessage
+   /std/unit.c
 
 14.10.2007, Zesstra
diff --git a/doc/props/P_UNIT_DECAY_QUOTA b/doc/props/P_UNIT_DECAY_QUOTA
index 9144564..0b4c9a6 100644
--- a/doc/props/P_UNIT_DECAY_QUOTA
+++ b/doc/props/P_UNIT_DECAY_QUOTA
@@ -1,45 +1,69 @@
+
+P_UNIT_DECAY_QUOTA
+******************
+
+
 P_UNIT_DECAY_QUOTA (int)
+========================
 
-NAME:
-     P_UNIT_DECAY_QUOTA					"unit_decay_quota"
 
-DEFINIERT IN:
-     /sys/unit.h
+NAME
+====
 
-BESCHREIBUNG:
-     Diese Prop bestimmt, welcher Anteil der einzelnen Unitobjekte pro Zerfall
-     zerstoert wird. Dieser Anteil wird als ganze Zahl zwischen 0 und 10000
-     ausgedrueckt. 1 entspricht einem Zerfall von 0.01%, 10000 entspricht
-     100%.
-     Momentan sind keine Werte < 0 zulaessig, die einem Zuwachs entsprechend
-     wurden.
+   P_UNIT_DECAY_QUOTA                                 "unit_decay_quota"
 
-     Falls das Flag ABSOLUTE_DECAY (s. P_UNIT_DECAY_FLAGS) gesetzt ist, steht
-     die Zahl in dieser Prop fuer die absolute Anzahl an zu zerstoerenden
-     Einheiten.
 
-     Die Prop kann in der Blueprint und in den einzelnen Clones gesetzt
-     werden.
-     Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
-     liefert ein QueryProp(P_UNIT_DECAY_QUOTA) den in der Blueprint
-     eingestellten Wert zurueck und die Unit zerfaellt zu diesem Anteil.
-     D.h. man sollte diese Prop in der Blueprint setzen und in einzelnen
-     Clones nur soweit diese abweichende Zerfallsraten haben sollen.
+DEFINIERT IN
+============
 
-BEMERKUNGEN:
-     * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus er
-       Blueprint zum Zerfall benutzt.
-     * Will man den Zerfall fuer ein bestimmtes Unitobjekt abschalten, sollte
-       man P_UNIT_DECAY_FLAGS benutzen.
+   /sys/unit.h
 
-BEISPIEL:
-     // pro Zerfallsintervall sollen 12% zerfallen.
-     SetProp(P_UNIT_DECAY_QUOTA, 1200);
 
-SIEHE AUCH:
-     unit
-     P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_MIN
-     DoDecay, DoDecayMessage
-     /std/unit.c
+BESCHREIBUNG
+============
+
+   Diese Prop bestimmt, welcher Anteil der einzelnen Unitobjekte pro Zerfall
+   zerstoert wird. Dieser Anteil wird als ganze Zahl zwischen 0 und 10000
+   ausgedrueckt. 1 entspricht einem Zerfall von 0.01%, 10000 entspricht
+   100%.
+   Momentan sind keine Werte < 0 zulaessig, die einem Zuwachs entsprechend
+   wurden.
+
+   Falls das Flag ABSOLUTE_DECAY (s. P_UNIT_DECAY_FLAGS) gesetzt ist, steht
+   die Zahl in dieser Prop fuer die absolute Anzahl an zu zerstoerenden
+   Einheiten.
+
+   Die Prop kann in der Blueprint und in den einzelnen Clones gesetzt
+   werden.
+   Ist die Prop in einem einzelnen Clone nicht explizit gesetzt,
+   liefert ein QueryProp(P_UNIT_DECAY_QUOTA) den in der Blueprint
+   eingestellten Wert zurueck und die Unit zerfaellt zu diesem Anteil.
+   D.h. man sollte diese Prop in der Blueprint setzen und in einzelnen
+   Clones nur soweit diese abweichende Zerfallsraten haben sollen.
+
+
+BEMERKUNGEN
+===========
+
+   * Setzt man diese Prop in einem Clone auf 0, wird der Wert aus er
+     Blueprint zum Zerfall benutzt.
+   * Will man den Zerfall fuer ein bestimmtes Unitobjekt abschalten, sollte
+     man P_UNIT_DECAY_FLAGS benutzen.
+
+
+BEISPIEL
+========
+
+   // pro Zerfallsintervall sollen 12% zerfallen.
+   SetProp(P_UNIT_DECAY_QUOTA, 1200);
+
+
+SIEHE AUCH
+==========
+
+   unit
+   P_UNIT_DECAY_INTERVAL, P_UNIT_DECAY_FLAGS, P_UNIT_DECAY_MIN
+   DoDecay, DoDecayMessage
+   /std/unit.c
 
 14.03.2008, Zesstra
diff --git a/doc/props/P_UNWEAR_MSG b/doc/props/P_UNWEAR_MSG
index 1ee0d80..0b2e89a 100644
--- a/doc/props/P_UNWEAR_MSG
+++ b/doc/props/P_UNWEAR_MSG
@@ -1,56 +1,78 @@
+
 P_UNWEAR_MSG
-NAME:
-     P_UNWEAR_MSG                       "unwear_msg"     
+************
 
-DEFINIERT IN:
-     /sys/armour.h
 
-BESCHREIBUNG:
-     Zweiteiliges Array mit Meldungen, die beim Ausziehen einer Ruestung 
-     oder Kleidung an den Spieler und die Umgebung ausgegeben werden.
-     Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
-     Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
-     jedoch beruecksichtigt.
+NAME
+====
 
-     Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
-     man replace_personal()).
+   P_UNWEAR_MSG                       "unwear_msg"
 
-     [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
-      moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
-      in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
-      den Waffennamen.]
 
-BEISPIELE:
-    SetProp(P_NAME, "Mantel");
-    SetProp(P_UNWEAR_MSG,
-     ({"Du reisst Dir @WEN2 vom Leib.",
-       "@WER1 reisst sich @WENU2 vom Leib." }));
+DEFINIERT IN
+============
 
-    -> beim Ausziehen durch Urk:
-       Urk bekommt: Du reisst dir den Mantel vom Leib.
-       Der Raum:    Urk reisst sich einen Mantel vom Leib.
+   /sys/armour.h
 
-    SetProp(P_UNWEAR_MSG,
-     ({"Dir wird furchtbar warm. So eine Hitze aber auch. Schnell "
-       "schluepfst Du aus Deiner dicken Ruestung. Aaaah, was fuer "
-       "eine Wohltat.",
-       "@WEM1 scheint ploetzlich warm zu werden. Schnell schluepft "
-       "@WERQP1 aus @WEMQPPFS1 dicken Ruestung. Du hoffst instaendig, "
-       "das es noch etwas waermer wird ... "}));
 
-    -> beim Ausziehen durch Urk:
-       Urk bekommt: Dir wird furchtbar warm. So eine Hitze aber auch.
-		    Schnell schluepfst Du aus Deiner dicken Ruestung.
-		    Aaaah, was fuer eine Wohltat.
-       Der Raum:    Urk scheint ploetzlich warm zu werden. Schnell
-		    schluepft er aus seiner dicken Ruestung. Du hoffst
-		    instaendig, das es noch etwas waermer wird ...
-SIEHE AUCH:
-     Aehnliches: P_WEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG
-                 P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
-     Funktionen: WearFunc, UnwearFunc
-     Sonstiges:  replace_personal(E), /std/armour/wear.c, armours
-                 clothing, /std/clothing.wear.c
+BESCHREIBUNG
+============
 
-LETZTE AeNDERUNG:
-15.02.2009, Zesstra
\ No newline at end of file
+   Zweiteiliges Array mit Meldungen, die beim Ausziehen einer Ruestung
+   oder Kleidung an den Spieler und die Umgebung ausgegeben werden.
+   Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
+   Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
+   jedoch beruecksichtigt.
+
+   Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
+   man replace_personal()).
+
+   [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
+    moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
+    in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
+    den Waffennamen.]
+
+
+BEISPIELE
+=========
+
+   SetProp(P_NAME, "Mantel");
+   SetProp(P_UNWEAR_MSG,
+    ({"Du reisst Dir @WEN2 vom Leib.",
+      "@WER1 reisst sich @WENU2 vom Leib." }));
+
+   -> beim Ausziehen durch Urk:
+      Urk bekommt: Du reisst dir den Mantel vom Leib.
+      Der Raum:    Urk reisst sich einen Mantel vom Leib.
+
+   SetProp(P_UNWEAR_MSG,
+    ({"Dir wird furchtbar warm. So eine Hitze aber auch. Schnell "
+      "schluepfst Du aus Deiner dicken Ruestung. Aaaah, was fuer "
+      "eine Wohltat.",
+      "@WEM1 scheint ploetzlich warm zu werden. Schnell schluepft "
+      "@WERQP1 aus @WEMQPPFS1 dicken Ruestung. Du hoffst instaendig, "
+      "das es noch etwas waermer wird ... "}));
+
+   -> beim Ausziehen durch Urk:
+      Urk bekommt: Dir wird furchtbar warm. So eine Hitze aber auch.
+                   Schnell schluepfst Du aus Deiner dicken Ruestung.
+                   Aaaah, was fuer eine Wohltat.
+      Der Raum:    Urk scheint ploetzlich warm zu werden. Schnell
+                   schluepft er aus seiner dicken Ruestung. Du hoffst
+                   instaendig, das es noch etwas waermer wird ...
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_WEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG
+               P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
+   Funktionen: WearFunc, UnwearFunc
+   Sonstiges:  replace_personal(E), /std/armour/wear.c, armours
+               clothing, /std/clothing.wear.c
+
+
+LETZTE AeNDERUNG
+================
+
+15.02.2009, Zesstra
diff --git a/doc/props/P_UNWIELD_FUNC b/doc/props/P_UNWIELD_FUNC
index da0fa7c..4466ec0 100644
--- a/doc/props/P_UNWIELD_FUNC
+++ b/doc/props/P_UNWIELD_FUNC
@@ -1,19 +1,32 @@
+
 P_UNWIELD_FUNC
+**************
 
-NAME:
-     P_UNWIELD_FUNC "unwield_func"
 
-DEFINIERT IN:
-     <weapon.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Falls ein Objekt eine UnwieldFunc() fuer die Waffe definiert, so muss
-     dieses Objekt in dieser Property eingetragen werden.
+   P_UNWIELD_FUNC "unwield_func"
 
-     Die Auswertung dieser Property erfolgt in DoUnwield().
 
-SIEHE AUCH:
-     /std/weapon.c, UnwieldFunc()
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   <weapon.h>
+
+
+BESCHREIBUNG
+============
+
+   Falls ein Objekt eine UnwieldFunc() fuer die Waffe definiert, so muss
+   dieses Objekt in dieser Property eingetragen werden.
+
+   Die Auswertung dieser Property erfolgt in DoUnwield().
+
+
+SIEHE AUCH
+==========
+
+   /std/weapon.c, UnwieldFunc()
+
 Last modified: Sun May 19 15:44:08 1996 by Wargon
diff --git a/doc/props/P_UNWIELD_MSG b/doc/props/P_UNWIELD_MSG
index 49a6466..d1d1668 100644
--- a/doc/props/P_UNWIELD_MSG
+++ b/doc/props/P_UNWIELD_MSG
@@ -1,59 +1,77 @@
+
 P_UNWIELD_MSG
-NAME:
-     P_UNWIELD_MSG                       "unwield_msg"                       
+*************
 
-DEFINIERT IN:
-     /sys/weapon.h
 
-BESCHREIBUNG:
-     Zweiteiliges Array mit Meldungen, die beim Wegstecken einer 
-     Waffe an den Spieler und die Umgebung ausgegeben werden.
+NAME
+====
 
-     Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
-     Umgebung.  Zeilenumbrueche werden automatisch gemacht, existierende
-     jedoch beruecksichtigt.
+   P_UNWIELD_MSG                       "unwield_msg"
 
-     Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
-     man replace_personal()).
 
-     [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
-      moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
-      in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
-      den Waffennamen.]
+DEFINIERT IN
+============
 
-BEISPIELE:
-    SetProp(P_NAME, "Streitkolben");
-    SetProp(P_UNWIELD_MSG,
-     ({ "Du steckst @WEN2 zurueck und atmest erstmal tief durch.", 
-        "@WER1 steckt @WENU2 zurueck und atmet erstmal tief durch." }));
+   /sys/weapon.h
 
-    -> beim Wegstecken durch Urk:
-       Urk bekommt: Du steckst den Streitkolben zurueck und atmest erstmal
-		    tief durch.
-       Der Raum:    Urk steckt einen Streitkolben zurueck und atmet erstmal
-		    tief durch.
 
-    SetProp(P_UNWIELD_MSG,
-     ({"Du steckst die schwere Keule zurueck. Zufaellig landet sie "
-       "dabei auf Deinem Fuss. Laut schreiend humpelst Du in der "
-       "Gegend herum.",
-       "@WER1 steckt eine schwere Keule zurueck. Dummerweise landet diese "
-       "direkt auf dem eigenen Fuss. Aua, das tat sicher weh ... nicht "
-       "umsonst humpelt @WERQP1 jetzt schreiend durch die Gegend."}));
+BESCHREIBUNG
+============
 
-    -> beim Wegstecken durch Urk:
-       Urk bekommt: Du steckst die schwere Keule zurueck. Zufaellig landet
-		    sie dabei auf Deinem Fuss. Laut schreiend humpelst Du in
-		    der Gegend herum.
-       Der Raum:    Urk steckt eine schwere Keule zurueck. Dummerweise
-		    landet diese direkt auf dem eigenen Fuss. Aua, das tat
-                    sicher weh ... nicht umsonst humpelt er jetzt schreiend
-                    durch die Gegend.
+   Zweiteiliges Array mit Meldungen, die beim Wegstecken einer
+   Waffe an den Spieler und die Umgebung ausgegeben werden.
 
-SIEHE AUCH:
-     Aehnliches: P_WIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
-                 P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
-     Funktionen: UnwieldFunc, WieldFunc
-     Sonstiges:  replace_personal(E), /std/weapon/combat.c
+   Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
+   Umgebung.  Zeilenumbrueche werden automatisch gemacht, existierende
+   jedoch beruecksichtigt.
+
+   Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
+   man replace_personal()).
+
+   [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
+    moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
+    in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
+    den Waffennamen.]
+
+
+BEISPIELE
+=========
+
+   SetProp(P_NAME, "Streitkolben");
+   SetProp(P_UNWIELD_MSG,
+    ({ "Du steckst @WEN2 zurueck und atmest erstmal tief durch.",
+       "@WER1 steckt @WENU2 zurueck und atmet erstmal tief durch." }));
+
+   -> beim Wegstecken durch Urk:
+      Urk bekommt: Du steckst den Streitkolben zurueck und atmest erstmal
+                   tief durch.
+      Der Raum:    Urk steckt einen Streitkolben zurueck und atmet erstmal
+                   tief durch.
+
+   SetProp(P_UNWIELD_MSG,
+    ({"Du steckst die schwere Keule zurueck. Zufaellig landet sie "
+      "dabei auf Deinem Fuss. Laut schreiend humpelst Du in der "
+      "Gegend herum.",
+      "@WER1 steckt eine schwere Keule zurueck. Dummerweise landet diese "
+      "direkt auf dem eigenen Fuss. Aua, das tat sicher weh ... nicht "
+      "umsonst humpelt @WERQP1 jetzt schreiend durch die Gegend."}));
+
+   -> beim Wegstecken durch Urk:
+      Urk bekommt: Du steckst die schwere Keule zurueck. Zufaellig landet
+                   sie dabei auf Deinem Fuss. Laut schreiend humpelst Du in
+                   der Gegend herum.
+      Der Raum:    Urk steckt eine schwere Keule zurueck. Dummerweise
+                   landet diese direkt auf dem eigenen Fuss. Aua, das tat
+                   sicher weh ... nicht umsonst humpelt er jetzt schreiend
+                   durch die Gegend.
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_WIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
+               P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
+   Funktionen: UnwieldFunc, WieldFunc
+   Sonstiges:  replace_personal(E), /std/weapon/combat.c
 
 29. Maerz 2004 Gloinson
diff --git a/doc/props/P_UNWIELD_TIME b/doc/props/P_UNWIELD_TIME
index 43128d4..e93a24b 100644
--- a/doc/props/P_UNWIELD_TIME
+++ b/doc/props/P_UNWIELD_TIME
@@ -1,19 +1,33 @@
+
 P_UNWIELD_TIME
+**************
 
-NAME:
-      P_UNWIELD_TIME			"unwield_time"
 
-DEFINIERT IN:
-      /sys/weapon.h

+NAME
+====
 
-BESCHREIBUNG:
-      Enthaelt den Zeitpunkt zu dem ein Living eine Waffe weggesteckt hat und

-      ist im Living gesetzt.

+   P_UNWIELD_TIME                    "unwield_time"
 
-SIEHE AUCH:

-      Verwandt:		P_WEAPON, P_WIELDED, DoUnwield()

-			P_LAST_USE
-      Sonstiges:	P_EQUIP_TIME

-			time()
 
-10.Feb 2005 Gloinson

+DEFINIERT IN
+============
+
+   /sys/weapon.h
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt den Zeitpunkt zu dem ein Living eine Waffe weggesteckt hat und
+   ist im Living gesetzt.
+
+
+SIEHE AUCH
+==========
+
+   Verwandt:         P_WEAPON, P_WIELDED, DoUnwield()
+                     P_LAST_USE
+   Sonstiges:        P_EQUIP_TIME
+                     time()
+
+10.Feb 2005 Gloinson
diff --git a/doc/props/P_USED_HANDS b/doc/props/P_USED_HANDS
index 456d32c..b90bd61 100644
--- a/doc/props/P_USED_HANDS
+++ b/doc/props/P_USED_HANDS
@@ -1,21 +1,39 @@
+
 P_USED_HANDS
-NAME:
-    P_USED_HANDS                  "used_hands"
+************
 
-DEFINIERT IN:
-    /sys/living/combat.h
 
-BESCHREIBUNG:
-    Anzahl der Haende in Benutzung.
-    Effektiv nur ein sizeof(P_HANDS_USED_BY).
+NAME
+====
 
-BEMERKUNGEN:
-    Keine echte Property. Die Methode /std/living/combat::_query_used_hands
-    stellt die Daten zusammen. Nicht setzen!
+   P_USED_HANDS                  "used_hands"
 
-SIEHE AUCH:
-    P_HANDS, P_HANDS_USED_BY
-    P_MAX_HANDS, P_FREE_HANDS
-    UseHands, FreeHands
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der Haende in Benutzung.
+   Effektiv nur ein sizeof(P_HANDS_USED_BY).
+
+
+BEMERKUNGEN
+===========
+
+   Keine echte Property. Die Methode /std/living/combat::_query_used_hands
+   stellt die Daten zusammen. Nicht setzen!
+
+
+SIEHE AUCH
+==========
+
+   P_HANDS, P_HANDS_USED_BY
+   P_MAX_HANDS, P_FREE_HANDS
+   UseHands, FreeHands
 
 1. Okt 2012, Gloinson
diff --git a/doc/props/P_VALID_GUILDS b/doc/props/P_VALID_GUILDS
index 2734ad9..f431e7b 100644
--- a/doc/props/P_VALID_GUILDS
+++ b/doc/props/P_VALID_GUILDS
@@ -1,23 +1,41 @@
-NAME:
-	P_VALID_GUILDS			"valid_guilds"                
 
-DEFINIERT IN:
-	/sys/new_skills.h
+P_VALID_GUILDS
+**************
 
-BESCHREIBUNG:
-	Diese Property enthaelt die zugelassenen Gilden in Form von
-	kleingeschriebenen Gildennamen, welche in einem Array
-	zusammengefasst sind. Sie ist nur fuer den Gildenmaster selbst von
-	Bedeutung.
 
-BEISPIELE:
-	Abfrage der zugelassenen Gilden:
-	  find_object("/obj/gildenmaster")->QueryProp(P_VALID_GUILDS)
-	Das ergibt zum Beispiel:
-          ({"abenteurer","zauberer","klerus","kaempfer"})
+NAME
+====
 
-SIEHE AUCH:
-	P_GUILD, /obj/gildenmaster.c
+   P_VALID_GUILDS                  "valid_guilds"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt die zugelassenen Gilden in Form von
+   kleingeschriebenen Gildennamen, welche in einem Array
+   zusammengefasst sind. Sie ist nur fuer den Gildenmaster selbst von
+   Bedeutung.
+
+
+BEISPIELE
+=========
+
+   Abfrage der zugelassenen Gilden:
+     find_object("/obj/gildenmaster")->QueryProp(P_VALID_GUILDS)
+   Das ergibt zum Beispiel:
+     ({"abenteurer","zauberer","klerus","kaempfer"})
+
+
+SIEHE AUCH
+==========
+
+   P_GUILD, /obj/gildenmaster.c
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_VALUE b/doc/props/P_VALUE
index d9b5961..cb48202 100644
--- a/doc/props/P_VALUE
+++ b/doc/props/P_VALUE
@@ -1,26 +1,43 @@
-NAME:
-    P_VALUE                       "value"                       
 
-DEFINIERT IN:
-    /sys/properties.h
+P_VALUE
+*******
 
-BESCHREIBUNG:
 
-     - Objekte
-       Wert des Objektes in Goldmuenzen. Diesen Wert erhaelt man beim
-       Verkauf. Kaufen kostet ein Vielfaches hiervon.
+NAME
+====
 
-     - Speisen/Kneipen
-       Wert einer Portion der Speise.
-       
-BEMERKUNGEN:
-     In tragbaren Speisen (erben von /std/food) setzt man mit SetProp
-     den Wert _einer_ Portion. Per QueryProp erhaelt man aber den Gesamt-
-     wert der Speise inclusive des eventuell vorhandenen Behaelters. Der
-     Wert des Behaelters wird dabei aus P_EMPTY_PROPS[P_VALUE] gelesen.
-     
-SIEHE AUCH:
-     Speisen: std/pub, wiz/food, P_EMPTY_PROPS
+   P_VALUE                       "value"
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   - Objekte
+     Wert des Objektes in Goldmuenzen. Diesen Wert erhaelt man beim
+     Verkauf. Kaufen kostet ein Vielfaches hiervon.
+
+   - Speisen/Kneipen
+     Wert einer Portion der Speise.
+
+
+BEMERKUNGEN
+===========
+
+   In tragbaren Speisen (erben von /std/food) setzt man mit SetProp
+   den Wert _einer_ Portion. Per QueryProp erhaelt man aber den Gesamt-
+   wert der Speise inclusive des eventuell vorhandenen Behaelters. Der
+   Wert des Behaelters wird dabei aus P_EMPTY_PROPS[P_VALUE] gelesen.
+
+
+SIEHE AUCH
+==========
+
+   Speisen: std/pub, wiz/food, P_EMPTY_PROPS
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_VALUE_PER_UNIT b/doc/props/P_VALUE_PER_UNIT
index da779c5..3ff1b3c 100644
--- a/doc/props/P_VALUE_PER_UNIT
+++ b/doc/props/P_VALUE_PER_UNIT
@@ -1,14 +1,29 @@
-NAME:
-    P_VALUE_PER_UNIT              "value_per_unit"              
 
-DEFINIERT IN:
-    /sys/properties.h
+P_VALUE_PER_UNIT
+****************
 
-BESCHREIBUNG:
-     Wert in Goldstuecken pro Untereinheit.
 
-BEMERKUNGEN:
-     Deprecated. Bitte SetCoinsPerUnits() (U_CPU) benutzen.
+NAME
+====
+
+   P_VALUE_PER_UNIT              "value_per_unit"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wert in Goldstuecken pro Untereinheit.
+
+
+BEMERKUNGEN
+===========
+
+   Deprecated. Bitte SetCoinsPerUnits() (U_CPU) benutzen.
 
 25.Aug 2015 Gloinson
-
diff --git a/doc/props/P_VARIABLES b/doc/props/P_VARIABLES
index 5e7fb5c..52a979c 100644
--- a/doc/props/P_VARIABLES
+++ b/doc/props/P_VARIABLES
@@ -1,16 +1,28 @@
 
-NAME:
-    P_VARIABLES "variables"                 
+P_VARIABLES
+***********
 
-DEFINIERT IN:
-    /sys/magier.h
 
-BESCHREIBUNG:
-	
-     Interne Variable der Magiershell in dem die mit dem 'Set'-Befehl
-     gesetzten Variablen gespeichert werden.
-     
-     NICHT VON HAND VERAENDERN! IMMER 'SET' VERWENDEN!
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_VARIABLES "variables"
+
+
+DEFINIERT IN
+============
+
+   /sys/magier.h
+
+
+BESCHREIBUNG
+============
+
+   Interne Variable der Magiershell in dem die mit dem 'Set'-Befehl
+   gesetzten Variablen gespeichert werden.
+
+
+
+   NICHT VON HAND VERAENDERN! IMMER 'SET' VERWENDEN!
+
 Letzte Aenderung: 13.02.2003 22:00:00 von Mandragon
diff --git a/doc/props/P_VISIBLE_GUILD b/doc/props/P_VISIBLE_GUILD
index df267b5..92de8b7 100644
--- a/doc/props/P_VISIBLE_GUILD
+++ b/doc/props/P_VISIBLE_GUILD
@@ -1,25 +1,42 @@
+
 P_VISIBLE_GUILD
-NAME:
-     P_VISIBLE_GUILD			"visible_guild"                       
+***************
 
-DEFINIERT IN:
-     /sys/properties.h
 
-BESCHREIBUNG:
-     Diese Property enthaelt die sichtbare Gilde des Lebewesens in Form eines
-     kleingeschriebenen Strings, also die Gilde, die bei Spielern zum
-     Beispiel bei 'kwer' oder 'finger' angezeigt wird. So kann man fremde
-     Gilden testen und trotzdem nach aussen hin in der gleichen Gilde wie
-     zuvor bleiben.
+NAME
+====
 
-BEISPIEL:
-     Wenn man gerne nach aussen hin Zauberer bleiben moechte:
-	  pl->SetProp(P_VISIBLE_GUILD,"zauberer");
-     Nach aussen hin bleibt man jetzt auch Zauberer, wenn P_GUILD eine
-     andere Gilde angibt.
+   P_VISIBLE_GUILD                    "visible_guild"
 
-SIEHE AUCH:
-     P_GUILD, P_DEFAULT_GUILD
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property enthaelt die sichtbare Gilde des Lebewesens in Form eines
+   kleingeschriebenen Strings, also die Gilde, die bei Spielern zum
+   Beispiel bei 'kwer' oder 'finger' angezeigt wird. So kann man fremde
+   Gilden testen und trotzdem nach aussen hin in der gleichen Gilde wie
+   zuvor bleiben.
+
+
+BEISPIEL
+========
+
+   Wenn man gerne nach aussen hin Zauberer bleiben moechte:
+        pl->SetProp(P_VISIBLE_GUILD,"zauberer");
+   Nach aussen hin bleibt man jetzt auch Zauberer, wenn P_GUILD eine
+   andere Gilde angibt.
+
+
+SIEHE AUCH
+==========
+
+   P_GUILD, P_DEFAULT_GUILD
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/P_VISIBLE_SUBGUILD_TITLE b/doc/props/P_VISIBLE_SUBGUILD_TITLE
index e398f02..e0e5c83 100644
--- a/doc/props/P_VISIBLE_SUBGUILD_TITLE
+++ b/doc/props/P_VISIBLE_SUBGUILD_TITLE
@@ -1,21 +1,39 @@
+
 P_VISIBLE_SUBGUILD_TITLE
-NAME:
-     P_VISIBLE_SUBGUILD_TITLE		"visible_subguild_title"                       
-DEFINIERT IN:
-     /sys/new_skills.h
+************************
 
-BESCHREIBUNG:
-     Diese Property dient dazu, als Magier einen Zusatztitel innerhalb einer
-     Gilde vorzutaeuschen, ohne den tatsaechlichen P_SUBGUILD_TITLE zu
-     aendern.
 
-BEMERKUNGEN:
-     Inhalt der Property kann 0 sein oder ein String.
-     Wenn der Inhalt 0 ist, wird bei QueryProp der P_SUBGUILD_TITLE
-     durchgereicht.
+NAME
+====
 
-SIEHE AUCH:
-     P_GUILD_TITLE, P_SUBGUILD_TITLE
+   P_VISIBLE_SUBGUILD_TITLE           "visible_subguild_title"
 
-----------------------------------------------------------------------------
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property dient dazu, als Magier einen Zusatztitel innerhalb einer
+   Gilde vorzutaeuschen, ohne den tatsaechlichen P_SUBGUILD_TITLE zu
+   aendern.
+
+
+BEMERKUNGEN
+===========
+
+   Inhalt der Property kann 0 sein oder ein String.
+   Wenn der Inhalt 0 ist, wird bei QueryProp der P_SUBGUILD_TITLE
+   durchgereicht.
+
+
+SIEHE AUCH
+==========
+
+   P_GUILD_TITLE, P_SUBGUILD_TITLE
+
 Last modified: Mon Aug 13 21:20:00 2001 by Nachtwind
diff --git a/doc/props/P_VISUALBELL b/doc/props/P_VISUALBELL
index 19e8519..8a3d836 100644
--- a/doc/props/P_VISUALBELL
+++ b/doc/props/P_VISUALBELL
@@ -1,37 +1,58 @@
-NAME:
-	P_VISUALBELL			"visualbell"
 
-DEFINIERT IN:
-	/sys/properties.h
+P_VISUALBELL
+************
 
-BESCHREIBUNG:
-	Die Property stellt ein Flag innerhalb von Spielern dar, welches
-	standardmaessig nicht gesetzt ist. In diesem Fall werden Toene,
-	welche innerhalb einiger Funktionen erzeugt werden, auch wirklich an
-	den Spieler geschickt.
-	Setzt man die Property, so erhaelt der Spieler keine Toene mehr.
 
-BEISPIEL:
-	Pieptoene werden durch den ASCII-Code 0x7 praesentiert. Ausgeben
-	kann man diesen folgendermassen:
-	  if(!IS_WIZARD(caster)&&!victim->QueryProp(P_VISUALBELL))
-	    tell_object(victim,sprintf("%c",7));
-	Das waere beispielsweise ein Codestueck aus einem Piepspell. :)
-	Das Opfer bekommt den Piepton hierbei nur ab, wenn der Caster ein
-	Magier ist oder das Spieleropfer die Property P_VISUALBELL gesetzt
-	hat (kann mit Kommando 'ton' vom Spieler beeinflusst werden).
+NAME
+====
 
-BEMERKUNGEN:
-  Achtung: P_VISUALBELL steht auf 1, wenn der Spieler _keine_ Piepstoene
-	hoeren will!
-	Die Funktionalitaet dieser Property wirkt nur soweit, wie sie auch
-	von tonerzeugenden Befehlen selbst unterstuetzt wird. Es ist darauf
-	zu achten, dass P_VISUALBELL zu diesem Zweck grundsaetzlich
-	ausgewertet wird! Eine Ausnahme sei hierbei zugelassen: Magier
-	koennen Spielern grundsaetzlich Toene zusenden.
+   P_VISUALBELL                    "visualbell"
 
-SIEHE AUCH:
-	ton, wecke, erwarte, P_WAITFOR, /std/player/base.c
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Die Property stellt ein Flag innerhalb von Spielern dar, welches
+   standardmaessig nicht gesetzt ist. In diesem Fall werden Toene,
+   welche innerhalb einiger Funktionen erzeugt werden, auch wirklich an
+   den Spieler geschickt.
+   Setzt man die Property, so erhaelt der Spieler keine Toene mehr.
+
+
+BEISPIEL
+========
+
+   Pieptoene werden durch den ASCII-Code 0x7 praesentiert. Ausgeben
+   kann man diesen folgendermassen:
+     if(!IS_WIZARD(caster)&&!victim->QueryProp(P_VISUALBELL))
+       tell_object(victim,sprintf("%c",7));
+   Das waere beispielsweise ein Codestueck aus einem Piepspell. :)
+   Das Opfer bekommt den Piepton hierbei nur ab, wenn der Caster ein
+   Magier ist oder das Spieleropfer die Property P_VISUALBELL gesetzt
+   hat (kann mit Kommando 'ton' vom Spieler beeinflusst werden).
+
+
+BEMERKUNGEN
+===========
+
+   Achtung: P_VISUALBELL steht auf 1, wenn der Spieler _keine_ Piepstoene
+         hoeren will!
+         Die Funktionalitaet dieser Property wirkt nur soweit, wie sie auch
+         von tonerzeugenden Befehlen selbst unterstuetzt wird. Es ist darauf
+         zu achten, dass P_VISUALBELL zu diesem Zweck grundsaetzlich
+         ausgewertet wird! Eine Ausnahme sei hierbei zugelassen: Magier
+         koennen Spielern grundsaetzlich Toene zusenden.
+
+
+SIEHE AUCH
+==========
+
+   ton, wecke, erwarte, P_WAITFOR, /std/player/base.c
+
 Last modified: 07.02.2007 by Zesstra
diff --git a/doc/props/P_VULNERABILITY b/doc/props/P_VULNERABILITY
index 7e1c676..f0e3abb 100644
--- a/doc/props/P_VULNERABILITY
+++ b/doc/props/P_VULNERABILITY
@@ -1,37 +1,62 @@
-NAME:
-     P_VULNERABILITY               "vulnerability"
 
-DEFINIERT IN:
-     /sys/living/combat.h
+P_VULNERABILITY
+***************
 
-WICHTIG:
-     DIESE PROPERTY IST VERALTET! BITTE P_RESISTANCE_STRENGTHS
-     VERWENDEN! AUCH FUNKTIONIERT Set() NICHT WIE ES SOLLTE.
 
-BESCHREIBUNG:
-     Hiermit koennen die Empfindlichkeiten eines Lebewesens definiert
-     werden. Es kann ein Array mit Schadensarten gesetzt werden, jeder
-     Eintrag eines Schadens verdoppelt die Empfindlichkeit gegen
-     diesen.
+NAME
+====
 
-BEMERKUNGEN:
-     - P_RESISTANCE_STRENGTHS spiegelt die Eintraege hier wieder
-     - um genauere Werte anzugeben einen AddResistanceModifier() oder
-       P_RESISTANCE_STRENGTHS benutzen.
-     - P_VULNERABILITY kann und wird nicht aus P_RESISTANCE_STRENGTHS
-       upgedatet
+   P_VULNERABILITY               "vulnerability"
 
-BEISPIELE:
-     // ein NPC mit verdoppelter Eisempfindlichkeit und
-     // vervierfachter Wasserempfindlichkeit
-     SetProp(P_VULNERABILITY, ({DT_COLD, DT_WATER, DT_WATER}));
 
-SIEHE AUCH:
-     simple Resistenz:	P_RESISTANCE
-     Hauptmapping:	P_RESISTANCE_STRENGTHS
-     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
+
+
+WICHTIG
+=======
+
+   DIESE PROPERTY IST VERALTET! BITTE P_RESISTANCE_STRENGTHS
+   VERWENDEN! AUCH FUNKTIONIERT Set() NICHT WIE ES SOLLTE.
+
+
+BESCHREIBUNG
+============
+
+   Hiermit koennen die Empfindlichkeiten eines Lebewesens definiert
+   werden. Es kann ein Array mit Schadensarten gesetzt werden, jeder
+   Eintrag eines Schadens verdoppelt die Empfindlichkeit gegen
+   diesen.
+
+
+BEMERKUNGEN
+===========
+
+   - P_RESISTANCE_STRENGTHS spiegelt die Eintraege hier wieder
+   - um genauere Werte anzugeben einen AddResistanceModifier() oder
+     P_RESISTANCE_STRENGTHS benutzen.
+   - P_VULNERABILITY kann und wird nicht aus P_RESISTANCE_STRENGTHS
+     upgedatet
+
+
+BEISPIELE
+=========
+
+   // ein NPC mit verdoppelter Eisempfindlichkeit und
+   // vervierfachter Wasserempfindlichkeit
+   SetProp(P_VULNERABILITY, ({DT_COLD, DT_WATER, DT_WATER}));
+
+
+SIEHE AUCH
+==========
+
+   simple Resistenz:  P_RESISTANCE
+   Hauptmapping:      P_RESISTANCE_STRENGTHS
+   Modifikatoren:     AddResistanceModifier, RemoveResistanceModifier(),
+                      P_RESISTANCE_MODIFIER
+   Berechnung:        CheckResistance(), UpdateResistanceStrengths()
+   anderes:           balance, /std/armour/combat.c, /std/living/combat.c
 
 1.Dez 2004, Gloinson
diff --git a/doc/props/P_WAITFOR b/doc/props/P_WAITFOR
index a8cf8ee..301838e 100644
--- a/doc/props/P_WAITFOR
+++ b/doc/props/P_WAITFOR
@@ -1,14 +1,30 @@
-NAME:
-     P_WAITFOR                     "waitfor"                     
 
-DEFINIERT IN:
-     /sys/player/base.h
+P_WAITFOR
+*********
 
-BESCHREIBUNG:
-     Die Erwarte-Liste. Ein Array mit den Namen der Erwarteten.
 
-SIEHE AUCH:
-     erwarte
-     P_WAITFOR_REASON, P_WAITFOR_FLAGS
+NAME
+====
+
+   P_WAITFOR                     "waitfor"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Die Erwarte-Liste. Ein Array mit den Namen der Erwarteten.
+
+
+SIEHE AUCH
+==========
+
+   erwarte
+   P_WAITFOR_REASON, P_WAITFOR_FLAGS
 
 16. Feb 2008 Gloinson
diff --git a/doc/props/P_WAITFOR_FLAGS b/doc/props/P_WAITFOR_FLAGS
index f137dd1..5e616b7 100644
--- a/doc/props/P_WAITFOR_FLAGS
+++ b/doc/props/P_WAITFOR_FLAGS
@@ -1,17 +1,34 @@
+
 P_WAITFOR_FLAGS
-NAME:
-     P_WAITFOR_FLAGS                  "waitfor_flags"                     
+***************
 
-DEFINIERT IN:
-     /sys/player/base.h
 
-BESCHREIBUNG:
-     Ein Int. Bisher bekannte Flags:
-     
-     0x01 - "erwarte aus"
+NAME
+====
 
-SIEHE AUCH:
-     erwarte
-     P_WAITFOR, P_WAITFOR_REASON
+   P_WAITFOR_FLAGS                  "waitfor_flags"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Ein Int. Bisher bekannte Flags:
+
+
+
+   0x01 - "erwarte aus"
+
+
+SIEHE AUCH
+==========
+
+   erwarte
+   P_WAITFOR, P_WAITFOR_REASON
 
 16. Feb 2008 Gloinson
diff --git a/doc/props/P_WAITFOR_REASON b/doc/props/P_WAITFOR_REASON
index b19c821..1d997d8 100644
--- a/doc/props/P_WAITFOR_REASON
+++ b/doc/props/P_WAITFOR_REASON
@@ -1,18 +1,35 @@
+
 P_WAITFOR_REASON
-NAME:
-     P_WAITFOR_REASON                  "waitfor_reason"                     
+****************
 
-DEFINIERT IN:
-     /sys/player/base.h
 
-BESCHREIBUNG:
-     Ein Mapping mit den Erwarteten als Schluessel und einem Grund als
-     Key, zB:
-     
-     (["Zook":"muh muh"])
+NAME
+====
 
-SIEHE AUCH:
-     erwarte (erwarte <wen> wegen <was>)
-     P_WAITFOR, P_WAITFOR_FLAGS
+   P_WAITFOR_REASON                  "waitfor_reason"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Ein Mapping mit den Erwarteten als Schluessel und einem Grund als
+   Key, zB:
+
+
+
+   (["Zook":"muh muh"])
+
+
+SIEHE AUCH
+==========
+
+   erwarte (erwarte <wen> wegen <was>)
+   P_WAITFOR, P_WAITFOR_FLAGS
 
 16. Feb 2008 Gloinson
diff --git a/doc/props/P_WANTS_TO_LEARN b/doc/props/P_WANTS_TO_LEARN
index a1553bd..639ab61 100644
--- a/doc/props/P_WANTS_TO_LEARN
+++ b/doc/props/P_WANTS_TO_LEARN
@@ -1,12 +1,25 @@
-NAME:
-    P_WANTS_TO_LEARN              "wants_to_learn"              
 
-DEFINIERT IN:
-    /sys/player/base.h
+P_WANTS_TO_LEARN
+****************
 
-BESCHREIBUNG:
-     Gesetzt, wenn der Magier die Filenamen sehen will.
-     (Nur fuer Magier). Wird diese Property auf 0 gesetzt, gehen auch
-     einige andere Dinge nicht mehr - verfolge zB. Eigentlich sollten
-     dann auch die Magierbefehle wie "goto" usw unterbunden werden -
-     das kommt vielleicht noch.
+
+NAME
+====
+
+   P_WANTS_TO_LEARN              "wants_to_learn"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt, wenn der Magier die Filenamen sehen will.
+   (Nur fuer Magier). Wird diese Property auf 0 gesetzt, gehen auch
+   einige andere Dinge nicht mehr - verfolge zB. Eigentlich sollten
+   dann auch die Magierbefehle wie "goto" usw unterbunden werden -
+   das kommt vielleicht noch.
diff --git a/doc/props/P_WATER b/doc/props/P_WATER
index 6be4fe6..79742c1 100644
--- a/doc/props/P_WATER
+++ b/doc/props/P_WATER
@@ -1,110 +1,130 @@
-NAME:
-    P_WATER                       "water"                       
 
-DEFINIERT IN:
-    /sys/fishing.h
-
-BESCHREIBUNG:
-    Enthaelt den Gewaessertyp. Kann in Raeumen, Angeln und Wasserbehaeltern
-    verwendet werden. Die verfuegbaren Optionen und Funktionsweisen sind in 
-    den nachfolgenden Abschnitten aufgefuehrt.
-
-    Raum:
-    *****
-      Legt den Typ des Gewaessers fest, das es in diesem Raum gibt. Von
-      diesem Typ haengt ab, welche Arten von Fischen es hier standardmaessig
-      gibt und welche Arten von Angeln verwendet werden koennen. 
-      
-      Beispiel:
-
-      SetProp(P_WATER, W_HARBOR);
-      
-      Folgende
-      Typen stehen zur Verfuegung, von denen in Raeumen nur einer gesetzt
-      werden darf:
-
-      Salzwasser:
-        W_BEACH   Strand: Scholle, Flunder, Rochen, Seezunge, Katzenhai
-        W_HARBOR  Hafen: Dorsch, Rochen, Seezunge, Hering, Katzenhai
-        W_OCEAN   Ozean/Meer: Hai, Thunfisch, Kabeljau, Schwertfisch, Seehase,
-                  Seeteufel, Seewolf
-
-      Suesswasser:
-        W_RIVER   Fluss: Piranha, Lachs, Forelle, Bachsaibling
-        W_POOL    Teich: Stichling, Goldfisch, Schlei, Karpfen, Goldorfe
-        W_LAKE    See: Karpfen, Barsch, Hecht, Seesaibling
-        W_ROCK    Bergbach: Lachs, Forelle, Bachsaibling
-        W_STREAM  Bach: Stichling, Bachforelle, Neuauge, Bachsaibling
-
-      Sonstige:
-        W_USER    wenn dieser Gewaessertyp gesetzt wird, MUSS der Raum 
-                  zusaetzlich die Funktion GetAquarium() definieren, die
-                  eine Liste der hier fangbaren Fische zurueckgeben muss.
-                  Beispiel:
-
-                  string* GetAquarium(){ 
-                    return ({"/d/ebene/fraggle/angel/fisch"}); 
-                  }
-        W_DEAD    Lebloses Wasser. Enthaelt keine Fische, man kann
-                  aber die Standardflasche fuellen.
-
-        W_OTHER   1024   // Flasche enthaelt Fluessigkeit!=Wasser
+P_WATER
+*******
 
 
-    Angel:
-    ******
-      Angeln sind ueblicherweise auf bestimmte Anwendungsbereiche ausgelegt.
-      Ob eine Angel in einem Gewaesser benutzt werden kann, haengt davon ab,
-      ob P_WATER in der Angel den Gewaessertyp des Raumes enthaelt. Von den
-      oben genannten Typen koennen mehrere ver-ODER-t gesetzt werden.
-      Verwendung einer fuer das oertliche Gewaesser ungeeigneten Angel fuehrt
-      zu einer um 60+random(60) Sekunden verlaengerten Wartezeit beim Angeln.
-      
-      Beispiel: Setzt man den Gewaessertyp mit 
+NAME
+====
 
-        SetProp(P_WATER, W_HARBOR|W_OCEAN);
+   P_WATER                       "water"
 
-      schaltet das die Angel sowohl fuer Haefen, als auch fuer offene Meere
-      (Ozeane) frei.
 
-      Folgende kombinierte Gewaessertypen sind fuer einfache Angeln 
-      vordefiniert:
+DEFINIERT IN
+============
 
-      Kurze Standardangeln:
-        W_SHORT W_HARBOR|W_RIVER|W_POOL|W_LAKE|W_ROCK|W_USER|W_OCEAN|W_STREAM
-      Spezielle Strandruten:
-        W_LONG  W_BEACH|W_USER
-      funktioniert in allen Salzgewaessern:
-        W_SALT  W_HARBOR|W_OCEAN|W_BEACH
-      funktioniert in allen Suessgewaessern:
-        W_SWEET W_RIVER|W_POOL|W_LAKE|W_ROCK|W_STREAM
+   /sys/fishing.h
 
-      Hinweis: W_DEAD ist in diesen Kombinationen nicht enthalten, da es
-      in solchen Gewaessern ohnehin keine Fische gibt.
-      Die Kombi-Typen enthalten W_USER, um bei entsprechenden Gewaessern
-      zu vermeiden, dass es dort standardmaessig einen Malus auf die 
-      Wartezeit gibt. Standardwert fuer P_WATER in Angeln ist ebenfalls 
-      W_USER.
 
-    Koeder:
-    *******
-      Auch Koeder koennen fuer die Verwendung in bestimmten Gewaessern besser
-      geeignet sein als in anderen, z.B. eine Seeschnecke fuer Salzwasser,
-      ein Mehlwurm hingegen fuer Suesswasser. Gesetzt wird P_WATER hierfuer
-      auf die oben aufgefuehrten Werte.
-      Verwendung eines ungeeigneten Koeders fuehrt zu einer um 60+random(60)
-      Sekunden laengeren Wartezeit beim Angeln.
+BESCHREIBUNG
+============
 
-    Wasserbehaelter:
-    ****************
-      Die Property gibt an, ob der Behaelter Wasser enthaelt oder nicht.
-      Der Wert sollte immer auf den Typ jenes Gewaessers gesetzt sein, aus
-      dem der Behaelter aufgefuellt wurde.
+   Enthaelt den Gewaessertyp. Kann in Raeumen, Angeln und Wasserbehaeltern
+   verwendet werden. Die verfuegbaren Optionen und Funktionsweisen sind in
+   den nachfolgenden Abschnitten aufgefuehrt.
 
-SIEHE AUCH:
+   Raum:
+   *****
+     Legt den Typ des Gewaessers fest, das es in diesem Raum gibt. Von
+     diesem Typ haengt ab, welche Arten von Fischen es hier standardmaessig
+     gibt und welche Arten von Angeln verwendet werden koennen.
 
-    Properties: P_FISH
-    Methoden:   GetAquarium(L)
 
-------------------------------------------------------------------------------
+
+     Beispiel:
+
+     SetProp(P_WATER, W_HARBOR);
+
+
+
+     Folgende
+     Typen stehen zur Verfuegung, von denen in Raeumen nur einer gesetzt
+     werden darf:
+
+     Salzwasser:
+       W_BEACH   Strand: Scholle, Flunder, Rochen, Seezunge, Katzenhai
+       W_HARBOR  Hafen: Dorsch, Rochen, Seezunge, Hering, Katzenhai
+       W_OCEAN   Ozean/Meer: Hai, Thunfisch, Kabeljau, Schwertfisch, Seehase,
+                 Seeteufel, Seewolf
+
+     Suesswasser:
+       W_RIVER   Fluss: Piranha, Lachs, Forelle, Bachsaibling
+       W_POOL    Teich: Stichling, Goldfisch, Schlei, Karpfen, Goldorfe
+       W_LAKE    See: Karpfen, Barsch, Hecht, Seesaibling
+       W_ROCK    Bergbach: Lachs, Forelle, Bachsaibling
+       W_STREAM  Bach: Stichling, Bachforelle, Neuauge, Bachsaibling
+
+     Sonstige:
+       W_USER    wenn dieser Gewaessertyp gesetzt wird, MUSS der Raum
+                 zusaetzlich die Funktion GetAquarium() definieren, die
+                 eine Liste der hier fangbaren Fische zurueckgeben muss.
+                 Beispiel:
+
+                 string* GetAquarium(){
+                   return ({"/d/ebene/fraggle/angel/fisch"});
+                 }
+       W_DEAD    Lebloses Wasser. Enthaelt keine Fische, man kann
+                 aber die Standardflasche fuellen.
+
+       W_OTHER   1024   // Flasche enthaelt Fluessigkeit!=Wasser
+
+
+   Angel:
+   ******
+     Angeln sind ueblicherweise auf bestimmte Anwendungsbereiche ausgelegt.
+     Ob eine Angel in einem Gewaesser benutzt werden kann, haengt davon ab,
+     ob P_WATER in der Angel den Gewaessertyp des Raumes enthaelt. Von den
+     oben genannten Typen koennen mehrere ver-ODER-t gesetzt werden.
+     Verwendung einer fuer das oertliche Gewaesser ungeeigneten Angel fuehrt
+     zu einer um 60+random(60) Sekunden verlaengerten Wartezeit beim Angeln.
+
+
+
+     Beispiel: Setzt man den Gewaessertyp mit
+
+       SetProp(P_WATER, W_HARBOR|W_OCEAN);
+
+     schaltet das die Angel sowohl fuer Haefen, als auch fuer offene Meere
+     (Ozeane) frei.
+
+     Folgende kombinierte Gewaessertypen sind fuer einfache Angeln
+     vordefiniert:
+
+     Kurze Standardangeln:
+       W_SHORT W_HARBOR|W_RIVER|W_POOL|W_LAKE|W_ROCK|W_USER|W_OCEAN|W_STREAM
+     Spezielle Strandruten:
+       W_LONG  W_BEACH|W_USER
+     funktioniert in allen Salzgewaessern:
+       W_SALT  W_HARBOR|W_OCEAN|W_BEACH
+     funktioniert in allen Suessgewaessern:
+       W_SWEET W_RIVER|W_POOL|W_LAKE|W_ROCK|W_STREAM
+
+     Hinweis: W_DEAD ist in diesen Kombinationen nicht enthalten, da es
+     in solchen Gewaessern ohnehin keine Fische gibt.
+     Die Kombi-Typen enthalten W_USER, um bei entsprechenden Gewaessern
+     zu vermeiden, dass es dort standardmaessig einen Malus auf die
+     Wartezeit gibt. Standardwert fuer P_WATER in Angeln ist ebenfalls
+     W_USER.
+
+   Koeder:
+   *******
+     Auch Koeder koennen fuer die Verwendung in bestimmten Gewaessern besser
+     geeignet sein als in anderen, z.B. eine Seeschnecke fuer Salzwasser,
+     ein Mehlwurm hingegen fuer Suesswasser. Gesetzt wird P_WATER hierfuer
+     auf die oben aufgefuehrten Werte.
+     Verwendung eines ungeeigneten Koeders fuehrt zu einer um 60+random(60)
+     Sekunden laengeren Wartezeit beim Angeln.
+
+   Wasserbehaelter:
+   ****************
+     Die Property gibt an, ob der Behaelter Wasser enthaelt oder nicht.
+     Der Wert sollte immer auf den Typ jenes Gewaessers gesetzt sein, aus
+     dem der Behaelter aufgefuellt wurde.
+
+
+SIEHE AUCH
+==========
+
+   Properties: P_FISH
+   Methoden:   GetAquarium(L)
+
 Zuletzt geaendert: 2014-Aug-21, Arathorn
diff --git a/doc/props/P_WC b/doc/props/P_WC
index 042de3d..cfa18e4 100644
--- a/doc/props/P_WC
+++ b/doc/props/P_WC
@@ -1,37 +1,56 @@
-NAME:
-	P_WC				"wc"
 
-DEFINIERT IN:
-	/sys/weapon.h
+P_WC
+****
 
-BESCHREIBUNG:
-	Die Waffenklasse (engl: weapon class), also die Staerke der Waffe,
-	stellt einen numerischen Wert dar, der umso groesser ist, desto mehr
-	Schaden eine Waffe im Kampf anrichtet. Beim Zuecken oder Wegstecken
-	einer Waffe durch ein Lebewesen wird innerhalb des Lebewesens auch
-	die Property P_TOTAL_WC aktualisiert, welche somit immer die
-	aktuelle Angriffsstaerke enthaelt. Beim Zuecken erhaelt sie hierbei
-	die Waffenklasse der Waffe und beim Wegstecken die Angriffsstaerke
-	aus der Property P_HANDS (Kaempfen mit blossen Haenden).
-	Die Waffenklasse von einhaendigen Waffen sollte 150 nicht
-	ueberschreiten, die Obergrenze fuer zweihaendige Waffen liegt bei
-	200. Ausnahmen von dieser Regel beduerfen der Absprache mit dem
-	Erzmagier fuer Ruestungen, Waffen und Monster!
-	Negative Werte bewirken keinen Schaden, allerdings auch keine
-	Heilung.
 
-BEMERKUNGEN:
-	Query- und Setmethoden auf P_WC sollten unbedingt vermieden werden. Sie
-	fuehren in der Regel zu massiven Inkonsistenzen im Mechanismus der 
-	Ruestungsbeschaedigung und -reparatur.
-	Auch mit einer HitFunc() duerfen die Obergrenzen nicht ohne
-	Absprache ueberschritten werden! Ausserdem ist es ratsam, die
-	zusaetzlichen Kampfeigenschaften in P_EFFECTIVE_WC gesondert
-	anzugeben.
+NAME
+====
 
-SIEHE AUCH:
-	/std/weapon.c, /std/weapon/combat.c
-	P_DAMAGED, P_EFFECTIVE_WC, P_WEAPON_TYPE
-	Damage()
-----------------------------------------------------------------------------
-02.10.2007, Zesstra
+   P_WC                            "wc"
+
+
+DEFINIERT IN
+============
+
+   /sys/weapon.h
+
+
+BESCHREIBUNG
+============
+
+   Die Waffenklasse (engl: weapon class), also die Staerke der Waffe,
+   stellt einen numerischen Wert dar, der umso groesser ist, desto mehr
+   Schaden eine Waffe im Kampf anrichtet. Beim Zuecken oder Wegstecken
+   einer Waffe durch ein Lebewesen wird innerhalb des Lebewesens auch
+   die Property P_TOTAL_WC aktualisiert, welche somit immer die
+   aktuelle Angriffsstaerke enthaelt. Beim Zuecken erhaelt sie hierbei
+   die Waffenklasse der Waffe und beim Wegstecken die Angriffsstaerke
+   aus der Property P_HANDS (Kaempfen mit blossen Haenden).
+   Die Waffenklasse von einhaendigen Waffen sollte 150 nicht
+   ueberschreiten, die Obergrenze fuer zweihaendige Waffen liegt bei
+   200. Ausnahmen von dieser Regel beduerfen der Absprache mit der
+   Balance.
+   Negative Werte bewirken keinen Schaden, allerdings auch keine
+   Heilung.
+
+
+BEMERKUNGEN
+===========
+
+   Query- und Setmethoden auf P_WC sollten unbedingt vermieden werden. Sie
+   fuehren in der Regel zu massiven Inkonsistenzen im Mechanismus der
+   Ruestungsbeschaedigung und -reparatur.
+   Auch mit einer HitFunc() duerfen die Obergrenzen nicht ohne
+   Absprache ueberschritten werden! Ausserdem ist es ratsam, die
+   zusaetzlichen Kampfeigenschaften in P_EFFECTIVE_WC gesondert
+   anzugeben.
+
+
+SIEHE AUCH
+==========
+
+   /std/weapon.c, /std/weapon/combat.c
+   P_DAMAGED, P_EFFECTIVE_WC, P_WEAPON_TYPE
+   Damage()
+
+14.02.2017, Bugfix
diff --git a/doc/props/P_WEAPON b/doc/props/P_WEAPON
index 5b1854c..a7f68b2 100644
--- a/doc/props/P_WEAPON
+++ b/doc/props/P_WEAPON
@@ -1,17 +1,31 @@
+
 P_WEAPON
+********
 
-NAME:
-     P_WEAPON                      "weapon"
 
-DEFINIERT IN:
-     /sys/properties.h
+NAME
+====
 
-BESCHREIBUNG:
-      Momentan gezueckte Waffe. Im Living gesetzt.
+   P_WEAPON                      "weapon"
 
-SIEHE AUCH:
-      Verwandt:		P_ARMOURS
-      Waffen:		P_WC, P_WEAPON_TYPE, P_DAM_TYPE, P_NR_HANDS, P_PARRY
-      Sonstiges:	P_UNWIELD_TIME, P_EQUIP_TIME, P_LAST_USE
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Momentan gezueckte Waffe. Im Living gesetzt.
+
+
+SIEHE AUCH
+==========
+
+   Verwandt:         P_ARMOURS
+   Waffen:           P_WC, P_WEAPON_TYPE, P_DAM_TYPE, P_NR_HANDS, P_PARRY
+   Sonstiges:        P_UNWIELD_TIME, P_EQUIP_TIME, P_LAST_USE
 
 10.Feb 2005 Gloinson
diff --git a/doc/props/P_WEAPON_TEACHER b/doc/props/P_WEAPON_TEACHER
index 685f9e4..ebeb788 100644
--- a/doc/props/P_WEAPON_TEACHER
+++ b/doc/props/P_WEAPON_TEACHER
@@ -1,18 +1,29 @@
-NAME:
-    P_WEAPON_TEACHER              "weapon_teacher"
+
+P_WEAPON_TEACHER
+****************
 
 
-DEFINIERT IN:
-    combat.h
+NAME
+====
 
-BESCHREIBUNG:
-    Diese Property wird in einem Azubi gesetzt (zur Zeit nur fuer die 
-    Kaempfer-Gilde), der selbst ueber die allgemeinen Waffenskills
-    verfuegt.
+   P_WEAPON_TEACHER              "weapon_teacher"
 
-    In diese Property wird der Name eines Kaempfergilden-Ausbilders
-    eingetragen.
 
-    Unter Anleitung des Ausbilders lernt der Azubi dann etwas schneller
-    die allgemeinen Waffenskills.
+DEFINIERT IN
+============
 
+   combat.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property wird in einem Azubi gesetzt (zur Zeit nur fuer die
+   Kaempfer-Gilde), der selbst ueber die allgemeinen Waffenskills
+   verfuegt.
+
+   In diese Property wird der Name eines Kaempfergilden-Ausbilders
+   eingetragen.
+
+   Unter Anleitung des Ausbilders lernt der Azubi dann etwas schneller
+   die allgemeinen Waffenskills.
diff --git a/doc/props/P_WEAPON_TYPE b/doc/props/P_WEAPON_TYPE
index 06f3c0b..d200054 100644
--- a/doc/props/P_WEAPON_TYPE
+++ b/doc/props/P_WEAPON_TYPE
@@ -1,31 +1,41 @@
+
 P_WEAPON_TYPE
+*************
 
-NAME:
-     P_WEAPON_TYPE "weapon_type"
 
-DEFINIERT IN:
-     <weapon.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Um was fuer eine Waffe handelt es sich? Es stehen verschiedene
-     Typen zur Auswahl. Man sollte hier nur die in <combat.h> definierten
-     Konstanten verwenden:
+   P_WEAPON_TYPE "weapon_type"
 
-        WT_AMMU           Munition fuer Fernkampfwaffen
-        WT_AXE            Axt
-        WT_CLUB           Keule
-        WT_HANDS          blosse Haende
-        WT_KNIFE          Messer, Dolch
-        WT_RANGED_WEAPON  Fernkampfwaffe
-        WT_SPEAR          Speer
-        WT_STAFF          Kampfstab
-        WT_SWORD          Schwert
-        WT_WHIP           Peitsche
-        WT_MISC           Sonstiges
 
-    Der Waffentyp WT_MISC ist schnoedem Tand und nutzlosem Kram vorbehalten.
-    Waffen dieses Typs duerfen keine P_WC > 0 besitzen oder kampfrelevante
-    Bedeutung haben.
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
+   <weapon.h>
+
+
+BESCHREIBUNG
+============
+
+    Um was fuer eine Waffe handelt es sich? Es stehen verschiedene
+    Typen zur Auswahl. Man sollte hier nur die in <combat.h> definierten
+    Konstanten verwenden:
+
+       WT_AMMU           Munition fuer Fernkampfwaffen
+       WT_AXE            Axt
+       WT_CLUB           Keule
+       WT_HANDS          blosse Haende
+       WT_KNIFE          Messer, Dolch
+       WT_RANGED_WEAPON  Fernkampfwaffe
+       WT_SPEAR          Speer
+       WT_STAFF          Kampfstab
+       WT_SWORD          Schwert
+       WT_WHIP           Peitsche
+       WT_MISC           Sonstiges
+
+   Der Waffentyp WT_MISC ist schnoedem Tand und nutzlosem Kram vorbehalten.
+   Waffen dieses Typs duerfen keine P_WC > 0 besitzen oder kampfrelevante
+   Bedeutung haben.
+
 Letzte Aenderung: 27. Mai 2015, Arathorn.
diff --git a/doc/props/P_WEAR_FUNC b/doc/props/P_WEAR_FUNC
index edc9bcc..d288187 100644
--- a/doc/props/P_WEAR_FUNC
+++ b/doc/props/P_WEAR_FUNC
@@ -1,24 +1,44 @@
+
 P_WEAR_FUNC
+***********
 
-NAME:
-     P_WEAR_FUNC "wear_func"
 
-DEFINIERT IN:
-     <armour.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Falls ein Objekt eine WearFunc() fuer die Ruestung / Kleidung definiert, 
-     so muss dieses Objekt in dieser Property eingetragen sein.
+   P_WEAR_FUNC "wear_func"
 
-     Die Auswertung dieser Property erfolgt in Laufe eines DoWear() in der
-     nicht-oeffentlichen Funktion _check_wear_restrictions()..
 
-BEISPIELE:
-     Siehe das Beispiel zu WearFunc()
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     armours, clothing, /std/clothing/wear.c, /std/armour/wear.c
-     WearFunc(), InformWear()
+   <armour.h>
 
-LETZTE AeNDERUNG:
-15.02.2009, Zesstra
\ No newline at end of file
+
+BESCHREIBUNG
+============
+
+   Falls ein Objekt eine WearFunc() fuer die Ruestung / Kleidung definiert,
+   so muss dieses Objekt in dieser Property eingetragen sein.
+
+   Die Auswertung dieser Property erfolgt in Laufe eines DoWear() in der
+   nicht-oeffentlichen Funktion _check_wear_restrictions()..
+
+
+BEISPIELE
+=========
+
+   Siehe das Beispiel zu WearFunc()
+
+
+SIEHE AUCH
+==========
+
+   armours, clothing, /std/clothing/wear.c, /std/armour/wear.c
+   WearFunc(), InformWear()
+
+
+LETZTE AeNDERUNG
+================
+
+15.02.2009, Zesstra
diff --git a/doc/props/P_WEAR_MSG b/doc/props/P_WEAR_MSG
index 31407fa..69fbf44 100644
--- a/doc/props/P_WEAR_MSG
+++ b/doc/props/P_WEAR_MSG
@@ -1,61 +1,82 @@
+
 P_WEAR_MSG
-NAME:
-    P_WEAR_MSG                       "wear_msg"                       
+**********
 
-DEFINIERT IN:
-    /sys/armour.h
 
-BESCHREIBUNG:
-     Zweiteiliges Array mit Meldungen, die beim Anziehen einer Ruestung oder
-     Kleidung an den Spieler und die Umgebung ausgegeben werden.
-     Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
-     Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
-     jedoch beruecksichtigt.
+NAME
+====
 
-     Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
-     man replace_personal()).
+   P_WEAR_MSG                       "wear_msg"
 
-     [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
-      moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
-      in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
-      den Waffennamen.]
 
-BEISPIELE:
-    SetProp(P_NAME, "Helm");
-    SetProp(P_WEAR_MSG,
-     ({"Du stuelpst die @WEN2 ueber.", 
-       "@WER1 stuelpt sich @WENU2 ueber."}));
+DEFINIERT IN
+============
 
-    -> beim Anziehe durch Urk:
-       Urk bekommt: Du stuelpst dir den Helm ueber.
-       Der Raum:    Urk stuelpt sich einen Helm ueber.
+   /sys/armour.h
 
-    SetProp(P_WEAR_MSG,
-     ({"Als Du Dir den langen Mantel ueberziehst, steckst Du erstmal "
-       "mit Deinem dicken Schaedel fest. Doch nach einem kraeftigen "
-       "Ruck bist Du endlich durch und siehst wieder etwas.",
-       "@WER1 zieht sich einen langen Mantel ueber und bleibt "
-       "prompt mit dem dicken Schaedel stecken. Doch nach einem "
-       "kraeftigen Ruck kann @WERQP1 wieder etwas sehen und grinst Dich "
-       "verlegen an."}));
 
-    -> beim Anziehen durch Urk:
-       Urk bekommt: Als Du Dir den langen Mantel ueberziehst, steckst Du
-		    erstmal mit Deinem dicken Schaedel fest. Doch nach einem
-		    kraeftigen Ruck bist Du endlich durch und siehst wieder
-		    etwas.
+BESCHREIBUNG
+============
 
-       Der Raum:    Urk zieht sich einen langen Mantel ueber und bleibt
-		    prompt mit dem dicken Schaedel stecken. Doch nach
-		    einem kraeftigen Ruck kann er wieder etwas sehen und
-		    grinst Dich verlegen an.
+   Zweiteiliges Array mit Meldungen, die beim Anziehen einer Ruestung oder
+   Kleidung an den Spieler und die Umgebung ausgegeben werden.
+   Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
+   Umgebung. Zeilenumbrueche werden automatisch gemacht, existierende
+   jedoch beruecksichtigt.
 
-SIEHE AUCH:
-     Aehnliches: P_UNWEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG
-                 P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
-     Funktionen: WearFunc, UnwearFunc, InformWear()
-     Sonstiges:  replace_personal(E), clothing, /std/clothing/wear.c
-                 armour, /std/armour/wear.c
+   Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
+   man replace_personal()).
 
-LETZTE AeNDERUNG:
-15.02.2009
\ No newline at end of file
+   [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
+    moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
+    in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
+    den Waffennamen.]
+
+
+BEISPIELE
+=========
+
+   SetProp(P_NAME, "Helm");
+   SetProp(P_WEAR_MSG,
+    ({"Du stuelpst die @WEN2 ueber.",
+      "@WER1 stuelpt sich @WENU2 ueber."}));
+
+   -> beim Anziehe durch Urk:
+      Urk bekommt: Du stuelpst dir den Helm ueber.
+      Der Raum:    Urk stuelpt sich einen Helm ueber.
+
+   SetProp(P_WEAR_MSG,
+    ({"Als Du Dir den langen Mantel ueberziehst, steckst Du erstmal "
+      "mit Deinem dicken Schaedel fest. Doch nach einem kraeftigen "
+      "Ruck bist Du endlich durch und siehst wieder etwas.",
+      "@WER1 zieht sich einen langen Mantel ueber und bleibt "
+      "prompt mit dem dicken Schaedel stecken. Doch nach einem "
+      "kraeftigen Ruck kann @WERQP1 wieder etwas sehen und grinst Dich "
+      "verlegen an."}));
+
+   -> beim Anziehen durch Urk:
+      Urk bekommt: Als Du Dir den langen Mantel ueberziehst, steckst Du
+                   erstmal mit Deinem dicken Schaedel fest. Doch nach einem
+                   kraeftigen Ruck bist Du endlich durch und siehst wieder
+                   etwas.
+
+      Der Raum:    Urk zieht sich einen langen Mantel ueber und bleibt
+                   prompt mit dem dicken Schaedel stecken. Doch nach
+                   einem kraeftigen Ruck kann er wieder etwas sehen und
+                   grinst Dich verlegen an.
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_UNWEAR_MSG, P_WIELD_MSG, P_UNWIELD_MSG
+               P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
+   Funktionen: WearFunc, UnwearFunc, InformWear()
+   Sonstiges:  replace_personal(E), clothing, /std/clothing/wear.c
+               armour, /std/armour/wear.c
+
+
+LETZTE AeNDERUNG
+================
+
+15.02.2009
diff --git a/doc/props/P_WEIGHT b/doc/props/P_WEIGHT
index 22af5f0..4c37e46 100644
--- a/doc/props/P_WEIGHT
+++ b/doc/props/P_WEIGHT
@@ -1,26 +1,43 @@
-NAME:
-    P_WEIGHT                      "weight"                      
 
-DEFINIERT IN:
-    /sys/thing/restrictions.h
+P_WEIGHT
+********
 
-BESCHREIBUNG:
 
-     - Objekte
-       Das Gewicht eines Objetes in Gramm.
+NAME
+====
 
-     - Speisen
-       Gewicht einer Portion der Speise.
-       
-BEMERKUNGEN:
-     In tragbaren Speisen (erben von /std/food) setzt man mit SetProp
-     das Gewicht _einer_ Portion. Per QueryProp erhaelt man aber das
-     Gesamtgewicht der Speise inclusive des eventuell vorhandenen Behaelters.
-     Das Gewicht des Behaelters wird dabei aus P_EMPTY_PROPS[P_WEIGHT]
-     gelesen.
-     
-SIEHE AUCH:
-     Speisen: wiz/food, P_EMPTY_PROPS
+   P_WEIGHT                      "weight"
 
-------------------------------------------------------------------------------
-Last modified: Thu Oct 28 12:15:00 2010 by Caldra
\ No newline at end of file
+
+DEFINIERT IN
+============
+
+   /sys/thing/restrictions.h
+
+
+BESCHREIBUNG
+============
+
+   - Objekte
+     Das Gewicht eines Objetes in Gramm.
+
+   - Speisen
+     Gewicht einer Portion der Speise.
+
+
+BEMERKUNGEN
+===========
+
+   In tragbaren Speisen (erben von /std/food) setzt man mit SetProp
+   das Gewicht _einer_ Portion. Per QueryProp erhaelt man aber das
+   Gesamtgewicht der Speise inclusive des eventuell vorhandenen Behaelters.
+   Das Gewicht des Behaelters wird dabei aus P_EMPTY_PROPS[P_WEIGHT]
+   gelesen.
+
+
+SIEHE AUCH
+==========
+
+   Speisen: wiz/food, P_EMPTY_PROPS
+
+Last modified: Thu Oct 28 12:15:00 2010 by Caldra
diff --git a/doc/props/P_WEIGHT_PERCENT b/doc/props/P_WEIGHT_PERCENT
index 7bb1ad3..a4d0506 100644
--- a/doc/props/P_WEIGHT_PERCENT
+++ b/doc/props/P_WEIGHT_PERCENT
@@ -1,25 +1,47 @@
-NAME:
-    P_WEIGHT_PERCENT              "weight_percent"              
 
-DEFINIERT IN:
-    /sys/properties.h
+P_WEIGHT_PERCENT
+****************
 
-BESCHREIBUNG:
-     Diese Property gibt an, wieviel Prozent des Gewichts des Inhaltes
-     "nach aussen" wiedergegeben werden.
 
-BEMERKUNGEN:
-     Alle Werte die < 50% liegen sollten sehr gut begruendet und mit Vor-
-     sicht verwendet werden. Hier koennten dann zum Beispiel P_MAX_OBJECTS
-     auf einen kleinen Wert begrenzt werden.
+NAME
+====
 
-     Container die hier einen Wert ueber dem des Postpakets haben, sollten
-     auch schwer zu erreichen sein. Auf jeden Fall mit dem Regionsmagier
-     besprechen!
+   P_WEIGHT_PERCENT              "weight_percent"
 
-BEISPIELE:
-     Um sich zu orientieren kann das Postpaket von Loco als Beispiel hin-
-     zugezogen werden (/p/service/loco/obj/parcel).
 
-SIEHE AUCH:
-     P_MAX_OBJECTS, P_MAX_WEIGHT, P_LIGHT_TRANSPARENCY, container
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property gibt an, wieviel Prozent des Gewichts des Inhaltes
+   "nach aussen" wiedergegeben werden.
+
+
+BEMERKUNGEN
+===========
+
+   Alle Werte die < 50% liegen sollten sehr gut begruendet und mit Vor-
+   sicht verwendet werden. Hier koennten dann zum Beispiel P_MAX_OBJECTS
+   auf einen kleinen Wert begrenzt werden.
+
+   Container die hier einen Wert ueber dem des Postpakets haben, sollten
+   auch schwer zu erreichen sein. Auf jeden Fall mit dem Regionsmagier
+   besprechen!
+
+
+BEISPIELE
+=========
+
+   Um sich zu orientieren kann das Postpaket von Loco als Beispiel hin-
+   zugezogen werden (/p/service/loco/obj/parcel).
+
+
+SIEHE AUCH
+==========
+
+   P_MAX_OBJECTS, P_MAX_WEIGHT, P_LIGHT_TRANSPARENCY, container
diff --git a/doc/props/P_WEIGHT_PER_UNIT b/doc/props/P_WEIGHT_PER_UNIT
index 2796b7b..c777b65 100644
--- a/doc/props/P_WEIGHT_PER_UNIT
+++ b/doc/props/P_WEIGHT_PER_UNIT
@@ -1,13 +1,29 @@
-NAME:
-    P_WEIGHT_PER_UNIT             "weight_per_unit"             
 
-DEFINIERT IN:
-    /sys/properties.h
+P_WEIGHT_PER_UNIT
+*****************
 
-BESCHREIBUNG:
-     Gewicht in Gramm pro Untereinheit.
 
-BEMERKUNGEN:
-     Deprecated. Bitte SetGramsPerUnits() (U_GPU) benutzen.
+NAME
+====
+
+   P_WEIGHT_PER_UNIT             "weight_per_unit"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Gewicht in Gramm pro Untereinheit.
+
+
+BEMERKUNGEN
+===========
+
+   Deprecated. Bitte SetGramsPerUnits() (U_GPU) benutzen.
 
 25.Aug 2015 Gloinson
diff --git a/doc/props/P_WIELDED b/doc/props/P_WIELDED
index bce8580..26bcff7 100644
--- a/doc/props/P_WIELDED
+++ b/doc/props/P_WIELDED
@@ -1,21 +1,37 @@
+
 P_WIELDED
+*********
 
-NAME:
-     P_WIELDED "wielded"
 
-DEFINIERT IN:
-     <weapon.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Ist diese Property gesetzt, dann ist die Waffe gerade gezueckt. Der
-     Traeger ist in der Property vermerkt.
+   P_WIELDED "wielded"
 
-BEMERKUNGEN:
-     Diese Property laesst sich nur abfragen!
 
-SIEHE AUCH:
-     /std/weapon.c
-     P_WEAPON
+DEFINIERT IN
+============
 
-----------------------------------------------------------------------------
-Last modified: 2015-Jul-11, Arathorn 
+   <weapon.h>
+
+
+BESCHREIBUNG
+============
+
+   Ist diese Property gesetzt, dann ist die Waffe gerade gezueckt. Der
+   Traeger ist in der Property vermerkt.
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property laesst sich nur abfragen!
+
+
+SIEHE AUCH
+==========
+
+   /std/weapon.c
+   P_WEAPON
+
+Last modified: 2015-Jul-11, Arathorn
diff --git a/doc/props/P_WIELD_FUNC b/doc/props/P_WIELD_FUNC
index fac481b..fbe49a7 100644
--- a/doc/props/P_WIELD_FUNC
+++ b/doc/props/P_WIELD_FUNC
@@ -1,22 +1,38 @@
+
 P_WIELD_FUNC
+************
 
-NAME:
-     P_WIELD_FUNC "wield_func"
 
-DEFINIERT IN:
-     <weapon.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Falls ein Objekt eine WieldFunc() fuer die Waffe definiert, so muss
-     dieses Objekt in dieser Property eingetragen werden.
+   P_WIELD_FUNC "wield_func"
 
-     Die Auswertung dieser Property erfolgt in wield_me().
 
-BEISPIELE:
-     Siehe das Beispiel zu WieldFunc()
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     /std/weapon.c, WieldFunc()
+   <weapon.h>
 
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   Falls ein Objekt eine WieldFunc() fuer die Waffe definiert, so muss
+   dieses Objekt in dieser Property eingetragen werden.
+
+   Die Auswertung dieser Property erfolgt in wield_me().
+
+
+BEISPIELE
+=========
+
+   Siehe das Beispiel zu WieldFunc()
+
+
+SIEHE AUCH
+==========
+
+   /std/weapon.c, WieldFunc()
+
 Last modified: Sun May 19 15:40:02 1996 by Wargon
diff --git a/doc/props/P_WIELD_MSG b/doc/props/P_WIELD_MSG
index 357a304..fa9dafc 100644
--- a/doc/props/P_WIELD_MSG
+++ b/doc/props/P_WIELD_MSG
@@ -1,57 +1,74 @@
+
 P_WIELD_MSG
-NAME:
-     P_WIELD_MSG                       "wield_msg" 
+***********
 
-DEFINIERT IN:
-     /sys/weapon.h
 
-BESCHREIBUNG:
+NAME
+====
 
-     Zweiteiliges Array mit Meldungen, die beim Zuecken einer Waffe an den
-     Spieler und die Umgebung ausgegeben werden.
-     Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
-     Umgebung.  Zeilenumbrueche werden automatisch gemacht, existierende
-     jedoch beruecksichtigt.
+   P_WIELD_MSG                       "wield_msg"
 
-     Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
-     man replace_personal()).
 
-     [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
-      moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
-      in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
-      den Waffennamen.]
+DEFINIERT IN
+============
 
-BEISPIELE:
-    SetProp(P_NAME, "Streitkolben");
-    SetProp(P_WIELD_MSG,
-     ({"Du zueckst @WEN2 und stoesst einen markerschuetternden Schrei aus.", 
-       "@WER1 zueckt @WENU2 und stoesst einen markerschuetternden Schrei "
-       "aus." }));
+   /sys/weapon.h
 
-    -> beim Zuecken durch Urk:
-       Urk bekommt: Du zueckst den Streitkolben und stoesst einen
-		    markerschuetternden Schrei aus.
-       Der Raum:    Urk zueckt einen Streitkolben und stoesst einen
-		    markerschuetternden Schrei aus.
 
-    SetProp(P_WIELD_MSG,
-     ({"Du zueckst den klobigen Streitkolben und fuchtelst damit "
-       "wild vor Deiner Nase herum.",
-       "@WER1 zueckt einen klobigen Streitkolben und fuchtelt "
-       "damit wild vor der eigenen Nase herum. Hoffentlich verletzt "
-       "@WERQP1 sich dabei nicht ..."}));
+BESCHREIBUNG
+============
 
-    -> beim Zuecken durch Urk:
-       Urk bekommt: Du zueckst den klobigen Streitkolben und fuchtelst
-                    damit wild vor Deiner Nase herum.
-       Der Raum:    Urk zueckt einen klobigen Streitkolben und fuchtelt
-		    damit wild vor der eigenen Nase herum. Hoffentlich
-                    verletzt er sich dabei nicht ...
+   Zweiteiliges Array mit Meldungen, die beim Zuecken einer Waffe an den
+   Spieler und die Umgebung ausgegeben werden.
+   Der erste Eintrag geht an den Spieler, der zweite Eintrag an die
+   Umgebung.  Zeilenumbrueche werden automatisch gemacht, existierende
+   jedoch beruecksichtigt.
 
-SIEHE AUCH:
-     Aehnliches: P_UNWIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
-                 P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
-     Funktionen: UnwieldFunc, WieldFunc
-     Sonstiges:  replace_personal(E), /std/weapon/combat.c
+   Platzhalter fuer Spieler ist @WExxx1, fuer die Waffe @WExxx2 (siehe
+   man replace_personal()).
+
+   [Wegen Abwaertskompatibilitaet ist auch noch der Platzhalter %s
+    moeglich, wobei in der eigenen Meldung %s fuer den Waffennamen steht,
+    in der an den Raum das erste %s fuer den Spielernamen, das zweite fuer
+    den Waffennamen.]
+
+
+BEISPIELE
+=========
+
+   SetProp(P_NAME, "Streitkolben");
+   SetProp(P_WIELD_MSG,
+    ({"Du zueckst @WEN2 und stoesst einen markerschuetternden Schrei aus.",
+      "@WER1 zueckt @WENU2 und stoesst einen markerschuetternden Schrei "
+      "aus." }));
+
+   -> beim Zuecken durch Urk:
+      Urk bekommt: Du zueckst den Streitkolben und stoesst einen
+                   markerschuetternden Schrei aus.
+      Der Raum:    Urk zueckt einen Streitkolben und stoesst einen
+                   markerschuetternden Schrei aus.
+
+   SetProp(P_WIELD_MSG,
+    ({"Du zueckst den klobigen Streitkolben und fuchtelst damit "
+      "wild vor Deiner Nase herum.",
+      "@WER1 zueckt einen klobigen Streitkolben und fuchtelt "
+      "damit wild vor der eigenen Nase herum. Hoffentlich verletzt "
+      "@WERQP1 sich dabei nicht ..."}));
+
+   -> beim Zuecken durch Urk:
+      Urk bekommt: Du zueckst den klobigen Streitkolben und fuchtelst
+                   damit wild vor Deiner Nase herum.
+      Der Raum:    Urk zueckt einen klobigen Streitkolben und fuchtelt
+                   damit wild vor der eigenen Nase herum. Hoffentlich
+                   verletzt er sich dabei nicht ...
+
+
+SIEHE AUCH
+==========
+
+   Aehnliches: P_UNWIELD_MSG, P_WEAR_MSG, P_UNWEAR_MSG
+               P_DROP_MSG, P_PUT_MSG, P_GIVE_MSG, P_PICK_MSG
+   Funktionen: UnwieldFunc, WieldFunc
+   Sonstiges:  replace_personal(E), /std/weapon/combat.c
 
 29. Maerz 2004 Gloinson
diff --git a/doc/props/P_WIMPY b/doc/props/P_WIMPY
index 97633fa..d0ba078 100644
--- a/doc/props/P_WIMPY
+++ b/doc/props/P_WIMPY
@@ -1,15 +1,30 @@
-NAME:
-    P_WIMPY                       "wimpy"                       
 
-DEFINIERT IN:
-    /sys/properties.h
+P_WIMPY
+*******
 
-BESCHREIBUNG:
-     Numerischer Wert. Das Lebewesen flieht, wenn die Lebenspunkte
-     unter diesen Wert sinken.
 
-SIEHE AUCH:
-     P_WIMPY_DIRECTION
+NAME
+====
 
-----------------------------------------------------------------------------
+   P_WIMPY                       "wimpy"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert. Das Lebewesen flieht, wenn die Lebenspunkte
+   unter diesen Wert sinken.
+
+
+SIEHE AUCH
+==========
+
+   P_WIMPY_DIRECTION
+
 Letzte Aenderung: Mon Feb 12 17:50:47 2001 von Tilly
diff --git a/doc/props/P_WIMPY_DIRECTION b/doc/props/P_WIMPY_DIRECTION
index 57d2f01..11bedeb 100644
--- a/doc/props/P_WIMPY_DIRECTION
+++ b/doc/props/P_WIMPY_DIRECTION
@@ -1,22 +1,40 @@
-NAME:
-    P_WIMPY_DIRECTION             "wimpy_dir"                   
 
-DEFINIERT IN:
-    /sys/properties.h
+P_WIMPY_DIRECTION
+*****************
 
-BESCHREIBUNG:
-     Fluchtrichtung eines Spielers oder NPCs
 
-BEMERKUNGEN:
-     Die Fluchtrichtung kann nicht nur ein Ausgang (sueden, osten, ...)
-     sein, sondern auch ein Kommando, welches der Spieler beim Anschlagen
-     ausfuehrt (z.b. <kletter seil hoch> oder <rufe Elender Mist!>).
+NAME
+====
 
-     Ausgefuehrt wird die Fluchtrichtung per command(), wenn die LP des 
-     Lebewesens unter die mit <vorsicht> angegebe LP-Grenze sinkt.
+   P_WIMPY_DIRECTION             "wimpy_dir"
 
-SIEHE AUCH:
-     P_WIMPY
 
-----------------------------------------------------------------------------
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Fluchtrichtung eines Spielers oder NPCs
+
+
+BEMERKUNGEN
+===========
+
+   Die Fluchtrichtung kann nicht nur ein Ausgang (sueden, osten, ...)
+   sein, sondern auch ein Kommando, welches der Spieler beim Anschlagen
+   ausfuehrt (z.b. <kletter seil hoch> oder <rufe Elender Mist!>).
+
+   Ausgefuehrt wird die Fluchtrichtung per command(), wenn die LP des
+   Lebewesens unter die mit <vorsicht> angegebe LP-Grenze sinkt.
+
+
+SIEHE AUCH
+==========
+
+   P_WIMPY
+
 Letzte Aenderung: Mon Feb 12 17:46:47 2001 von Tilly
diff --git a/doc/props/P_WIZ_DEBUG b/doc/props/P_WIZ_DEBUG
index cf7ac21..0bea2ad 100644
--- a/doc/props/P_WIZ_DEBUG
+++ b/doc/props/P_WIZ_DEBUG
@@ -1,20 +1,37 @@
-NAME:
-    P_WIZ_DEBUG                    "std_p_wizdebug"
 
-DEFINIERT IN:
-    /sys/player/comm.h
+P_WIZ_DEBUG
+***********
 
-BESCHREIBUNG:
-     Gesetzt, wenn der Magier (oder ein Testspieler) Debugmeldungen wahrnehmen
-     moechte.
-     Debugmeldungen sind Nachrichten, die mit dem Typ MT_DEBUG an ReceiveMsg()
-     uebergeben werden.
-     
-     Die Werte von P_WIZ_DEBUG sind zur Zeit 0 oder 1, das kann sich aber
-     jederzeit aendern.
-     Magier aendern diese Prop bitte ueber "mschau".
 
-SIEHE AUCH:
-     mschau
-     P_WANTS_TO_LEARN
+NAME
+====
 
+   P_WIZ_DEBUG                    "std_p_wizdebug"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/comm.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt, wenn der Magier (oder ein Testspieler) Debugmeldungen wahrnehmen
+   moechte.
+   Debugmeldungen sind Nachrichten, die mit dem Typ MT_DEBUG an ReceiveMsg()
+   uebergeben werden.
+
+
+
+   Die Werte von P_WIZ_DEBUG sind zur Zeit 0 oder 1, das kann sich aber
+   jederzeit aendern.
+   Magier aendern diese Prop bitte ueber "mschau".
+
+
+SIEHE AUCH
+==========
+
+   mschau
+   P_WANTS_TO_LEARN
diff --git a/doc/props/P_WORN b/doc/props/P_WORN
index 7afd03e..999ab76 100644
--- a/doc/props/P_WORN
+++ b/doc/props/P_WORN
@@ -1,40 +1,63 @@
+
 P_WORN
+******
 
-NAME:
-     P_WORN "worn"
 
-DEFINIERT IN:
-     <armour.h>
+NAME
+====
 
-BESCHREIBUNG:
-     Mittels dieser Property laesst sich ermitteln, ob eine Ruestung bzw. 
-     Kleidung derzeit getragen wird und wenn ja, von wem.
+   P_WORN "worn"
 
-     Entweder enthaelt die Property den Wert 0, oder sie enthaelt den
-     Traeger der Ruestung / Kleidung (als Objekt).
 
-BEMERKUNGEN:
-     Diese Property laesst sich nur abfragen!
+DEFINIERT IN
+============
 
-BEISPIELE:
-     Eine DefendFunc() koennte dem Traeger der Ruestung wie folgt etwas
-     mitteilen:
+   <armour.h>
 
-     // Die Ruestung gibt Schutz gegen Feuer
-     int DefendFunc(string *dtyp, mixed spell, object enemy)
-     {
-       if (member(dtyp, DT_FIRE) != -1) {
-         // P_WORN ist auf jeden Fall gesetzt, da sonst die
-         // DefendFunc ueberhaupt nicht aufgerufen wuerde!
-         tell_object(QueryProp(P_WORN),
-           "Die Flammen zuengeln nur leicht ueber die Ruestung.\n");
-         return 10;
-       }
-       return 0;
+
+BESCHREIBUNG
+============
+
+   Mittels dieser Property laesst sich ermitteln, ob eine Ruestung bzw.
+   Kleidung derzeit getragen wird und wenn ja, von wem.
+
+   Entweder enthaelt die Property den Wert 0, oder sie enthaelt den
+   Traeger der Ruestung / Kleidung (als Objekt).
+
+
+BEMERKUNGEN
+===========
+
+   Diese Property laesst sich nur abfragen!
+
+
+BEISPIELE
+=========
+
+   Eine DefendFunc() koennte dem Traeger der Ruestung wie folgt etwas
+   mitteilen:
+
+   // Die Ruestung gibt Schutz gegen Feuer
+   int DefendFunc(string *dtyp, mixed spell, object enemy)
+   {
+     if (member(dtyp, DT_FIRE) != -1) {
+       // P_WORN ist auf jeden Fall gesetzt, da sonst die
+       // DefendFunc ueberhaupt nicht aufgerufen wuerde!
+       tell_object(QueryProp(P_WORN),
+         "Die Flammen zuengeln nur leicht ueber die Ruestung.\n");
+       return 10;
      }
+     return 0;
+   }
 
-SIEHE AUCH:
-     clothing, /std/clothing.c, armour, /std/armour.c
 
-LETZTE AeNDERUNG:
-15.02.2009, Zesstra
\ No newline at end of file
+SIEHE AUCH
+==========
+
+   clothing, /std/clothing.c, armour, /std/armour.c
+
+
+LETZTE AeNDERUNG
+================
+
+15.02.2009, Zesstra
diff --git a/doc/props/P_XP b/doc/props/P_XP
index 097ec65..649f4e0 100644
--- a/doc/props/P_XP
+++ b/doc/props/P_XP
@@ -1,59 +1,81 @@
-NAME:
-     P_XP                    "xp"
 
-DEFINIERT IN:
-     /sys/living/life.h
+P_XP
+****
 
-BESCHREIBUNG:
-     Diese Property enthaelt die Anzahl der Erfahrungspunkte, die ein
-     Lebewesen erreicht hat. Dies geschieht insbesondere durch
-     Kampfhandlungen, wobei es sowohl fuer Einzelschlaege als auch fuer
-     das Toeten eines Opfers Punkte gibt.
 
-     Bei einzelnen Schlaegen ist die Vergabe von Erfahrungspunkten davon
-     abhaengig, wie stark man das Opfer getroffen hat, und welche
-     Gesamtwaffenklasse es hat (damage*P_TOTAL_WC/10).
+NAME
+====
 
-     Beim Todesschlag erhaelt man zusaetzlich die Erfahrungspunkte des
-     Opfers geteilt durch 100 (P_XP/100). Dieser Wert wird allerdings
-     gegebenenfalls auf ein Team aufgeteilt, sofern der Angreifer sich in
-     einem solchigen befindet.
+   P_XP                    "xp"
 
-BEISPIEL:
-     NPC's gibt man im allgemeinen einen levelabhaengigen Sockelwert an
-     Erfahrungspunkten mit, da sie nicht allzuoft selbst Gegner toeten
-     und somit kaum die Moeglichkeit haben, diese Punkte selbst
-     anzusammeln. Trotzdem sollen sie ja dem Spieler eine gewisse Anzahl
-     an Erfahrungspunkten liefern, wenn sie getoetet werden:
 
-       include "/sys/living/life.h"
-       inherit "std/npc";
-       void create() {
-         ...
-         SetProp(P_XP,25000000);
-       }
+DEFINIERT IN
+============
 
-     Beim Toeten gibt es nun 25.000.000/100 = 250.000 Erfahrungspunkte.
-     Damit wird der NPC sogar automatisch fuer die Vergabe von
-     Erstkillstufenpunkten vorgesehen.
+   /sys/living/life.h
 
-     Die Funktion create_default_npc() setzt P_XP und andere Eigenschaften
-     auf geeignete Werte.
 
-BEMERKUNGEN:
-     Die Vergabe von Erstkillstufenpunkten kann man ueber die Property
-     P_NO_SCORE unterbinden, die Vergabe von Erfahrungspunkten ueber
-     P_NO_XP. Automatisch werden Lebewesen fuer Erstkillstufenpunkte
-     vorgesehen, sofern sie eine der folgenden Grenzen ueberschritten
-     haben:
-       SCORE_LOW_MARK:  200000 (1 Stufenpunkt)
-       SCORE_HIGH_MARK: 600000 (2 Stufenpunkte)
-     Definiert sind die Konstanten in "/secure/scoremaster.h".
+BESCHREIBUNG
+============
 
-SIEHE AUCH:
-     Funktionen:  AddExp(), do_damage()
-     Verwandt:    P_NO_XP, P_LAST_XP
-     Sonstiges:   P_NO_SCORE, create_default_npc()
-                  P_TOTAL_WC
+   Diese Property enthaelt die Anzahl der Erfahrungspunkte, die ein
+   Lebewesen erreicht hat. Dies geschieht insbesondere durch
+   Kampfhandlungen, wobei es sowohl fuer Einzelschlaege als auch fuer
+   das Toeten eines Opfers Punkte gibt.
 
-14.Feb 2007 Gloinson
\ No newline at end of file
+   Bei einzelnen Schlaegen ist die Vergabe von Erfahrungspunkten davon
+   abhaengig, wie stark man das Opfer getroffen hat, und welche
+   Gesamtwaffenklasse es hat (damage*P_TOTAL_WC/10).
+
+   Beim Todesschlag erhaelt man zusaetzlich die Erfahrungspunkte des
+   Opfers geteilt durch 100 (P_XP/100). Dieser Wert wird allerdings
+   gegebenenfalls auf ein Team aufgeteilt, sofern der Angreifer sich in
+   einem solchigen befindet.
+
+
+BEISPIEL
+========
+
+   NPC's gibt man im allgemeinen einen levelabhaengigen Sockelwert an
+   Erfahrungspunkten mit, da sie nicht allzuoft selbst Gegner toeten
+   und somit kaum die Moeglichkeit haben, diese Punkte selbst
+   anzusammeln. Trotzdem sollen sie ja dem Spieler eine gewisse Anzahl
+   an Erfahrungspunkten liefern, wenn sie getoetet werden:
+
+     include "/sys/living/life.h"
+     inherit "std/npc";
+     void create() {
+       ...
+       SetProp(P_XP,25000000);
+     }
+
+   Beim Toeten gibt es nun 25.000.000/100 = 250.000 Erfahrungspunkte.
+   Damit wird der NPC sogar automatisch fuer die Vergabe von
+   Erstkillstufenpunkten vorgesehen.
+
+   Die Funktion create_default_npc() setzt P_XP und andere Eigenschaften
+   auf geeignete Werte.
+
+
+BEMERKUNGEN
+===========
+
+   Die Vergabe von Erstkillstufenpunkten kann man ueber die Property
+   P_NO_SCORE unterbinden, die Vergabe von Erfahrungspunkten ueber
+   P_NO_XP. Automatisch werden Lebewesen fuer Erstkillstufenpunkte
+   vorgesehen, sofern sie eine der folgenden Grenzen ueberschritten
+   haben:
+     SCORE_LOW_MARK:  200000 (1 Stufenpunkt)
+     SCORE_HIGH_MARK: 600000 (2 Stufenpunkte)
+   Definiert sind die Konstanten in "/secure/scoremaster.h".
+
+
+SIEHE AUCH
+==========
+
+   Funktionen:  AddExp(), do_damage()
+   Verwandt:    P_NO_XP, P_LAST_XP
+   Sonstiges:   P_NO_SCORE, create_default_npc()
+                P_TOTAL_WC
+
+14.Feb 2007 Gloinson
diff --git a/doc/props/P_X_ATTR_MOD b/doc/props/P_X_ATTR_MOD
index c6a8bda..14ab9a4 100644
--- a/doc/props/P_X_ATTR_MOD
+++ b/doc/props/P_X_ATTR_MOD
@@ -1,46 +1,68 @@
-NAME:
-    P_X_ATTR_MOD                  "extern_attributes_modifier"
 
-DEFINIERT IN:
-    /sys/living/attributes.h
+P_X_ATTR_MOD
+************
 
-BESCHREIBUNG:
-    Mapping, das die Attribute des Spielers veraendert, der das Objekt bei
-    sich hat.
 
-    Zu beachten:
-    Diese Property bitte _ausschliesslich_ mit SetProp aendern, weil damit
-    gleichzeitig UpdateAttributes() im Lebewesen aufgerufen und ggf. das
-    Objekt als Statmodifizierer registriert wird.
+NAME
+====
 
-    Diese Property ist fuer Krankheiten, Flueche etc. gedacht. Bei
-    Waffen/Ruestungen, die die Attribute beeinflussen sollen, verwendet
-    man besser P_M_ATTR_MOD.
+   P_X_ATTR_MOD                  "extern_attributes_modifier"
 
-    P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten
-    positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert,
-    CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert.
 
-BEMERKUNGEN:
-    Die Methode /std/thing/restrictions::_set_extern_attributes_modifier()
-    benachrichtigt tragende Livings ueber Aenderungen.
-    Bitte beim "Loeschen" der Prop nicht den Wert des jew. Attributes im
-    uebergebenen Mapping als 0 uebergeben, sondern das Key/Werte-Paar ganz
-    entfernen und bzw. ein leeres Mapping oder 0 uebergeben.
+DEFINIERT IN
+============
 
-BEISPIEL:
-    // Dem Lebewesen, das das Objekt bei sich hat, wird 2 von A_INT abgezogen
-    SetProp(P_X_ATTR_MOD,([A_INT:-2]));
+   /sys/living/attributes.h
 
-    // Stats wiederherstellen:
-    SetProp(P_X_ATTR_MOD,([]));
 
-SIEHE AUCH:
-    QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
-    SetAttribute(), SetRealAttribute(), UpdateAttributes(),
-    SetTimedAttrModifier(), QueryTimedAttrModifier(),
-    DeleteTimedAttrModifier(),
-    P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
-    P_TIMED_ATTR_MOD, P_M_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
+BESCHREIBUNG
+============
+
+   Mapping, das die Attribute des Spielers veraendert, der das Objekt bei
+   sich hat.
+
+   Zu beachten:
+   Diese Property bitte _ausschliesslich_ mit SetProp aendern, weil damit
+   gleichzeitig UpdateAttributes() im Lebewesen aufgerufen und ggf. das
+   Objekt als Statmodifizierer registriert wird.
+
+   Diese Property ist fuer Krankheiten, Flueche etc. gedacht. Bei
+   Waffen/Ruestungen, die die Attribute beeinflussen sollen, verwendet
+   man besser P_M_ATTR_MOD.
+
+   P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten
+   positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert,
+   CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert.
+
+
+BEMERKUNGEN
+===========
+
+   Die Methode /std/thing/restrictions::_set_extern_attributes_modifier()
+   benachrichtigt tragende Livings ueber Aenderungen.
+   Bitte beim "Loeschen" der Prop nicht den Wert des jew. Attributes im
+   uebergebenen Mapping als 0 uebergeben, sondern das Key/Werte-Paar ganz
+   entfernen und bzw. ein leeres Mapping oder 0 uebergeben.
+
+
+BEISPIEL
+========
+
+   // Dem Lebewesen, das das Objekt bei sich hat, wird 2 von A_INT abgezogen
+   SetProp(P_X_ATTR_MOD,([A_INT:-2]));
+
+   // Stats wiederherstellen:
+   SetProp(P_X_ATTR_MOD,([]));
+
+
+SIEHE AUCH
+==========
+
+   QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
+   SetAttribute(), SetRealAttribute(), UpdateAttributes(),
+   SetTimedAttrModifier(), QueryTimedAttrModifier(),
+   DeleteTimedAttrModifier(),
+   P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
+   P_TIMED_ATTR_MOD, P_M_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
 
 02.02.2016, Gloinson
diff --git a/doc/props/P_X_HEALTH_MOD b/doc/props/P_X_HEALTH_MOD
index d78d2bf..69aafab 100644
--- a/doc/props/P_X_HEALTH_MOD
+++ b/doc/props/P_X_HEALTH_MOD
@@ -1,36 +1,60 @@
-NAME:
-    P_X_HEALTH_MOD                  "extern_health_modifier"
 
-DEFINIERT IN:
-    /sys/living/attributes.h
+P_X_HEALTH_MOD
+**************
 
-BESCHREIBUNG:
-    Mapping, mit dem die maximalen Lebenspunkte und Magiepunkte eines
-    Spielers veraendert werden, der dieses Objekt bei sich traegt.
 
-    Zu beachten: Diese Property bitte _ausschliesslich_ mit SetProp
-    aendern, weil damit gleichzeitig UpdateAttributes() im
-    Lebewesen aufgerufen und ggf. das Objekt als Statmodifizierer 
-    registriert wird.
+NAME
+====
 
-    Bei Ruestungen/Waffen, die diese Wirkung entfalten sollen, verwendet
-    man besser P_M_HEALTH_MOD.
+   P_X_HEALTH_MOD                  "extern_health_modifier"
 
-BEMERKUNGEN:
-    Bitte bei "Loeschen" der Prop nicht den Wert des jew. Attributes im 
-    uebergebenen Mapping als 0 uebergeben, sondern das Key/Werte-Paar ganz 
-    entfernen und ggf. ein leeres Mapping oder 0 uebergeben.
 
-BEISPIEL:
-    // Dem Spieler, der das Objekt bei sich traegt, wird P_MAX_HP um 5
-    // erhoeht und P_MAX_SP um 5 erniedrigt.
-    SetProp(P_X_HEALTH_MOD,([P_HP:5,P_SP:-5]));
-    // Stats wiederherstellen:
-    SetProp(P_X_HEALTH_MOD,([]);
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-    P_M_HEALTH_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, balance
+   /sys/living/attributes.h
 
-LETZTE AeNDERUNG:
-    Sat, 06.02.1999, 14:00:00 von Paracelsus
 
+BESCHREIBUNG
+============
+
+   Mapping, mit dem die maximalen Lebenspunkte und Magiepunkte eines
+   Spielers veraendert werden, der dieses Objekt bei sich traegt.
+
+   Zu beachten: Diese Property bitte _ausschliesslich_ mit SetProp
+   aendern, weil damit gleichzeitig UpdateAttributes() im
+   Lebewesen aufgerufen und ggf. das Objekt als Statmodifizierer
+   registriert wird.
+
+   Bei Ruestungen/Waffen, die diese Wirkung entfalten sollen, verwendet
+   man besser P_M_HEALTH_MOD.
+
+
+BEMERKUNGEN
+===========
+
+   Bitte bei "Loeschen" der Prop nicht den Wert des jew. Attributes im
+   uebergebenen Mapping als 0 uebergeben, sondern das Key/Werte-Paar ganz
+   entfernen und ggf. ein leeres Mapping oder 0 uebergeben.
+
+
+BEISPIEL
+========
+
+   // Dem Spieler, der das Objekt bei sich traegt, wird P_MAX_HP um 5
+   // erhoeht und P_MAX_SP um 5 erniedrigt.
+   SetProp(P_X_HEALTH_MOD,([P_HP:5,P_SP:-5]));
+   // Stats wiederherstellen:
+   SetProp(P_X_HEALTH_MOD,([]);
+
+
+SIEHE AUCH
+==========
+
+   P_M_HEALTH_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, balance
+
+
+LETZTE AeNDERUNG
+================
+
+   Sat, 06.02.1999, 14:00:00 von Paracelsus
diff --git a/doc/props/P_ZAP_MSG b/doc/props/P_ZAP_MSG
index fbabff4..6f9c7ce 100644
--- a/doc/props/P_ZAP_MSG
+++ b/doc/props/P_ZAP_MSG
@@ -1,28 +1,41 @@
+
 P_ZAP_MSG
+*********
 
-NAME:
-      P_ZAP_MSG			"zap_msg"
 
-DEFINIERT IN:
-      /sys/properties.h
+NAME
+====
 
-BESCHREIBUNG:
-      Die Property enthaelt ein dreielementiges Array mit den folgenden

-      Eintraegen:
-	  1.) Meldung, die der Magier beim Zappen bekommt.
-	  2.) Meldung, die die Spieler im Raum beim Zappen bekommen.
-	  3.) Meldung, die das Opfer beim Zappen bekommt.
+   P_ZAP_MSG                 "zap_msg"
 
-      Mit @@wer@@, @@wessen@@, ... kann der Name des Opfers und mit @@ich@@

-      der Name des Magiers in die Meldung eingewoben werden.
 
-      Die Property ist in Magiern gesetzt und gilt nur dort.
+DEFINIERT IN
+============
 
-SIEHE AUCH:
-     Tod:		die(L)
-     Todesmeldungen:	P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
-			P_ENEMY_DEATH_SEQUENCE
-     Sonstiges:		P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+   /sys/properties.h
 
-----------------------------------------------------------------------------
+
+BESCHREIBUNG
+============
+
+   Die Property enthaelt ein dreielementiges Array mit den folgenden
+   Eintraegen:
+       1.) Meldung, die der Magier beim Zappen bekommt.
+       2.) Meldung, die die Spieler im Raum beim Zappen bekommen.
+       3.) Meldung, die das Opfer beim Zappen bekommt.
+
+   Mit @@wer@@, @@wessen@@, ... kann der Name des Opfers und mit @@ich@@
+   der Name des Magiers in die Meldung eingewoben werden.
+
+   Die Property ist in Magiern gesetzt und gilt nur dort.
+
+
+SIEHE AUCH
+==========
+
+   Tod:               die(L)
+   Todesmeldungen:    P_KILL_NAME, P_KILL_MSG, P_DIE_MSG, P_MURDER_MSG
+                      P_ENEMY_DEATH_SEQUENCE
+   Sonstiges:         P_CORPSE, P_NOCORPSE, /room/death/death_room.c
+
 Last modified: Wed Jan 14 19:17:06 1998 by Patryn
diff --git a/doc/props/U_REQ b/doc/props/U_REQ
index cb395db..1594c4f 100644
--- a/doc/props/U_REQ
+++ b/doc/props/U_REQ
@@ -1,63 +1,83 @@
-NAME:
-    U_REQ                         "u_req"
 
-DEFINIERT IN:
-    /sys/unit.h
+U_REQ
+*****
 
-BESCHREIBUNG:
-     Die Prop kann in Unitobjekten gesetzt werden.
-     Sie gibt die Anzahl der Einheiten an, die an der Unit manipuliert werden
-     sollen, falls mit weniger als P_AMOUNT umgegegangen werden soll.
-     
-     Die Prop wird automatisch gesetzt, wenn id() an einem Unitobjekt gerufen
-     wird und die ID grundsaetzlich zutreffend ist, die aus der ID ermittelte
-     Zahl aber kleiner als P_AMOUNT ist.
-     Sie kann auch manuell mittel SetProp() (aber nicht Set()) gesetzt werden.
 
-     U_REQ wird beim Bewegen und Zerstoeren, bei Ermittlung von Wert und
-     Gewicht beruecksichtigt.
+NAME
+====
 
-     U_REQ wird vom Unitobjekt automatisch wieder auf P_AMOUNT gesetzt, wenn
-     sich query_verb() oder debug_info(DINFO_EVAL_NUMBER) veraendert haben.
-     (DINFO_EVAL_NUMBER ist eine Zahl, die sich jedesmal erhoeht, wenn der
-      Driver eine neue Berechnung/Ausfuehrung beginnt. Diese Nummer wird fuer
-      jeden vom driver initiierten Aufruf von LPC-Code erhoeht, z.B. bei jedem
-      Kommando, call_out, heart_beat etc. Details s. debug_info().)
+   U_REQ                         "u_req"
 
-     Ebenso wird U_REQ bei der Vereinigung mit einem anderen (gleichen)
-     Objekt auf P_AMOUNT des vereinigten Objektes gesetzt.
+
+DEFINIERT IN
+============
+
+   /sys/unit.h
+
+
+BESCHREIBUNG
+============
+
+   Die Prop kann in Unitobjekten gesetzt werden.
+   Sie gibt die Anzahl der Einheiten an, die an der Unit manipuliert werden
+   sollen, falls mit weniger als P_AMOUNT umgegegangen werden soll.
+
+
+
+   Die Prop wird automatisch gesetzt, wenn id() an einem Unitobjekt gerufen
+   wird und die ID grundsaetzlich zutreffend ist, die aus der ID ermittelte
+   Zahl aber kleiner als P_AMOUNT ist.
+   Sie kann auch manuell mittel SetProp() (aber nicht Set()) gesetzt werden.
+
+   U_REQ wird beim Bewegen und Zerstoeren, bei Ermittlung von Wert und
+   Gewicht beruecksichtigt.
+
+   U_REQ wird vom Unitobjekt automatisch wieder auf P_AMOUNT gesetzt, wenn
+   sich query_verb() oder debug_info(DINFO_EVAL_NUMBER) veraendert haben.
+   (DINFO_EVAL_NUMBER ist eine Zahl, die sich jedesmal erhoeht, wenn der
+    Driver eine neue Berechnung/Ausfuehrung beginnt. Diese Nummer wird fuer
+    jeden vom driver initiierten Aufruf von LPC-Code erhoeht, z.B. bei jedem
+    Kommando, call_out, heart_beat etc. Details s. debug_info().)
+
+   Ebenso wird U_REQ bei der Vereinigung mit einem anderen (gleichen)
+   Objekt auf P_AMOUNT des vereinigten Objektes gesetzt.
 
 
 BUGS
-    Viele. Dies ist ein uebler Hack. Geht aber nicht ohne.
-    Diese Prop war endlos lang gar nicht dokumentiert. Hier beschrieben ist
-    das Verhalten, was zur Zeit vorliegt. Dies mag unterschiedlich zu dem
-    irgendwann intendierten sein.
+====
+
+   Viele. Dies ist ein uebler Hack. Geht aber nicht ohne.
+   Diese Prop war endlos lang gar nicht dokumentiert. Hier beschrieben ist
+   das Verhalten, was zur Zeit vorliegt. Dies mag unterschiedlich zu dem
+   irgendwann intendierten sein.
 
 
 BEISPIELE
-    object o = clone_object("unitobjekt");
-    o->SetProp(P_AMOUNT, 100);   // ab jetzt hat o 100 Einheiten.
-    o->move(npc, M_GET);         // ob mit 100 Einheiten wird bewegt
-    o->SetProp(U_REQ, 50);
-    o->move(anderernpc, M_GIVE); // 50 Einheiten werden bewegt, 50 verbleiben
-    (Technisch: das Objekt wird auf 50 Einheiten geaendert, bewegt und in der
-     alten Umgebung wird ein neues Objekt mit 50 Einheiten erzeugt.)
+=========
 
-    o->SetProp(U_REQ, 42);
-    o->remove(1);               // 42 Einheiten von den 50 werden zerstoert.
-    (Technisch: P_AMOUNT wird einfach um U_REQ reduziert.)
+   object o = clone_object("unitobjekt");
+   o->SetProp(P_AMOUNT, 100);   // ab jetzt hat o 100 Einheiten.
+   o->move(npc, M_GET);         // ob mit 100 Einheiten wird bewegt
+   o->SetProp(U_REQ, 50);
+   o->move(anderernpc, M_GIVE); // 50 Einheiten werden bewegt, 50 verbleiben
+   (Technisch: das Objekt wird auf 50 Einheiten geaendert, bewegt und in der
+    alten Umgebung wird ein neues Objekt mit 50 Einheiten erzeugt.)
 
-    # gib 18 muenzen an blupp
-    Hierbei wird ob->id("18 muenzen") gerufen, was U_REQ im Geldobjekt auf 18
-    setzt. Bei der Bewegung bekommt blupp daher das Objekt mit P_AMOUNT==18
-    und der Rest wird im Abgebenden neu erzeugt.
-    # gib geld an flubbel
-    Das U_REQ aus dem verherigen Kommando ist jetzt nicht mehr gueltig. Zwar
-    ist es das gleiche Kommandoverb, aber DINFO_EVAL_NUMBER ist jetzt
-    anders.
+   o->SetProp(U_REQ, 42);
+   o->remove(1);               // 42 Einheiten von den 50 werden zerstoert.
+   (Technisch: P_AMOUNT wird einfach um U_REQ reduziert.)
+
+   # gib 18 muenzen an blupp
+   Hierbei wird ob->id("18 muenzen") gerufen, was U_REQ im Geldobjekt auf 18
+   setzt. Bei der Bewegung bekommt blupp daher das Objekt mit P_AMOUNT==18
+   und der Rest wird im Abgebenden neu erzeugt.
+   # gib geld an flubbel
+   Das U_REQ aus dem verherigen Kommando ist jetzt nicht mehr gueltig. Zwar
+   ist es das gleiche Kommandoverb, aber DINFO_EVAL_NUMBER ist jetzt
+   anders.
 
 
-ZULETZT GEAeNDERT:
+ZULETZT GEAeNDERT
+=================
+
 16.01.2015, Zesstra
-
diff --git a/doc/props/gildenprops/P_GLOVE_FINGERLESS b/doc/props/gildenprops/P_GLOVE_FINGERLESS
index 64faec6..0485c9a 100644
--- a/doc/props/gildenprops/P_GLOVE_FINGERLESS
+++ b/doc/props/gildenprops/P_GLOVE_FINGERLESS
@@ -1,16 +1,30 @@
+
 P_GLOVE_FINGERLESS
+******************
 
-NAME:
-     P_GLOVE_FINGERLESS                     "fingerfreie_handschuhe"
 
-DEFINIERT IN:
-     /p/katzenkrieger/kkrieger.h
+NAME
+====
 
-BESCHREIBUNG:
-     So gekennzeichnete Handschuhe sind fingerlos und koennen
-     waehrend "krallenschlag" getragen werden.
+   P_GLOVE_FINGERLESS                     "fingerfreie_handschuhe"
 
-SIEHE AUCH:
-     Verwandt:	P_ARMOUR_TYPE, AT_GLOVE
 
-10.Okt 2006 Gloinson
\ No newline at end of file
+DEFINIERT IN
+============
+
+   /p/katzenkrieger/kkrieger.h
+
+
+BESCHREIBUNG
+============
+
+   So gekennzeichnete Handschuhe sind fingerlos und koennen
+   waehrend "krallenschlag" getragen werden.
+
+
+SIEHE AUCH
+==========
+
+   Verwandt:  P_ARMOUR_TYPE, AT_GLOVE
+
+10.Okt 2006 Gloinson
diff --git a/doc/props/gildenprops/P_Z_AUTOSHIELD b/doc/props/gildenprops/P_Z_AUTOSHIELD
index f69b9ad..994abad 100644
--- a/doc/props/gildenprops/P_Z_AUTOSHIELD
+++ b/doc/props/gildenprops/P_Z_AUTOSHIELD
@@ -1,26 +1,43 @@
+
 P_Z_AUTOSHIELD
+**************
 
-NAME:
-     P_Z_AUTOSHIELD				"z_autoshield"
 
-DEFINIERT IN:
-     /p/zauberer/wiznpc.h
+NAME
+====
 
-BESCHREIBUNG:
-     Mit dieser Property  kann man einen automatischen 
-     Schutzzauber in Zauberer-NPCs einstellen, dessen 
-     Vorhandensein dann in jeder Kampfrunde ueberprueft
-     wird, z.B. "schutz","schutzhuelle","zauberschild".
+   P_Z_AUTOSHIELD                             "z_autoshield"
 
-BEMERKUNGEN:
-     "zauberschild" ist ein Magisterspruch und kann nur in 
-     bestimmten Zeitabstaenden benutzt werden. Wer also als
-     Autoshield nur Zauberschild benutzt, blockiert damit
-     alle anderen Spells, solange der Magisterspruch nicht
-     gesprochen werden kann.
-     Abhilfe: _query_next_master_spell_time()  return 0; }
 
-SIEHE AUCH:
-     /p/zauberer/text/wiznpc.doku
+DEFINIERT IN
+============
+
+   /p/zauberer/wiznpc.h
+
+
+BESCHREIBUNG
+============
+
+   Mit dieser Property  kann man einen automatischen
+   Schutzzauber in Zauberer-NPCs einstellen, dessen
+   Vorhandensein dann in jeder Kampfrunde ueberprueft
+   wird, z.B. "schutz","schutzhuelle","zauberschild".
+
+
+BEMERKUNGEN
+===========
+
+   "zauberschild" ist ein Magisterspruch und kann nur in
+   bestimmten Zeitabstaenden benutzt werden. Wer also als
+   Autoshield nur Zauberschild benutzt, blockiert damit
+   alle anderen Spells, solange der Magisterspruch nicht
+   gesprochen werden kann.
+   Abhilfe: _query_next_master_spell_time()  return 0; }
+
+
+SIEHE AUCH
+==========
+
+   /p/zauberer/text/wiznpc.doku
 
 21.Okt 2006 Chagall
diff --git a/doc/props/gildenprops/P_Z_INFO b/doc/props/gildenprops/P_Z_INFO
index d82d38a..654c768 100644
--- a/doc/props/gildenprops/P_Z_INFO
+++ b/doc/props/gildenprops/P_Z_INFO
@@ -1,53 +1,73 @@
+
 P_Z_INFO
-
-NAME:
-     P_Z_INFO						"z_info"
-
-DEFINIERT IN:
-     /p/zauberer/wiznpc.h
-
-BESCHREIBUNG:
-     Diese Property muss gesetzt werden, wenn man den
-     Zauberergilden-Standard-NPC nutzt. Sie setzt die
-     Grundeinstellungen des NPCs und generiert das 
-     Newskills-Mapping. 
-
-     Die Property ist wie folgt aufgebaut:
-
-     * MIN (minimale Skillability im Bereich von 0 - 10000)
-     * MAX (maximale Skillability im Bereich von 0 - 10000)
-     * LEV (Gildenlevel)
-     * ZWEIG (Gildenzweig)
+********
 
 
-BEMERKUNGEN:
-     Fuer die Argumente LEV und ZWEIG stehen folgende Auswahl-
-     moeglichkeiten zur Verfuegung.
+NAME
+====
 
-     LEV:
-        Z_ANFAENGER	0
-	Z_LEHRLING	1
-	Z_MEISTER	2
-	Z_ERZMEISTER	3
-
-     ZWEIG:
-        ZZW_ANGRIFF		  1
-	ZZW_ABWEHR		  2
-	ZZW_ILLUSION		  4
-	ZZW_BEHERRSCHUNG	  8
-	ZZW_HELLSICHT		 16
-	ZZW_VERWANDLUNG		 32
-	ZZW_SCHWARZ		 64	INAKTIV
-	ZZW_WEISS		128
-	ZZW_ALLE		511
-
-BEISPIEL:
-     SetProp(P_Z_INFO, ({9000, 9500, Z_ERZMEISTER, ZZW_ANGRIFF|ZZW_ABWEHR}));
-     erzeugt einen Erzmagister-PC, der alle Lehrlings- sowie die Magister und
-     Erzmagister-Sprueche Angriff und Abwehr mit 90-95% beherrscht.
+   P_Z_INFO                                           "z_info"
 
 
-SIEHE AUCH:
-     /p/zauberer/text/wiznpc.doku
+DEFINIERT IN
+============
+
+   /p/zauberer/wiznpc.h
+
+
+BESCHREIBUNG
+============
+
+   Diese Property muss gesetzt werden, wenn man den
+   Zauberergilden-Standard-NPC nutzt. Sie setzt die
+   Grundeinstellungen des NPCs und generiert das
+   Newskills-Mapping.
+
+   Die Property ist wie folgt aufgebaut:
+
+   * MIN (minimale Skillability im Bereich von 0 - 10000)
+   * MAX (maximale Skillability im Bereich von 0 - 10000)
+   * LEV (Gildenlevel)
+   * ZWEIG (Gildenzweig)
+
+
+BEMERKUNGEN
+===========
+
+   Fuer die Argumente LEV und ZWEIG stehen folgende Auswahl-
+   moeglichkeiten zur Verfuegung.
+
+   LEV:
+
+      Z_ANFAENGER     0
+      Z_LEHRLING      1
+      Z_MEISTER       2
+      Z_ERZMEISTER    3
+
+   ZWEIG:
+
+      ZZW_ANGRIFF               1
+      ZZW_ABWEHR                2
+      ZZW_ILLUSION              4
+      ZZW_BEHERRSCHUNG          8
+      ZZW_HELLSICHT            16
+      ZZW_VERWANDLUNG          32
+      ZZW_SCHWARZ              64     INAKTIV
+      ZZW_WEISS               128
+      ZZW_ALLE                511
+
+
+BEISPIEL
+========
+
+   SetProp(P_Z_INFO, ({9000, 9500, Z_ERZMEISTER, ZZW_ANGRIFF|ZZW_ABWEHR}));
+   erzeugt einen Erzmagister-PC, der alle Lehrlings- sowie die Magister und
+   Erzmagister-Sprueche Angriff und Abwehr mit 90-95% beherrscht.
+
+
+SIEHE AUCH
+==========
+
+   /p/zauberer/text/wiznpc.doku
 
 21.Okt 2006 Chagall
diff --git a/doc/props/gildenprops/P_Z_NO_MATERIAL b/doc/props/gildenprops/P_Z_NO_MATERIAL
index 4b040a0..cda514a 100644
--- a/doc/props/gildenprops/P_Z_NO_MATERIAL
+++ b/doc/props/gildenprops/P_Z_NO_MATERIAL
@@ -1,18 +1,34 @@
+
 P_Z_NO_MATERIAL
+***************
 
-NAME:
-     P_Z_NO_MATERIAL                     "npc_braucht_keine_kmp"
 
-DEFINIERT IN:
-     /p/zauberer/zauberer.h
+NAME
+====
 
-BESCHREIBUNG:
-     Setzt man diese Property in einem NPC, so benoetigt er fuer die
-     Sprueche der Zauberergilde keine Komponenten.
+   P_Z_NO_MATERIAL                     "npc_braucht_keine_kmp"
 
-BEMERKUNGEN:
-     NIEMALS diese Property einfach so in einem Spieler setzen.
 
-SIEHE AUCH:
+DEFINIERT IN
+============
+
+   /p/zauberer/zauberer.h
+
+
+BESCHREIBUNG
+============
+
+   Setzt man diese Property in einem NPC, so benoetigt er fuer die
+   Sprueche der Zauberergilde keine Komponenten.
+
+
+BEMERKUNGEN
+===========
+
+   NIEMALS diese Property einfach so in einem Spieler setzen.
+
+
+SIEHE AUCH
+==========
 
 21.Okt 2006 Chagall
diff --git a/doc/props/gildenprops/P_Z_NO_NOCONN b/doc/props/gildenprops/P_Z_NO_NOCONN
index 332dd14..6cd0024 100644
--- a/doc/props/gildenprops/P_Z_NO_NOCONN
+++ b/doc/props/gildenprops/P_Z_NO_NOCONN
@@ -1,22 +1,42 @@
+
+P_Z_NO_NOCONN
+*************
+
+
 P_Z_NO_NOCON
-
-NAME:
-     P_Z_NO_NOCON					"no_nocon"
-
-DEFINIERT IN:
-     /p/zauberer/wiznpc.h
-
-BESCHREIBUNG:
-     Der Standardzauberergildennpc setzt SI_NO_CONSEQUENCES, damit
-     die Gildenpcs nicht den negativen Auswirkungen beim Misslingen
-     der Sprueche geschuetzt sind. Setzt man diese Property vor
-     P_Z_INFO auf 0, wird das Flag nicht gesetzt.
+============
 
 
-BEMERKUNGEN:
-     Muss vor P_Z_INFO gesetzt werden, damit es wirksam ist.
+NAME
+====
 
-SIEHE AUCH:
-     /p/zauberer/text/wiznpc.doku, P_Z_INFO
+   P_Z_NO_NOCON                                       "no_nocon"
+
+
+DEFINIERT IN
+============
+
+   /p/zauberer/wiznpc.h
+
+
+BESCHREIBUNG
+============
+
+   Der Standardzauberergildennpc setzt SI_NO_CONSEQUENCES, damit
+   die Gildenpcs nicht den negativen Auswirkungen beim Misslingen
+   der Sprueche geschuetzt sind. Setzt man diese Property vor
+   P_Z_INFO auf 0, wird das Flag nicht gesetzt.
+
+
+BEMERKUNGEN
+===========
+
+   Muss vor P_Z_INFO gesetzt werden, damit es wirksam ist.
+
+
+SIEHE AUCH
+==========
+
+   /p/zauberer/text/wiznpc.doku, P_Z_INFO
 
 21.Okt 2006 Chagall
diff --git a/doc/props/gildenprops/P_Z_NO_SPELL_SUPPORT b/doc/props/gildenprops/P_Z_NO_SPELL_SUPPORT
index 4a1ab28..74860f6 100644
--- a/doc/props/gildenprops/P_Z_NO_SPELL_SUPPORT
+++ b/doc/props/gildenprops/P_Z_NO_SPELL_SUPPORT
@@ -1,25 +1,41 @@
+
 P_Z_NO_SPELL_SUPPORT
+********************
 
-NAME:
-     P_Z_NO_SPELL_SUPPORT	"zauberer_ruestung_unterstuetzt_noch_nicht"
 
-DEFINIERT IN:
-     /p/zauberer/zauberer.h
+NAME
+====
 
-BESCHREIBUNG:
-     Normalerweise unterstuetzt eine Ruestung den Zauberer, sobald sie im
-     entsprechenden Ruestungsmaster eingetragen ist. Moechte man allerdings
-     die Unterstuetzung an bestimmte Bedingungen knuepfen, z.B. das loesen
-     einer Miniquest, so kann man diese Property auf 1 setzen. Die Ruestung
-     unterstuetzt dann nicht. Um die Unterstuetzung wieder zu aktivieren,
-     setzt man die Property wieder auf 0.
+   P_Z_NO_SPELL_SUPPORT       "zauberer_ruestung_unterstuetzt_noch_nicht"
 
-BEMERKUNGEN:
-     NIEMALS diese Property einfach so in fremden Zaubererruestungen 
-     setzen. Sollte der Gildenmagier erfahren, dass z.B. ein NPC
-     einfach so die Unterstuetzung der Ruestungen ausschaltet, wird
-     diese Property wieder deaktiviert.
 
-SIEHE AUCH:
+DEFINIERT IN
+============
+
+   /p/zauberer/zauberer.h
+
+
+BESCHREIBUNG
+============
+
+   Normalerweise unterstuetzt eine Ruestung den Zauberer, sobald sie im
+   entsprechenden Ruestungsmaster eingetragen ist. Moechte man allerdings
+   die Unterstuetzung an bestimmte Bedingungen knuepfen, z.B. das loesen
+   einer Miniquest, so kann man diese Property auf 1 setzen. Die Ruestung
+   unterstuetzt dann nicht. Um die Unterstuetzung wieder zu aktivieren,
+   setzt man die Property wieder auf 0.
+
+
+BEMERKUNGEN
+===========
+
+   NIEMALS diese Property einfach so in fremden Zaubererruestungen
+   setzen. Sollte der Gildenmagier erfahren, dass z.B. ein NPC
+   einfach so die Unterstuetzung der Ruestungen ausschaltet, wird
+   diese Property wieder deaktiviert.
+
+
+SIEHE AUCH
+==========
 
 21.Okt 2006 Chagall
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
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
diff --git a/doc/props/skill_info_liste b/doc/props/skill_info_liste
index 011f616..a8ad089 100644
--- a/doc/props/skill_info_liste
+++ b/doc/props/skill_info_liste
@@ -1,315 +1,355 @@
+
+skill_info_liste
+****************
+
+
 SI_*
-DEFINIERT IN:
-    /sys/newskills.h
+====
 
-BESCHREIBUNG:
-    Die folgende Liste der SI-Typen ist grob nach Gueltigkeit fuer Skills
-    und Spells sortiert.
-    
-    Anwendungsorte der SI_-Werte sind:
-    - /std/living/combat und von dort gerufene Skills (Kampf)
-    - /std/gilden_ob und in Gilden lernbare Spells/Skills
-    - /std/spellbook und von Spellbooks ausgefuehrte Spells
-    - /std/living/life und von dort gerufene Skills (Alkohol)
-    - /std/shells/* und entsprechende Rassenskills
 
-    Im Skillsystem unter /std/living/skills wird vor auf Informationen
-    aus dem Teil #1 Ruecksicht genommen. Einige dieser Werte
-    werden auch permanent im Spieler gespeichert (wie zB die
-    SI_SKILLABILITY).
+DEFINIERT IN
+============
+
+   /sys/newskills.h
+
+
+BESCHREIBUNG
+============
+
+   Die folgende Liste der SI-Typen ist grob nach Gueltigkeit fuer Skills
+   und Spells sortiert.
+
+
+
+   Anwendungsorte der SI_-Werte sind:
+   - /std/living/combat und von dort gerufene Skills (Kampf)
+   - /std/gilden_ob und in Gilden lernbare Spells/Skills
+   - /std/spellbook und von Spellbooks ausgefuehrte Spells
+   - /std/living/life und von dort gerufene Skills (Alkohol)
+   - /std/shells/* und entsprechende Rassenskills
+
+   Im Skillsystem unter /std/living/skills wird vor auf Informationen
+   aus dem Teil #1 Ruecksicht genommen. Einige dieser Werte
+   werden auch permanent im Spieler gespeichert (wie zB die
+   SI_SKILLABILITY).
 
 AKTUELLE LISTE: (5. Oktober 2011)
- #1 Skills und Spells:
-    SI_SKILLFUNC: string
-     Beinhaltet den Namen der Methode, die die eigentliche Funktionalitaet
-     des Skills/Spells implementiert.
-     Falls nicht angegeben, wird bei Spells durch UseSpell() das Verb, das
-     der Spieler eingegeben hat, als Spell-Methodenname angenommen.
-     Im Gildenobjekt kann hier abweichend von Spell-Namen stehen, wie die
-     Spellfunktion im Spellbook heisst.
+   #1 Skills und Spells:
+      SI_SKILLFUNC: string
+         Beinhaltet den Namen der Methode, die die eigentliche
+         Funktionalitaet des Skills/Spells implementiert. Falls nicht
+         angegeben, wird bei Spells durch UseSpell() das Verb, das der
+         Spieler eingegeben hat, als Spell-Methodenname angenommen. Im
+         Gildenobjekt kann hier abweichend von Spell-Namen stehen, wie
+         die Spellfunktion im Spellbook heisst.
 
-    SI_CLOSURE: closure
-     Optimiert den Zugriff fuer den internen Gebrauch, indem die gefundene
-     Spell/Skillfunktion darin direkt gespeichert wird und so lange gueltig
-     ist, bis das/die Objekt(e)/Closure(s) zerstoert sind.
-     Kann theoretisch auch fuer externe Skills durch (Autoload-)Objekte
-     benutzt werden.
+      SI_CLOSURE: closure
+         Optimiert den Zugriff fuer den internen Gebrauch, indem die
+         gefundene Spell/Skillfunktion darin direkt gespeichert wird
+         und so lange gueltig ist, bis das/die Objekt(e)/Closure(s)
+         zerstoert sind. Kann theoretisch auch fuer externe Skills
+         durch (Autoload-)Objekte benutzt werden.
 
-    SI_SKILLABILITY: int
-     Faehigkeit, den Spell/Skill zu benutzen. Normal ist von
-     -MAX_ABILITY bis MAX_ABILITY.
+      SI_SKILLABILITY: int
+         Faehigkeit, den Spell/Skill zu benutzen. Normal ist von
+         -MAX_ABILITY bis MAX_ABILITY.
 
-    SI_SKILLDAMAGE_TYPE: string*
-     Art des Schadens eines Angriffs: siehe Schadenstypen in /sys/combat.h
+      SI_SKILLDAMAGE_TYPE: string*
+         Art des Schadens eines Angriffs: siehe Schadenstypen in
+         /sys/combat.h
 
-    SI_SKILLDAMAGE_MSG: string
-     Meldung anstatt der Waffe oder Haende-Meldung.
-    SI_SKILLDAMAGE_MSG2: string
-     Meldung anstatt der Waffe oder Haende-Meldung fuer den Raum.
+      SI_SKILLDAMAGE_MSG: string
+         Meldung anstatt der Waffe oder Haende-Meldung.
 
-    SI_INHERIT: string
-     Enthaelt den Namen des Skills/Spells, von dem geerbt wird. Das
-     bedeutet einerseits, das LearnSkill() auch diesen uebergeordneten
-     Skill beeinflusst und andererseits, dass bei Skills auch dieser
-     uebergeordnete Skill im Rahmen einer Skill-Anwendung gerufen wird.
+      SI_SKILLDAMAGE_MSG2: string
+         Meldung anstatt der Waffe oder Haende-Meldung fuer den Raum.
 
-    SI_DIFFICULTY: int / [Spells: mixed]
-     Schwierigkeit eines Skills/Spells. Beeinflusst die jeweils oberen
-     Schranken fuer das Lernen eines Skills/Spells in Abhaengigkeit 
-     von Spielerlevel.
-     Wenn in einem Spell-Info-Mapping kein Wert steht wird bei Spells
-     automatisch SI_SPELLCOST genommen, der Wert im Spell-Info-Mapping
-     geht beim Lernen aber immer vor Parametern.
-    FACTOR(SI_DIFFICULTY): int / mixed
-    OFFSET(SI_DIFFICULTY): int / mixed
-     Nur fuer Spellbooks/Spells. Der mixed-Parameter kann Funktionen
-     enthalten. Siehe unten bei SI_SPELLCOST.
+      SI_INHERIT: string
+         Enthaelt den Namen des Skills/Spells, von dem geerbt wird.
+         Das bedeutet einerseits, das LearnSkill() auch diesen
+         uebergeordneten Skill beeinflusst und andererseits, dass bei
+         Skills auch dieser uebergeordnete Skill im Rahmen einer
+         Skill-Anwendung gerufen wird.
 
-    SI_LASTLIGHT: int
-     Zeitpunkt, bis wann der Standardskills SK_NIGHTVISION den Spieler
-     sehen laesst.
+      SI_DIFFICULTY: int / [Spells: mixed]
+         Schwierigkeit eines Skills/Spells. Beeinflusst die jeweils
+         oberen Schranken fuer das Lernen eines Skills/Spells in
+         Abhaengigkeit von Spielerlevel. Wenn in einem Spell-Info-
+         Mapping kein Wert steht wird bei Spells automatisch
+         SI_SPELLCOST genommen, der Wert im Spell-Info-Mapping geht
+         beim Lernen aber immer vor Parametern.
 
-    SI_TESTFLAG: int
-     Wenn gesetzt, dann soll der Skill nicht genutzt, sondern nur getestet
-     werden, ob er erfolgreich waere. Entspricht also in etwa dem Aufruf
-     von SpellSuccess() in Spellbooks, wird aber bei UseSkill() als
-     Skill-Parameter uebergeben.
-     Der Skill muss entsprechend implementiert sein!
+      FACTOR(SI_DIFFICULTY): int / mixed OFFSET(SI_DIFFICULTY): int /
+      mixed
 
-    SI_GUILD: string
-     Angabe der Gilde, aus der der Skill stammt. Sinnvoll, wenn der Skill
-     nicht aus der aktuellen P_GUILD stammt. Fuer generelle Skills/Spells
-     zB waere das "ANY".
-     Gilt nicht fuer Spells!
+         Nur fuer Spellbooks/Spells. Der mixed-Parameter kann
+         Funktionen enthalten. Siehe unten bei SI_SPELLCOST.
 
-    SI_ENEMY: object
-     Aktuelles Feindesobjekt, wird bei Skill-Anwendung aus dem Kampf heraus
-     von std/living/combat.c an den Skill uebergeben.
-     Beispiel: Standardwaffenskills, SK_MAGIC_DEFENSE, SK_MAGIC_ATTACK,
-               SK_TWOHANDED, SK_SPELL_DEFEND, SK_INFORM_DEFEND und
-               SK_DEFEND_OTHER.
+      SI_LASTLIGHT: int
+         Zeitpunkt, bis wann der Standardskills SK_NIGHTVISION den
+         Spieler sehen laesst.
 
-    SI_FRIEND: object
-     Zu verteidigendes Freundesobjekt, wird bei Skill-Anwendung aus dem
-     Kampf heraus von std/living/combat.c an den Skill uebergeben.
-     Beispiele: SK_INFORM_DEFEND und SK_DEFEND_OTHER.
+      SI_TESTFLAG: int
+         Wenn gesetzt, dann soll der Skill nicht genutzt, sondern nur
+         getestet werden, ob er erfolgreich waere. Entspricht also in
+         etwa dem Aufruf von SpellSuccess() in Spellbooks, wird aber
+         bei UseSkill() als Skill-Parameter uebergeben. Der Skill muss
+         entsprechend implementiert sein!
 
-    SI_MAGIC_TYPE: string*
-     Enthaelt ein Array der Magietypen, die zum Einsatz kommen. Die Angabe
-     geschieht zB im Spellbook und beeinflusst SpellDefend().
+      SI_GUILD: string
+         Angabe der Gilde, aus der der Skill stammt. Sinnvoll, wenn
+         der Skill nicht aus der aktuellen P_GUILD stammt. Fuer
+         generelle Skills/Spells zB waere das "ANY". Gilt nicht fuer
+         Spells!
 
-    SI_LAST_USE: int (eventuell obsolet)
-     Letzte Nutzung des Skills.
-    
-    SI_LEARN_PROB: int (eventuell obsolet)
-     Lernwahrscheinlichkeit.
+      SI_ENEMY: object
+         Aktuelles Feindesobjekt, wird bei Skill-Anwendung aus dem
+         Kampf heraus von std/living/combat.c an den Skill uebergeben.
+         Beispiel: Standardwaffenskills, SK_MAGIC_DEFENSE,
+         SK_MAGIC_ATTACK,
 
-    SI_SKILLDURATION: int
-     Dauer des Skills/Spells. Momentan nicht allzu verbreitet in Nutzung.
+            SK_TWOHANDED, SK_SPELL_DEFEND, SK_INFORM_DEFEND und
+            SK_DEFEND_OTHER.
 
- #2 nur fuer Spells:
-    SI_SPELLBOOK: string
-     Kann direkt das enthaltende Spellbook fuer einen Spell enthalten.
+      SI_FRIEND: object
+         Zu verteidigendes Freundesobjekt, wird bei Skill-Anwendung
+         aus dem Kampf heraus von std/living/combat.c an den Skill
+         uebergeben. Beispiele: SK_INFORM_DEFEND und SK_DEFEND_OTHER.
 
-    SM_RACE: mapping
-      Mapping, das als Key die Rasse und als Value ein Mapping X
-      enthaelt. Dieses Mapping X wird direkt zu sinfo hinzugefuegt und
-      ueberschreibt damit bei Bedarf Defaultwerte durch rassenspezifische
-      Werte.
+      SI_MAGIC_TYPE: string*
+         Enthaelt ein Array der Magietypen, die zum Einsatz kommen.
+         Die Angabe geschieht zB im Spellbook und beeinflusst
+         SpellDefend().
 
-    SI_SPELLCOST: int / mixed
-    FACTOR(SI_SPELLCOST): int / mixed
-    OFFSET(SI_SPELLCOST): int / mixed
-     Beinhaltet die Werte, die fuer die Berechnung der Spellkosten
-     zustaendig sind.
-     Dabei gilt: Realkosten = OFFSET(COST) + (COST * FACTOR(COST))/100
-     Die einzelnen Eintraege koennen anstatt eines fixen Wertes auch den
-     Verweis auch eine Funktion in Form von Closure/Methodenname/Array mit
-     Objekt/Objektname und Methodenname enthalten. Siehe dazu auch
-     execute_anything().
+      SI_LAST_USE: int (eventuell obsolet)
+         Letzte Nutzung des Skills.
 
-    SI_TIME_MSG: string
-     Meldung, die dem Spieler mitteilt, dass er noch nicht wieder einen
-     Spell casten kann. Falls dieser Eintrag nicht gesetzt ist, wird
-     ein Standardtext ausgegeben.
+      SI_LEARN_PROB: int (eventuell obsolet)
+         Lernwahrscheinlichkeit.
 
-    SI_SP_LOW_MSG: string
-     Meldung, die dem Spieler mitteilt, dass er zu wenige
-     Konzentrationspunkte besitzt, um den Spell zu casten. Falls dieser
-     Eintrag nicht gesetzt ist, wird ein Standardtext ausgegeben.
+      SI_SKILLDURATION: int
+         Dauer des Skills/Spells. Momentan nicht allzu verbreitet in
+         Nutzung.
 
-    SI_PREPARE_MSG: string
-     Meldung, die dem Spieler ausgegeben werden soll, wenn er einen Spell
-     vorbereitet. Ansonsten wird ein Standardtext ausgegeben.
+   #2 nur fuer Spells:
+      SI_SPELLBOOK: string
+         Kann direkt das enthaltende Spellbook fuer einen Spell
+         enthalten.
 
-    SI_PREPARE_BUSY_MSG: string
-     Meldung, die dem Spieler ausgegeben werden soll, wenn er schon diesen
-     Spell vorbereitet. Ansonsten wird ein Standardtext ausgegeben.
+      SM_RACE: mapping
+         Mapping, das als Key die Rasse und als Value ein Mapping X
+         enthaelt. Dieses Mapping X wird direkt zu sinfo hinzugefuegt
+         und ueberschreibt damit bei Bedarf Defaultwerte durch
+         rassenspezifische Werte.
 
-    SI_PREPARE_ABORT_MSG: string
-     Meldung, die dem Spieler ausgegeben werden soll, wenn er die
-     Vorbereitung dieses Spells durch einen anderen Spell unterbricht.
-     Ansonsten wird ein Standardtext ausgegeben.
+      SI_SPELLCOST: int / mixed FACTOR(SI_SPELLCOST): int / mixed
+      OFFSET(SI_SPELLCOST): int / mixed
 
-    SI_NOMAGIC: int
-     Wert zwischen 0 und 100 (oder mehr), der gegen die P_NOMAGIC-Wirkung
-     eines Raumes wirkt.
-     Je hoeher der Wert ist, desto unwahrscheinlicher ist es, dass ein
-     Raum den Spell durch Antimagie stoert. Ein Raum sollte nur Werte
-     zwischen 0 und 100 gesetzt haben. Ist der Wert des Raums groesser
-     als der hier angegeben, dann blockiert er Magie mit einer gewissen
-     eben seiner angegebenen Wahrscheinlichkeit.
+         Beinhaltet die Werte, die fuer die Berechnung der Spellkosten
+         zustaendig sind. Dabei gilt: Realkosten = OFFSET(COST) +
+         (COST * FACTOR(COST))/100 Die einzelnen Eintraege koennen
+         anstatt eines fixen Wertes auch den Verweis auch eine
+         Funktion in Form von Closure/Methodenname/Array mit
+         Objekt/Objektname und Methodenname enthalten. Siehe dazu auch
+         execute_anything().
 
-    SI_NOMAGIC_MSG: string
-     Meldung, die bei Fehlschlag durch P_NOMAGIC des Raumes ausgegeben
-     wird. Ansonsten wird ein Standardtext ausgegeben.
-      
-    SI_SPELLFATIGUE: int / mixed
-    FACTOR(SI_SPELLFATIGUE): int / mixed
-    OFFSET(SI_SPELLFATIGUE): int / mixed
-     Werte, die fuer die Berechnung der Wieder-Cast-Zeit benutzt werden.
-     Die Berechnung und die moeglichen Angaben (Closure etc.) sind
-     identisch zu SI_SPELLCOST.
-     Das Spellbook gibt bei Nicht-Wieder-Bereitschaft SI_TIME_MSG aus.
+      SI_TIME_MSG: string
+         Meldung, die dem Spieler mitteilt, dass er noch nicht wieder
+         einen Spell casten kann. Falls dieser Eintrag nicht gesetzt
+         ist, wird ein Standardtext ausgegeben.
 
-    SI_X_SPELLFATIGUE: mapping mit ([string key: int val])
-     Werte, die fuer die Berechnung der Wieder-Cast-Zeit benutzt werden.
-     Spellbook-Casten: Mapping wird durch Aufruf von CheckSpellFatigue(<key>)
-     am Caster gefiltert. Nur wenn das resultierende Mapping leer ist (kein
-     <key> hat einen gueltigen Fatigue-Eintrag), ist Spell castbar, sonst
-     Ausgabe von SI_TIME_MSG.
-     Nach Spellbook-Casten: Setzen der Fatigue fuer alle <val> > 0 mit <key>.
+      SI_SP_LOW_MSG: string
+         Meldung, die dem Spieler mitteilt, dass er zu wenige
+         Konzentrationspunkte besitzt, um den Spell zu casten. Falls
+         dieser Eintrag nicht gesetzt ist, wird ein Standardtext
+         ausgegeben.
 
-    SI_SKILLLEARN: int / mixed
-    FACTOR(SI_SKILLLEARN): int / mixed
-    OFFSET(SI_SKILLLEARN): int / mixed
-     Werte, die fuer die Berechnung der Lerngeschwindigkeit benutzt
-     werden, normalerweise pro A_INT/2 je 0.01% (also 1 von MAX_ABILITY).
-     Die Berechnung und die moeglichen Angaben (Closure etc.) sind
-     identisch zu SI_SPELLCOST.
+      SI_PREPARE_MSG: string
+         Meldung, die dem Spieler ausgegeben werden soll, wenn er
+         einen Spell vorbereitet. Ansonsten wird ein Standardtext
+         ausgegeben.
 
-    SI_LEARN_ATTRIBUTE: mapping
-     Mapping, welches die Attribute, nach denen gelernt werden soll
-     als Keys enthaelt. Der Value legt die Gewichtung fest, denn bei
-     mehreren Attributen wird ein Mittelwert gebildet.
-     Der Normalfall entspraeche ([A_INT: 1]) fuer SI_LEARN_ATTRIBUTE.
+      SI_PREPARE_BUSY_MSG: string
+         Meldung, die dem Spieler ausgegeben werden soll, wenn er
+         schon diesen Spell vorbereitet. Ansonsten wird ein
+         Standardtext ausgegeben.
 
-    SI_NO_LEARN
-     Wenn man (temporaer!) nicht will, dass dieser Skill gelernt wird.
-     Muss von den Spellbooks beachtet werden.
-     Sollte niemals im Spieler abgespeichert werden. Oder permanent in
-     Gilde/Spellbook gesetzt sein. Sondern im Laufe einesr Nutzung in der
-     jew. Kopie von sinfo gesetzt werden, die gerade genutzt wird.
-    
-     SI_SKILLARG: string
-     Beinhaltet den Text, den der Spieler nach dem Spellkommando eingegeben
-     hat. Z.B. stuende bei "krallenschlag ork 2" der Text "ork 2" im
-     Parameter.
+      SI_PREPARE_ABORT_MSG: string
+         Meldung, die dem Spieler ausgegeben werden soll, wenn er die
+         Vorbereitung dieses Spells durch einen anderen Spell
+         unterbricht. Ansonsten wird ein Standardtext ausgegeben.
 
-    SI_SKILLRESTR_USE: mixed
-     Einschraenkungen fuer das Nutzen des Spells.
-     Wird normalerweise direkt im Spellbook fuer den Spell eingetragen.
-     Die einzelnen Moeglichkeiten werden in der manpage zu
-     "check_restrictions" erlaeutert.
-     
-    SI_SKILLRESTR_LEARN: mixed
-     Einschraenkungen fuer das Lernen des Spells.
-     Wird normalerweise direkt im Gildenobjekt fuer den Spell
-     eingetragen.
-     Die einzelnen Moeglichkeiten werden in der manpage zu
-     "check_restrictions" erlaeutert.
+      SI_NOMAGIC: int
+         Wert zwischen 0 und 100 (oder mehr), der gegen die P_NOMAGIC-
+         Wirkung eines Raumes wirkt. Je hoeher der Wert ist, desto
+         unwahrscheinlicher ist es, dass ein Raum den Spell durch
+         Antimagie stoert. Ein Raum sollte nur Werte zwischen 0 und
+         100 gesetzt haben. Ist der Wert des Raums groesser als der
+         hier angegeben, dann blockiert er Magie mit einer gewissen
+         eben seiner angegebenen Wahrscheinlichkeit.
 
-    SI_SKILLINFO: string
-    SI_SKILLINFO_LONG: string
-     Beschreibung des Spells. Wird im Gildenobjekt eingetragen und
-     SI_SKILLINFO wird von SkillListe angezeigt.
+      SI_NOMAGIC_MSG: string
+         Meldung, die bei Fehlschlag durch P_NOMAGIC des Raumes
+         ausgegeben wird. Ansonsten wird ein Standardtext ausgegeben.
 
-    SI_SKILLDAMAGE: int / mixed
-    FACTOR(SI_SKILLDAMAGE): int / mixed
-    OFFSET(SI_SKILLDAMAGE): int / mixed
-     Werte, die fuer die Schadenshoehenberechnung des Spells benutzt
-     werden (random ueber den Gesamtwert normalerweise).
-     Die Berechnung und die moeglichen Angaben (Closure etc.) sind
-     identisch zu SI_SPELLCOST.
+      SI_SPELLFATIGUE: int / mixed FACTOR(SI_SPELLFATIGUE): int /
+      mixed OFFSET(SI_SPELLFATIGUE): int / mixed
 
-    SI_SKILLDAMAGE_BY_ROW
-     Ein Mapping mit Boni fuer den Angriff aus bestimmten Kampfreihen.
-     Funktioniert nur bei Verwendung von TryDefaultAttackSpell-Spells
-     aus dem Spellbook.
-     Der Key steht fuer eine bestimmte Reihe, sein Wert fuer den
-     randomisierten Bonus fuer Lebewesen, die aus dieser Reihe casten.
-    OFFSET(SI_SKILLDAMAGE_BY_ROW)
-     Ein Mapping mit fixem Wert fuer Row-Boni im Kampf.
+         Werte, die fuer die Berechnung der Wieder-Cast-Zeit benutzt
+         werden. Die Berechnung und die moeglichen Angaben (Closure
+         etc.) sind identisch zu SI_SPELLCOST. Das Spellbook gibt bei
+         Nicht-Wieder-Bereitschaft SI_TIME_MSG aus.
 
-     Beispiel: AddSpell("feuerball", 20,
-                        ([SI_SKILLDAMAGE:50,
-                          OFFSET(SI_SKILLDAMAGE):100,
-                          SI_SKILLDAMAGE_BY_ROW:([2:40,3:20}),
-                          OFFSET(SI_SKILLDAMAGE_BY_ROW):([2:20]), ...
-     gibt
-      Reihe 1: random(50)+100;
-      Reihe 2: random(50)+100+random(40)+20
-      Reihe 3: random(50)+100+random(20)
-     ACHTUNG: Hier gilt nicht die selbe Struktur wie bei SI_SPELLCOST!
+      SI_X_SPELLFATIGUE: mapping mit ([string key: int val])
+         Werte, die fuer die Berechnung der Wieder-Cast-Zeit benutzt
+         werden. Spellbook-Casten: Mapping wird durch Aufruf von
+         CheckSpellFatigue(<key>) am Caster gefiltert. Nur wenn das
+         resultierende Mapping leer ist (kein <key> hat einen
+         gueltigen Fatigue-Eintrag), ist Spell castbar, sonst Ausgabe
+         von SI_TIME_MSG. Nach Spellbook-Casten: Setzen der Fatigue
+         fuer alle <val> > 0 mit <key>.
 
-    SI_SPELL: mapping
-     Dieser Eintrag enthaelt verschiedene Unterwerte, die den Spell
-     gerade fuer Angriffs-Spells genauer beschreiben. Siehe Defend()
-     fuer eine Beschreibung der verschiedenen Eintraege (die so auch
-     in das Spellbook uebernommen werden koennen).
+      SI_SKILLLEARN: int / mixed FACTOR(SI_SKILLLEARN): int / mixed
+      OFFSET(SI_SKILLLEARN): int / mixed
 
-    SI_COLLATERAL_DAMAGE: int
-     Hiermit kann man einen Prozentwert von SI_SKILLDAMAGE (inklusive
-     Offsets und Factor) fuer Kollateralschaden an Freunden im definierten
-     Bereich eines Flaechenspells (TryGlobalAttackSpell()) angeben.
-     10 bedeutet bei OFFSET(SI_SKILLDAMAGE)=100 zB 10% von 100 = 10 = 1 LP
-     an mit reduce_hit_points() verursachtem Schaden.
-    
-    SI_NUMBER_ENEMIES, SI_NUMBER_FRIENDS: int
-     Wird von TryGlobalAttackSpell() im Spell gesetzt und enthaelt die
-     Anzahl der im angegebenen Bereich befindlichen Feinde und Freunde.
-     Ist dementsprechend von informativem Nutzen fuer den Angegriffenen
-     und das Spellbook NACH Aufruf von TryGlobalAttackSpell().
-    
-    SI_DISTANCE, SI_WIDTH, SI_DEPTH: int
-     Limitiert die Entfernung, Tiefen und Breite der Wirkung eines
-     TryGlobalAttackSpell()
+         Werte, die fuer die Berechnung der Lerngeschwindigkeit
+         benutzt werden, normalerweise pro A_INT/2 je 0.01% (also 1
+         von MAX_ABILITY). Die Berechnung und die moeglichen Angaben
+         (Closure etc.) sind identisch zu SI_SPELLCOST.
 
-    SI_SKILLHEAL: int
-     Konvention fuer Spells im Spellbook, dort den Heilwert zu hinterlegen,
-     hat keine Auswirkungen unter /std/.
+      SI_LEARN_ATTRIBUTE: mapping
+         Mapping, welches die Attribute, nach denen gelernt werden
+         soll als Keys enthaelt. Der Value legt die Gewichtung fest,
+         denn bei mehreren Attributen wird ein Mittelwert gebildet.
+         Der Normalfall entspraeche ([A_INT: 1]) fuer
+         SI_LEARN_ATTRIBUTE.
 
-    SI_USR: mixed
-     Fuer selbst definierte Infos, spellbookabhaengig.
+      SI_NO_LEARN
+         Wenn man (temporaer!) nicht will, dass dieser Skill gelernt
+         wird. Muss von den Spellbooks beachtet werden. Sollte niemals
+         im Spieler abgespeichert werden. Oder permanent in
+         Gilde/Spellbook gesetzt sein. Sondern im Laufe einesr Nutzung
+         in der jew. Kopie von sinfo gesetzt werden, die gerade
+         genutzt wird.
 
-    SI_PREPARE_TIME: int
-     Dauer der Zeit fuer zu praeparierende Spells.
+         SI_SKILLARG: string Beinhaltet den Text, den der Spieler nach
+         dem Spellkommando eingegeben hat. Z.B. stuende bei
+         "krallenschlag ork 2" der Text "ork 2" im Parameter.
 
-    SI_ATTACK_BUSY_MSG: string
-     Meldung, die dem Spieler mitteilt, dass er schon zu beschaeftigt
-     mit einem Angriff ist, um einen Spell zu casten. Falls dieser
-     Eintrag nicht gesetzt ist, wird  ein Standardtext ausgegeben.
+      SI_SKILLRESTR_USE: mixed
+         Einschraenkungen fuer das Nutzen des Spells. Wird
+         normalerweise direkt im Spellbook fuer den Spell eingetragen.
+         Die einzelnen Moeglichkeiten werden in der manpage zu
+         "check_restrictions" erlaeutert.
 
-    SI_NO_ATTACK_BUSY: int
-     Enthaelt als Flag NO_ATTACK_BUSY_QUERY wenn der Spell NICHT wie
-     eine Spezialwaffe die Aktionen einschraenkt. Siehe P_ATTACK_BUSY.
+      SI_SKILLRESTR_LEARN: mixed
+         Einschraenkungen fuer das Lernen des Spells. Wird
+         normalerweise direkt im Gildenobjekt fuer den Spell
+         eingetragen. Die einzelnen Moeglichkeiten werden in der
+         manpage zu "check_restrictions" erlaeutert.
 
-    SI_ATTACK_BUSY_AMOUNT: int
-     Menge des P_ATTACK_BUSY fuer diesen Spell. Falls dieser Wert nicht
-     gesetzt ist, aber auch SI_NO_ATTACK_BUSY nicht mit
-     NO_ATTACK_BUSY_QUERY ausgezeichnet ist wird 1 angenommen.
+      SI_SKILLINFO: string SI_SKILLINFO_LONG: string
 
-SIEHE AUCH:
-    Skills Lernen:  LearnSkill, ModifySkill, LimitAbility
-    * Nutzung:      UseSpell, UseSkill
-    * Abfragen:     QuerySkill, QuerySkillAbility
-    * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
-                    QuerySkillAttributeModifier, RemoveSkillAttributeModifier
-      * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
-    * sonstig:      spruchermuedung
-    * Properties:   P_NEWSKILLS
-    Spellbook:      UseSpell, Learn, SpellSuccess
-    Gilden:         gilden-doku
-    Kampf:          Defend
+         Beschreibung des Spells. Wird im Gildenobjekt eingetragen und
+         SI_SKILLINFO wird von SkillListe angezeigt.
+
+      SI_SKILLDAMAGE: int / mixed FACTOR(SI_SKILLDAMAGE): int / mixed
+      OFFSET(SI_SKILLDAMAGE): int / mixed
+
+         Werte, die fuer die Schadenshoehenberechnung des Spells
+         benutzt werden (random ueber den Gesamtwert normalerweise).
+         Die Berechnung und die moeglichen Angaben (Closure etc.) sind
+         identisch zu SI_SPELLCOST.
+
+      SI_SKILLDAMAGE_BY_ROW
+         Ein Mapping mit Boni fuer den Angriff aus bestimmten
+         Kampfreihen. Funktioniert nur bei Verwendung von
+         TryDefaultAttackSpell-Spells aus dem Spellbook. Der Key steht
+         fuer eine bestimmte Reihe, sein Wert fuer den randomisierten
+         Bonus fuer Lebewesen, die aus dieser Reihe casten.
+
+      OFFSET(SI_SKILLDAMAGE_BY_ROW)
+         Ein Mapping mit fixem Wert fuer Row-Boni im Kampf.
+
+         Beispiel: AddSpell("feuerball", 20,
+            ([SI_SKILLDAMAGE:50,
+               OFFSET(SI_SKILLDAMAGE):100,
+               SI_SKILLDAMAGE_BY_ROW:([2:40,3:20}),
+               OFFSET(SI_SKILLDAMAGE_BY_ROW):([2:20]), ...
+
+         gibt
+            Reihe 1: random(50)+100; Reihe 2:
+            random(50)+100+random(40)+20 Reihe 3:
+            random(50)+100+random(20)
+
+         ACHTUNG: Hier gilt nicht die selbe Struktur wie bei
+         SI_SPELLCOST!
+
+      SI_SPELL: mapping
+         Dieser Eintrag enthaelt verschiedene Unterwerte, die den
+         Spell gerade fuer Angriffs-Spells genauer beschreiben. Siehe
+         Defend() fuer eine Beschreibung der verschiedenen Eintraege
+         (die so auch in das Spellbook uebernommen werden koennen).
+
+      SI_COLLATERAL_DAMAGE: int
+         Hiermit kann man einen Prozentwert von SI_SKILLDAMAGE
+         (inklusive Offsets und Factor) fuer Kollateralschaden an
+         Freunden im definierten Bereich eines Flaechenspells
+         (TryGlobalAttackSpell()) angeben. 10 bedeutet bei
+         OFFSET(SI_SKILLDAMAGE)=100 zB 10% von 100 = 10 = 1 LP an mit
+         reduce_hit_points() verursachtem Schaden.
+
+      SI_NUMBER_ENEMIES, SI_NUMBER_FRIENDS: int
+         Wird von TryGlobalAttackSpell() im Spell gesetzt und enthaelt
+         die Anzahl der im angegebenen Bereich befindlichen Feinde und
+         Freunde. Ist dementsprechend von informativem Nutzen fuer den
+         Angegriffenen und das Spellbook NACH Aufruf von
+         TryGlobalAttackSpell().
+
+      SI_DISTANCE, SI_WIDTH, SI_DEPTH: int
+         Limitiert die Entfernung, Tiefen und Breite der Wirkung eines
+         TryGlobalAttackSpell()
+
+      SI_SKILLHEAL: int
+         Konvention fuer Spells im Spellbook, dort den Heilwert zu
+         hinterlegen, hat keine Auswirkungen unter /std/.
+
+      SI_USR: mixed
+         Fuer selbst definierte Infos, spellbookabhaengig.
+
+      SI_PREPARE_TIME: int
+         Dauer der Zeit fuer zu praeparierende Spells.
+
+      SI_ATTACK_BUSY_MSG: string
+         Meldung, die dem Spieler mitteilt, dass er schon zu
+         beschaeftigt mit einem Angriff ist, um einen Spell zu casten.
+         Falls dieser Eintrag nicht gesetzt ist, wird  ein
+         Standardtext ausgegeben.
+
+      SI_NO_ATTACK_BUSY: int
+         Enthaelt als Flag NO_ATTACK_BUSY_QUERY wenn der Spell NICHT
+         wie eine Spezialwaffe die Aktionen einschraenkt. Siehe
+         P_ATTACK_BUSY.
+
+      SI_ATTACK_BUSY_AMOUNT: int
+         Menge des P_ATTACK_BUSY fuer diesen Spell. Falls dieser Wert
+         nicht gesetzt ist, aber auch SI_NO_ATTACK_BUSY nicht mit
+         NO_ATTACK_BUSY_QUERY ausgezeichnet ist wird 1 angenommen.
+
+
+SIEHE AUCH
+==========
+
+   Skills Lernen:  LearnSkill, ModifySkill, LimitAbility
+   * Nutzung:      UseSpell, UseSkill
+   * Abfragen:     QuerySkill, QuerySkillAbility
+   * Modifikation: ModifySkillAttribute, QuerySkillAttribute,
+                   QuerySkillAttributeModifier, RemoveSkillAttributeModifier
+     * Properties: P_SKILL_ATTRIBUTES, P_SKILL_ATTRIBUTE_OFFSETS
+   * sonstig:      spruchermuedung
+   * Properties:   P_NEWSKILLS
+   Spellbook:      UseSpell, Learn, SpellSuccess
+   Gilden:         gilden-doku
+   Kampf:          Defend
 
 7. Nov 2012 Gloinson