diff --git a/doc/sphinx/man/props/P_ABILITIES b/doc/sphinx/man/props/P_ABILITIES
new file mode 100644
index 0000000..b852bdf
--- /dev/null
+++ b/doc/sphinx/man/props/P_ABILITIES
@@ -0,0 +1,22 @@
+
+P_ABILITIES
+***********
+
+
+NAME
+====
+
+   P_ABILITIES                   "abilities"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/attributes.h
+
+
+BESCHREIBUNG
+============
+
+   *** OBSOLET! ***
+   Siehe P_NEWSKILLS.
diff --git a/doc/sphinx/man/props/P_AC b/doc/sphinx/man/props/P_AC
new file mode 100644
index 0000000..e9eda47
--- /dev/null
+++ b/doc/sphinx/man/props/P_AC
@@ -0,0 +1,44 @@
+
+P_AC
+****
+
+
+NAME
+====
+
+   P_AC "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/sphinx/man/props/P_ACCEPT_PEACE b/doc/sphinx/man/props/P_ACCEPT_PEACE
new file mode 100644
index 0000000..214dc06
--- /dev/null
+++ b/doc/sphinx/man/props/P_ACCEPT_PEACE
@@ -0,0 +1,37 @@
+
+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.
+
+
+SIEHE AUCH
+==========
+
+   QueryPacify(),
+   P_PEACE_HISTORY
+
+
+LETZTE AENDERUNG
+================
+
+01.05.2008, Zesstra
diff --git a/doc/sphinx/man/props/P_ACHATS b/doc/sphinx/man/props/P_ACHATS
new file mode 100644
index 0000000..c62e357
--- /dev/null
+++ b/doc/sphinx/man/props/P_ACHATS
@@ -0,0 +1,21 @@
+
+P_ACHATS
+********
+
+
+NAME
+====
+
+   P_ACHATS                      "achats"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Chats, die das Monster im Kampf ausgibt.
diff --git a/doc/sphinx/man/props/P_ACHAT_CHANCE b/doc/sphinx/man/props/P_ACHAT_CHANCE
new file mode 100644
index 0000000..fc28ac9
--- /dev/null
+++ b/doc/sphinx/man/props/P_ACHAT_CHANCE
@@ -0,0 +1,21 @@
+
+P_ACHAT_CHANCE
+**************
+
+
+NAME
+====
+
+   P_ACHAT_CHANCE                "achat_chance"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wahrscheinlichkeit fuer die Attack-Chat-Ausgabe.
diff --git a/doc/sphinx/man/props/P_ACTUAL_NOTIFY_FAIL b/doc/sphinx/man/props/P_ACTUAL_NOTIFY_FAIL
new file mode 100644
index 0000000..0c9acd1
--- /dev/null
+++ b/doc/sphinx/man/props/P_ACTUAL_NOTIFY_FAIL
@@ -0,0 +1,51 @@
+
+P_ACTUAL_NOTIFY_FAIL
+********************
+
+********************** VERALTETE PROPERTY
+*********************************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_ADJECTIVES b/doc/sphinx/man/props/P_ADJECTIVES
new file mode 100644
index 0000000..1c8ccb6
--- /dev/null
+++ b/doc/sphinx/man/props/P_ADJECTIVES
@@ -0,0 +1,38 @@
+
+P_ADJECTIVES
+************
+
+
+NAME
+====
+
+   P_ADJECTIVES "adjectives"
+
+
+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/sphinx/man/props/P_AERIAL_HELPERS b/doc/sphinx/man/props/P_AERIAL_HELPERS
new file mode 100644
index 0000000..781510c
--- /dev/null
+++ b/doc/sphinx/man/props/P_AERIAL_HELPERS
@@ -0,0 +1,63 @@
+
+P_AERIAL_HELPERS
+****************
+
+
+NAME
+====
+
+   P_AERIAL_HELPERS "lib_p_aerial_helpers"
+
+
+DEFINIERT IN
+============
+
+   <living/helpers.h>
+
+
+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/sphinx/man/props/P_AGE b/doc/sphinx/man/props/P_AGE
new file mode 100644
index 0000000..e35473c
--- /dev/null
+++ b/doc/sphinx/man/props/P_AGE
@@ -0,0 +1,21 @@
+
+P_AGE
+*****
+
+
+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/sphinx/man/props/P_AGGRESSIVE b/doc/sphinx/man/props/P_AGGRESSIVE
new file mode 100644
index 0000000..5184687
--- /dev/null
+++ b/doc/sphinx/man/props/P_AGGRESSIVE
@@ -0,0 +1,55 @@
+
+P_AGGRESSIVE
+************
+
+
+NAME
+====
+
+   P_AGGRESSIVE                  "aggressive"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_ALCOHOL b/doc/sphinx/man/props/P_ALCOHOL
new file mode 100644
index 0000000..d827a94
--- /dev/null
+++ b/doc/sphinx/man/props/P_ALCOHOL
@@ -0,0 +1,36 @@
+
+P_ALCOHOL
+*********
+
+
+NAME
+====
+
+   P_ALCOHOL                  "alcohol"
+
+
+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/sphinx/man/props/P_ALCOHOL_DELAY b/doc/sphinx/man/props/P_ALCOHOL_DELAY
new file mode 100644
index 0000000..6ea0513
--- /dev/null
+++ b/doc/sphinx/man/props/P_ALCOHOL_DELAY
@@ -0,0 +1,23 @@
+
+P_ALCOHOL_DELAY
+***************
+
+
+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/sphinx/man/props/P_ALC_FULL_MSG b/doc/sphinx/man/props/P_ALC_FULL_MSG
new file mode 100644
index 0000000..5df4b65
--- /dev/null
+++ b/doc/sphinx/man/props/P_ALC_FULL_MSG
@@ -0,0 +1,45 @@
+
+P_ALC_FULL_MSG
+**************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_ALIGN b/doc/sphinx/man/props/P_ALIGN
new file mode 100644
index 0000000..d4ca76c
--- /dev/null
+++ b/doc/sphinx/man/props/P_ALIGN
@@ -0,0 +1,29 @@
+
+P_ALIGN
+*******
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_ALLOWED_SHADOW b/doc/sphinx/man/props/P_ALLOWED_SHADOW
new file mode 100644
index 0000000..5d849b7
--- /dev/null
+++ b/doc/sphinx/man/props/P_ALLOWED_SHADOW
@@ -0,0 +1,38 @@
+
+P_ALLOWED_SHADOW
+****************
+
+
+NAME
+====
+
+   P_ALLOWED_SHADOW              "allowed_shadow"
+
+
+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/sphinx/man/props/P_AMMUNITION b/doc/sphinx/man/props/P_AMMUNITION
new file mode 100644
index 0000000..cbe7f56
--- /dev/null
+++ b/doc/sphinx/man/props/P_AMMUNITION
@@ -0,0 +1,62 @@
+
+P_AMMUNITION
+************
+
+
+NAME
+====
+
+   P_AMMUNITION     "munition"
+
+
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Enthaelt die fuer eine Waffe gueltige Munition als String. Die
+   Munition muss diesen String als ID besitzen.
+
+   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/sphinx/man/props/P_AMOUNT b/doc/sphinx/man/props/P_AMOUNT
new file mode 100644
index 0000000..5c0e51a
--- /dev/null
+++ b/doc/sphinx/man/props/P_AMOUNT
@@ -0,0 +1,21 @@
+
+P_AMOUNT
+********
+
+
+NAME
+====
+
+   P_AMOUNT                      "amount"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Anzahl der Objekte, fuer die das Objekt steht.
diff --git a/doc/sphinx/man/props/P_AQUATIC_HELPERS b/doc/sphinx/man/props/P_AQUATIC_HELPERS
new file mode 100644
index 0000000..8429a41
--- /dev/null
+++ b/doc/sphinx/man/props/P_AQUATIC_HELPERS
@@ -0,0 +1,64 @@
+
+P_AQUATIC_HELPERS
+*****************
+
+
+NAME
+====
+
+   P_AQUATIC_HELPERS "lib_p_aquatic_helpers"
+
+
+DEFINIERT IN
+============
+
+   <living/helpers.h>
+
+
+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/sphinx/man/props/P_ARMOURS b/doc/sphinx/man/props/P_ARMOURS
new file mode 100644
index 0000000..e0d6a0c
--- /dev/null
+++ b/doc/sphinx/man/props/P_ARMOURS
@@ -0,0 +1,41 @@
+
+P_ARMOURS
+*********
+
+
+NAME
+====
+
+   P_ARMOURS                     "armours"
+
+
+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/sphinx/man/props/P_ARMOUR_TYPE b/doc/sphinx/man/props/P_ARMOUR_TYPE
new file mode 100644
index 0000000..19e6812
--- /dev/null
+++ b/doc/sphinx/man/props/P_ARMOUR_TYPE
@@ -0,0 +1,63 @@
+
+P_ARMOUR_TYPE
+*************
+
+
+NAME
+====
+
+   P_ARMOUR_TYPE "armour_type"
+
+
+DEFINIERT IN
+============
+
+   <armour.h>
+
+
+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/sphinx/man/props/P_ARRIVEMSG b/doc/sphinx/man/props/P_ARRIVEMSG
new file mode 100644
index 0000000..cdafdaa
--- /dev/null
+++ b/doc/sphinx/man/props/P_ARRIVEMSG
@@ -0,0 +1,21 @@
+
+P_ARRIVEMSG
+***********
+
+
+NAME
+====
+
+   P_ARRIVEMSG                   "arrivemsg"
+
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Meldung, wenn der Transporter anlegt.
diff --git a/doc/sphinx/man/props/P_ARTICLE b/doc/sphinx/man/props/P_ARTICLE
new file mode 100644
index 0000000..2bf2c54
--- /dev/null
+++ b/doc/sphinx/man/props/P_ARTICLE
@@ -0,0 +1,28 @@
+
+P_ARTICLE
+*********
+
+
+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/sphinx/man/props/P_ATTACK_BUSY b/doc/sphinx/man/props/P_ATTACK_BUSY
new file mode 100644
index 0000000..dfc8ba6
--- /dev/null
+++ b/doc/sphinx/man/props/P_ATTACK_BUSY
@@ -0,0 +1,67 @@
+
+P_ATTACK_BUSY
+*************
+
+
+NAME
+====
+
+   P_ATTACK_BUSY                 "attack_busy"
+
+
+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/sphinx/man/props/P_ATTRIBUTES b/doc/sphinx/man/props/P_ATTRIBUTES
new file mode 100644
index 0000000..ed5dd1c
--- /dev/null
+++ b/doc/sphinx/man/props/P_ATTRIBUTES
@@ -0,0 +1,79 @@
+
+P_ATTRIBUTES
+************
+
+
+NAME
+====
+
+   P_ATTRIBUTES                    "attributes"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_ATTRIBUTES_MODIFIER b/doc/sphinx/man/props/P_ATTRIBUTES_MODIFIER
new file mode 100644
index 0000000..ab9f24d
--- /dev/null
+++ b/doc/sphinx/man/props/P_ATTRIBUTES_MODIFIER
@@ -0,0 +1,78 @@
+
+P_ATTRIBUTES_MODIFIER
+*********************
+
+
+NAME
+====
+
+   P_ATTRIBUTES_MODIFIER         "attributes_modifier"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/attributes.h
+
+
+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, ... ]) , ... ])
+
+   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/sphinx/man/props/P_ATTRIBUTES_OFFSETS b/doc/sphinx/man/props/P_ATTRIBUTES_OFFSETS
new file mode 100644
index 0000000..dfcbb8c
--- /dev/null
+++ b/doc/sphinx/man/props/P_ATTRIBUTES_OFFSETS
@@ -0,0 +1,46 @@
+
+P_ATTRIBUTES_OFFSETS
+********************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_AUTH_INFO b/doc/sphinx/man/props/P_AUTH_INFO
new file mode 100644
index 0000000..953b519
--- /dev/null
+++ b/doc/sphinx/man/props/P_AUTH_INFO
@@ -0,0 +1,21 @@
+
+P_AUTH_INFO
+***********
+
+
+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/sphinx/man/props/P_AUTOLOAD b/doc/sphinx/man/props/P_AUTOLOAD
new file mode 100644
index 0000000..5e623bb
--- /dev/null
+++ b/doc/sphinx/man/props/P_AUTOLOAD
@@ -0,0 +1,31 @@
+
+P_AUTOLOAD
+**********
+
+
+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/sphinx/man/props/P_AUTOLOADOBJ b/doc/sphinx/man/props/P_AUTOLOADOBJ
new file mode 100644
index 0000000..3184fff
--- /dev/null
+++ b/doc/sphinx/man/props/P_AUTOLOADOBJ
@@ -0,0 +1,141 @@
+
+P_AUTOLOADOBJ
+*************
+
+
+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);
+    ...
+   }
+
+
+   ## 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/sphinx/man/props/P_AVATAR_URI b/doc/sphinx/man/props/P_AVATAR_URI
new file mode 100644
index 0000000..0a2437c
--- /dev/null
+++ b/doc/sphinx/man/props/P_AVATAR_URI
@@ -0,0 +1,44 @@
+
+P_AVATAR_URI
+************
+
+
+NAME
+====
+
+   P_AVATAR_URI                    "p_lib_avataruri"
+
+
+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/sphinx/man/props/P_AVERAGE_SIZE b/doc/sphinx/man/props/P_AVERAGE_SIZE
new file mode 100644
index 0000000..155528f
--- /dev/null
+++ b/doc/sphinx/man/props/P_AVERAGE_SIZE
@@ -0,0 +1,21 @@
+
+P_AVERAGE_SIZE
+**************
+
+
+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/sphinx/man/props/P_AVERAGE_WEIGHT b/doc/sphinx/man/props/P_AVERAGE_WEIGHT
new file mode 100644
index 0000000..d71c53b
--- /dev/null
+++ b/doc/sphinx/man/props/P_AVERAGE_WEIGHT
@@ -0,0 +1,21 @@
+
+P_AVERAGE_WEIGHT
+****************
+
+
+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/sphinx/man/props/P_AWAY b/doc/sphinx/man/props/P_AWAY
new file mode 100644
index 0000000..5678440
--- /dev/null
+++ b/doc/sphinx/man/props/P_AWAY
@@ -0,0 +1,21 @@
+
+P_AWAY
+******
+
+
+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/sphinx/man/props/P_BAD_MSG b/doc/sphinx/man/props/P_BAD_MSG
new file mode 100644
index 0000000..7015a9c
--- /dev/null
+++ b/doc/sphinx/man/props/P_BAD_MSG
@@ -0,0 +1,48 @@
+
+P_BAD_MSG
+*********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_BLIND b/doc/sphinx/man/props/P_BLIND
new file mode 100644
index 0000000..da86624
--- /dev/null
+++ b/doc/sphinx/man/props/P_BLIND
@@ -0,0 +1,56 @@
+
+P_BLIND
+*******
+
+
+NAME
+====
+
+   P_BLIND                       "blind"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/viewcmd.h
+
+
+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/sphinx/man/props/P_BODY b/doc/sphinx/man/props/P_BODY
new file mode 100644
index 0000000..5871adb
--- /dev/null
+++ b/doc/sphinx/man/props/P_BODY
@@ -0,0 +1,22 @@
+
+P_BODY
+******
+
+
+NAME
+====
+
+   P_BODY                        "body"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Numerischer Wert fuer die Abwehrstaerke des blanken Koerpers
+   des Wesens.
diff --git a/doc/sphinx/man/props/P_BRIEF b/doc/sphinx/man/props/P_BRIEF
new file mode 100644
index 0000000..f6d3769
--- /dev/null
+++ b/doc/sphinx/man/props/P_BRIEF
@@ -0,0 +1,21 @@
+
+P_BRIEF
+*******
+
+
+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/sphinx/man/props/P_BUFFER b/doc/sphinx/man/props/P_BUFFER
new file mode 100644
index 0000000..699f91c
--- /dev/null
+++ b/doc/sphinx/man/props/P_BUFFER
@@ -0,0 +1,21 @@
+
+P_BUFFER
+********
+
+
+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/sphinx/man/props/P_BUY_ONLY_PLANTS b/doc/sphinx/man/props/P_BUY_ONLY_PLANTS
new file mode 100644
index 0000000..0d15a94
--- /dev/null
+++ b/doc/sphinx/man/props/P_BUY_ONLY_PLANTS
@@ -0,0 +1,31 @@
+
+P_BUY_ONLY_PLANTS
+*****************
+
+
+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/sphinx/man/props/P_CALLED_FROM_IP b/doc/sphinx/man/props/P_CALLED_FROM_IP
new file mode 100644
index 0000000..306241c
--- /dev/null
+++ b/doc/sphinx/man/props/P_CALLED_FROM_IP
@@ -0,0 +1,21 @@
+
+P_CALLED_FROM_IP
+****************
+
+
+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/sphinx/man/props/P_CAN_FLAGS b/doc/sphinx/man/props/P_CAN_FLAGS
new file mode 100644
index 0000000..06afe76
--- /dev/null
+++ b/doc/sphinx/man/props/P_CAN_FLAGS
@@ -0,0 +1,22 @@
+
+P_CAN_FLAGS
+***********
+
+
+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/sphinx/man/props/P_CAP_NAME b/doc/sphinx/man/props/P_CAP_NAME
new file mode 100644
index 0000000..0069948
--- /dev/null
+++ b/doc/sphinx/man/props/P_CAP_NAME
@@ -0,0 +1,22 @@
+
+P_CAP_NAME
+**********
+
+
+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/sphinx/man/props/P_CARRIED_VALUE b/doc/sphinx/man/props/P_CARRIED_VALUE
new file mode 100644
index 0000000..8792664
--- /dev/null
+++ b/doc/sphinx/man/props/P_CARRIED_VALUE
@@ -0,0 +1,21 @@
+
+P_CARRIED_VALUE
+***************
+
+
+NAME
+====
+
+   P_CARRIED_VALUE               "carried"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Entschaedigung, die der Spieler beim Einloggen erhaelt.
diff --git a/doc/sphinx/man/props/P_CHATS b/doc/sphinx/man/props/P_CHATS
new file mode 100644
index 0000000..51e1a5e
--- /dev/null
+++ b/doc/sphinx/man/props/P_CHATS
@@ -0,0 +1,21 @@
+
+P_CHATS
+*******
+
+
+NAME
+====
+
+   P_CHATS                       "chats"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Alist mit Strings, die das Monster zufaellig ausgibt.
diff --git a/doc/sphinx/man/props/P_CHAT_CHANCE b/doc/sphinx/man/props/P_CHAT_CHANCE
new file mode 100644
index 0000000..bd032bf
--- /dev/null
+++ b/doc/sphinx/man/props/P_CHAT_CHANCE
@@ -0,0 +1,21 @@
+
+P_CHAT_CHANCE
+*************
+
+
+NAME
+====
+
+   P_CHAT_CHANCE                 "chat_chance"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wahrscheinlichkeit, mit der die Chats ausgegeben werden.
diff --git a/doc/sphinx/man/props/P_CLASS b/doc/sphinx/man/props/P_CLASS
new file mode 100644
index 0000000..80017cc
--- /dev/null
+++ b/doc/sphinx/man/props/P_CLASS
@@ -0,0 +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
+
+
+SIEHE AUCH
+==========
+
+   AddClass(), RemoveClass(), is_class_member()
+
+Last modified: Sun May 19 20:30:09 1996 by Wargon
diff --git a/doc/sphinx/man/props/P_CLOCKMSG b/doc/sphinx/man/props/P_CLOCKMSG
new file mode 100644
index 0000000..6f85b56
--- /dev/null
+++ b/doc/sphinx/man/props/P_CLOCKMSG
@@ -0,0 +1,21 @@
+
+P_CLOCKMSG
+**********
+
+
+NAME
+====
+
+   P_CLOCKMSG                    "clockmsg"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Die Meldung wird zur vollen Stunde ausgegeben
diff --git a/doc/sphinx/man/props/P_CLONER b/doc/sphinx/man/props/P_CLONER
new file mode 100644
index 0000000..75e9d02
--- /dev/null
+++ b/doc/sphinx/man/props/P_CLONER
@@ -0,0 +1,28 @@
+
+P_CLONER
+********
+
+
+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/sphinx/man/props/P_CLONE_MSG b/doc/sphinx/man/props/P_CLONE_MSG
new file mode 100644
index 0000000..d16f42e
--- /dev/null
+++ b/doc/sphinx/man/props/P_CLONE_MSG
@@ -0,0 +1,21 @@
+
+P_CLONE_MSG
+***********
+
+
+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/sphinx/man/props/P_CLONE_TIME b/doc/sphinx/man/props/P_CLONE_TIME
new file mode 100644
index 0000000..fb7c3e5
--- /dev/null
+++ b/doc/sphinx/man/props/P_CLONE_TIME
@@ -0,0 +1,30 @@
+
+P_CLONE_TIME
+************
+
+
+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/sphinx/man/props/P_CLOTHING b/doc/sphinx/man/props/P_CLOTHING
new file mode 100644
index 0000000..3458058
--- /dev/null
+++ b/doc/sphinx/man/props/P_CLOTHING
@@ -0,0 +1,42 @@
+
+P_CLOTHING
+**********
+
+
+P_CLOTHINGS
+===========
+
+
+NAME
+====
+
+   P_CLOTHING                     "std:clothing"
+
+
+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/sphinx/man/props/P_CMSG b/doc/sphinx/man/props/P_CMSG
new file mode 100644
index 0000000..e38f085
--- /dev/null
+++ b/doc/sphinx/man/props/P_CMSG
@@ -0,0 +1,21 @@
+
+P_CMSG
+******
+
+
+NAME
+====
+
+   P_CMSG                        "clonemsg"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   *** OBSOLET! *** Siehe P_CLONE_MSG
diff --git a/doc/sphinx/man/props/P_CNT_STATUS b/doc/sphinx/man/props/P_CNT_STATUS
new file mode 100644
index 0000000..5bcc584
--- /dev/null
+++ b/doc/sphinx/man/props/P_CNT_STATUS
@@ -0,0 +1,22 @@
+
+P_CNT_STATUS
+************
+
+
+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/sphinx/man/props/P_COMBATCMDS b/doc/sphinx/man/props/P_COMBATCMDS
new file mode 100644
index 0000000..e82336a
--- /dev/null
+++ b/doc/sphinx/man/props/P_COMBATCMDS
@@ -0,0 +1,44 @@
+
+P_COMBATCMDS
+************
+
+
+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/sphinx/man/props/P_COMMANDS b/doc/sphinx/man/props/P_COMMANDS
new file mode 100644
index 0000000..5812b35
--- /dev/null
+++ b/doc/sphinx/man/props/P_COMMANDS
@@ -0,0 +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.
+
+   Sie sollte nicht von Hand manipuliert werden, sondern nur ueber die
+   Funktionen AddCmd() und RemoveCmd().
+
+   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/sphinx/man/props/P_COMPILER_PATH b/doc/sphinx/man/props/P_COMPILER_PATH
new file mode 100644
index 0000000..e67d01f
--- /dev/null
+++ b/doc/sphinx/man/props/P_COMPILER_PATH
@@ -0,0 +1,40 @@
+
+P_COMPILER_PATH
+***************
+
+
+NAME
+====
+
+   P_COMPILER_PATH               "compiler_path"
+
+
+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/sphinx/man/props/P_CONSUME_MSG b/doc/sphinx/man/props/P_CONSUME_MSG
new file mode 100644
index 0000000..0300037
--- /dev/null
+++ b/doc/sphinx/man/props/P_CONSUME_MSG
@@ -0,0 +1,45 @@
+
+P_CONSUME_MSG
+*************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_CONTAINER b/doc/sphinx/man/props/P_CONTAINER
new file mode 100644
index 0000000..e779f75
--- /dev/null
+++ b/doc/sphinx/man/props/P_CONTAINER
@@ -0,0 +1,21 @@
+
+P_CONTAINER
+***********
+
+
+NAME
+====
+
+   P_CONTAINER                   "container"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_CONTENTS b/doc/sphinx/man/props/P_CONTENTS
new file mode 100644
index 0000000..fc9f20e
--- /dev/null
+++ b/doc/sphinx/man/props/P_CONTENTS
@@ -0,0 +1,21 @@
+
+P_CONTENTS
+**********
+
+
+NAME
+====
+
+   P_CONTENTS                    "contents"
+
+
+DEFINIERT IN
+============
+
+   /sys/container.h
+
+
+BESCHREIBUNG
+============
+
+   *** OBSOLET! ***
diff --git a/doc/sphinx/man/props/P_CORPSE b/doc/sphinx/man/props/P_CORPSE
new file mode 100644
index 0000000..762f03c
--- /dev/null
+++ b/doc/sphinx/man/props/P_CORPSE
@@ -0,0 +1,43 @@
+
+P_CORPSE
+********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_CURRENTDIR b/doc/sphinx/man/props/P_CURRENTDIR
new file mode 100644
index 0000000..b1dc2a4
--- /dev/null
+++ b/doc/sphinx/man/props/P_CURRENTDIR
@@ -0,0 +1,28 @@
+
+P_CURRENTDIR
+************
+
+
+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
+
+Letzte Aenderung:
+   03.06.2015, Bugfix
diff --git a/doc/sphinx/man/props/P_CURSED b/doc/sphinx/man/props/P_CURSED
new file mode 100644
index 0000000..c3a9061
--- /dev/null
+++ b/doc/sphinx/man/props/P_CURSED
@@ -0,0 +1,56 @@
+
+P_CURSED
+********
+
+
+NAME
+====
+
+   P_CURSED "cursed"
+
+
+DEFINIERT IN
+============
+
+   <properties.h>
+
+
+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...
+
+   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/sphinx/man/props/P_DAMAGED b/doc/sphinx/man/props/P_DAMAGED
new file mode 100644
index 0000000..91d5324
--- /dev/null
+++ b/doc/sphinx/man/props/P_DAMAGED
@@ -0,0 +1,41 @@
+
+P_DAMAGED
+*********
+
+
+NAME
+====
+
+   P_DAMAGED "item_damaged"
+
+
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+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/sphinx/man/props/P_DAMAGE_MSG b/doc/sphinx/man/props/P_DAMAGE_MSG
new file mode 100644
index 0000000..e9c71a8
--- /dev/null
+++ b/doc/sphinx/man/props/P_DAMAGE_MSG
@@ -0,0 +1,58 @@
+
+P_DAMAGE_MSG
+************
+
+
+NAME
+====
+
+   P_DAMAGE_MSG      "std_p_dam_msg"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+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/sphinx/man/props/P_DAM_DESC b/doc/sphinx/man/props/P_DAM_DESC
new file mode 100644
index 0000000..151f555
--- /dev/null
+++ b/doc/sphinx/man/props/P_DAM_DESC
@@ -0,0 +1,56 @@
+
+P_DAM_DESC
+**********
+
+
+NAME
+====
+
+   P_DAM_DESC "dam_desc"
+
+
+DEFINIERT IN
+============
+
+   <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/sphinx/man/props/P_DAM_TYPE b/doc/sphinx/man/props/P_DAM_TYPE
new file mode 100644
index 0000000..e5088d2
--- /dev/null
+++ b/doc/sphinx/man/props/P_DAM_TYPE
@@ -0,0 +1,35 @@
+
+P_DAM_TYPE
+**********
+
+
+NAME
+====
+
+   P_DAM_TYPE "dam_type"
+
+
+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/sphinx/man/props/P_DEADS b/doc/sphinx/man/props/P_DEADS
new file mode 100644
index 0000000..03f0c07
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEADS
@@ -0,0 +1,22 @@
+
+P_DEADS
+*******
+
+
+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/sphinx/man/props/P_DEAF b/doc/sphinx/man/props/P_DEAF
new file mode 100644
index 0000000..570ac06
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEAF
@@ -0,0 +1,23 @@
+
+P_DEAF
+******
+
+
+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/sphinx/man/props/P_DEATH_MSG b/doc/sphinx/man/props/P_DEATH_MSG
new file mode 100644
index 0000000..d5de007
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEATH_MSG
@@ -0,0 +1,79 @@
+
+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/sphinx/man/props/P_DEATH_SPONSORED_BY b/doc/sphinx/man/props/P_DEATH_SPONSORED_BY
new file mode 100644
index 0000000..cae8532
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEATH_SPONSORED_BY
@@ -0,0 +1,42 @@
+
+P_DEATH_SPONSORED_BY
+********************
+
+
+NAME
+====
+
+   P_DEATH_SPONSORED_BY          "responsible_wizard_for_death"
+
+
+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/sphinx/man/props/P_DEFAULT_GUILD b/doc/sphinx/man/props/P_DEFAULT_GUILD
new file mode 100644
index 0000000..55abd50
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEFAULT_GUILD
@@ -0,0 +1,43 @@
+
+P_DEFAULT_GUILD
+***************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_DEFAULT_NOTIFY_FAIL b/doc/sphinx/man/props/P_DEFAULT_NOTIFY_FAIL
new file mode 100644
index 0000000..351c96c
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEFAULT_NOTIFY_FAIL
@@ -0,0 +1,21 @@
+
+P_DEFAULT_NOTIFY_FAIL
+*********************
+
+
+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/sphinx/man/props/P_DEFENDERS b/doc/sphinx/man/props/P_DEFENDERS
new file mode 100644
index 0000000..a54134a
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEFENDERS
@@ -0,0 +1,45 @@
+
+P_DEFENDERS
+***********
+
+
+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/sphinx/man/props/P_DEFEND_FUNC b/doc/sphinx/man/props/P_DEFEND_FUNC
new file mode 100644
index 0000000..a9939e1
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEFEND_FUNC
@@ -0,0 +1,50 @@
+
+P_DEFEND_FUNC
+*************
+
+
+NAME
+====
+
+   P_DEFEND_FUNC "defend_func"
+
+
+DEFINIERT IN
+============
+
+   <armour.h>
+
+
+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/sphinx/man/props/P_DEFUEL_AMOUNT_DRINK b/doc/sphinx/man/props/P_DEFUEL_AMOUNT_DRINK
new file mode 100644
index 0000000..79dcfa5
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEFUEL_AMOUNT_DRINK
@@ -0,0 +1,36 @@
+
+P_DEFUEL_AMOUNT_DRINK
+*********************
+
+
+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/sphinx/man/props/P_DEFUEL_AMOUNT_FOOD b/doc/sphinx/man/props/P_DEFUEL_AMOUNT_FOOD
new file mode 100644
index 0000000..f61a23e
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEFUEL_AMOUNT_FOOD
@@ -0,0 +1,36 @@
+
+P_DEFUEL_AMOUNT_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/sphinx/man/props/P_DEFUEL_LIMIT_DRINK b/doc/sphinx/man/props/P_DEFUEL_LIMIT_DRINK
new file mode 100644
index 0000000..d3a2c3c
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEFUEL_LIMIT_DRINK
@@ -0,0 +1,37 @@
+
+P_DEFUEL_LIMIT_DRINK
+********************
+
+
+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/sphinx/man/props/P_DEFUEL_LIMIT_FOOD b/doc/sphinx/man/props/P_DEFUEL_LIMIT_FOOD
new file mode 100644
index 0000000..bb012a3
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEFUEL_LIMIT_FOOD
@@ -0,0 +1,37 @@
+
+P_DEFUEL_LIMIT_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/sphinx/man/props/P_DEFUEL_TIME_DRINK b/doc/sphinx/man/props/P_DEFUEL_TIME_DRINK
new file mode 100644
index 0000000..3ff3b74
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEFUEL_TIME_DRINK
@@ -0,0 +1,37 @@
+
+P_DEFUEL_TIME_DRINK
+*******************
+
+
+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/sphinx/man/props/P_DEFUEL_TIME_FOOD b/doc/sphinx/man/props/P_DEFUEL_TIME_FOOD
new file mode 100644
index 0000000..fcd80d0
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEFUEL_TIME_FOOD
@@ -0,0 +1,37 @@
+
+P_DEFUEL_TIME_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/sphinx/man/props/P_DEPARTMSG b/doc/sphinx/man/props/P_DEPARTMSG
new file mode 100644
index 0000000..917e01c
--- /dev/null
+++ b/doc/sphinx/man/props/P_DEPARTMSG
@@ -0,0 +1,21 @@
+
+P_DEPARTMSG
+***********
+
+
+NAME
+====
+
+   P_DEPARTMSG                   "departmsg"
+
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Meldung, mit der ein Transporter ablegt.
diff --git a/doc/sphinx/man/props/P_DESCRIPTION b/doc/sphinx/man/props/P_DESCRIPTION
new file mode 100644
index 0000000..4d32999
--- /dev/null
+++ b/doc/sphinx/man/props/P_DESCRIPTION
@@ -0,0 +1,21 @@
+
+P_DESCRIPTION
+*************
+
+
+NAME
+====
+
+   P_DESCRIPTION                 "description"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Beschreibung des Spielers
diff --git a/doc/sphinx/man/props/P_DESTROY_BAD b/doc/sphinx/man/props/P_DESTROY_BAD
new file mode 100644
index 0000000..94f00e5
--- /dev/null
+++ b/doc/sphinx/man/props/P_DESTROY_BAD
@@ -0,0 +1,52 @@
+
+P_DESTROY_BAD
+*************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_DESTRUCT_MSG b/doc/sphinx/man/props/P_DESTRUCT_MSG
new file mode 100644
index 0000000..334c374
--- /dev/null
+++ b/doc/sphinx/man/props/P_DESTRUCT_MSG
@@ -0,0 +1,21 @@
+
+P_DESTRUCT_MSG
+**************
+
+
+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/sphinx/man/props/P_DETAILS b/doc/sphinx/man/props/P_DETAILS
new file mode 100644
index 0000000..e14c15c
--- /dev/null
+++ b/doc/sphinx/man/props/P_DETAILS
@@ -0,0 +1,44 @@
+
+P_DETAILS
+*********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_DIE_MSG b/doc/sphinx/man/props/P_DIE_MSG
new file mode 100644
index 0000000..0bd5d17
--- /dev/null
+++ b/doc/sphinx/man/props/P_DIE_MSG
@@ -0,0 +1,56 @@
+
+P_DIE_MSG
+*********
+
+
+NAME
+====
+
+   P_DIE_MSG                  "die_msg"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+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/sphinx/man/props/P_DISABLE_ATTACK b/doc/sphinx/man/props/P_DISABLE_ATTACK
new file mode 100644
index 0000000..37544ae
--- /dev/null
+++ b/doc/sphinx/man/props/P_DISABLE_ATTACK
@@ -0,0 +1,64 @@
+
+P_DISABLE_ATTACK
+****************
+
+
+NAME
+====
+
+   P_DISABLE_ATTACK              "disable_attack"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+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/sphinx/man/props/P_DISABLE_COMMANDS b/doc/sphinx/man/props/P_DISABLE_COMMANDS
new file mode 100644
index 0000000..e66910a
--- /dev/null
+++ b/doc/sphinx/man/props/P_DISABLE_COMMANDS
@@ -0,0 +1,100 @@
+
+P_DISABLE_COMMANDS
+******************
+
+
+NAME
+====
+
+   P_DISABLE_COMMANDS             "p_lib_disablecommands"
+
+
+DEFINIERT IN
+============
+
+   /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()
+
+01.12.2012, Zesstra
diff --git a/doc/sphinx/man/props/P_DISTRIBUTION b/doc/sphinx/man/props/P_DISTRIBUTION
new file mode 100644
index 0000000..51140ae
--- /dev/null
+++ b/doc/sphinx/man/props/P_DISTRIBUTION
@@ -0,0 +1,31 @@
+
+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/sphinx/man/props/P_DMSG b/doc/sphinx/man/props/P_DMSG
new file mode 100644
index 0000000..40af065
--- /dev/null
+++ b/doc/sphinx/man/props/P_DMSG
@@ -0,0 +1,21 @@
+
+P_DMSG
+******
+
+
+NAME
+====
+
+   P_DMSG                        "destmsg"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   *** OBSOLET! *** Siehe P_DESTRUCT_MSG
diff --git a/doc/sphinx/man/props/P_DOMAIN b/doc/sphinx/man/props/P_DOMAIN
new file mode 100644
index 0000000..aad5288
--- /dev/null
+++ b/doc/sphinx/man/props/P_DOMAIN
@@ -0,0 +1,50 @@
+
+P_DOMAIN
+********
+
+
+NAME
+====
+
+   P_DOMAIN                                        "lib_p_domain"
+
+
+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/sphinx/man/props/P_DOOR_INFOS b/doc/sphinx/man/props/P_DOOR_INFOS
new file mode 100644
index 0000000..dc393da
--- /dev/null
+++ b/doc/sphinx/man/props/P_DOOR_INFOS
@@ -0,0 +1,58 @@
+
+P_DOOR_INFOS
+************
+
+
+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/sphinx/man/props/P_DO_DESTRUCT b/doc/sphinx/man/props/P_DO_DESTRUCT
new file mode 100644
index 0000000..6aa9384
--- /dev/null
+++ b/doc/sphinx/man/props/P_DO_DESTRUCT
@@ -0,0 +1,36 @@
+
+P_DO_DESTRUCT
+*************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_DRINK b/doc/sphinx/man/props/P_DRINK
new file mode 100644
index 0000000..028e987
--- /dev/null
+++ b/doc/sphinx/man/props/P_DRINK
@@ -0,0 +1,39 @@
+
+P_DRINK
+*******
+
+
+NAME
+====
+
+   P_DRINK                       "drink"
+
+
+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/sphinx/man/props/P_DRINK_DELAY b/doc/sphinx/man/props/P_DRINK_DELAY
new file mode 100644
index 0000000..1617b47
--- /dev/null
+++ b/doc/sphinx/man/props/P_DRINK_DELAY
@@ -0,0 +1,23 @@
+
+P_DRINK_DELAY
+*************
+
+
+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/sphinx/man/props/P_DRINK_FULL_MSG b/doc/sphinx/man/props/P_DRINK_FULL_MSG
new file mode 100644
index 0000000..1e5c2ce
--- /dev/null
+++ b/doc/sphinx/man/props/P_DRINK_FULL_MSG
@@ -0,0 +1,45 @@
+
+P_DRINK_FULL_MSG
+****************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_DROP_MSG b/doc/sphinx/man/props/P_DROP_MSG
new file mode 100644
index 0000000..9ccb875
--- /dev/null
+++ b/doc/sphinx/man/props/P_DROP_MSG
@@ -0,0 +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.
+
+   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/sphinx/man/props/P_EARMUFFS b/doc/sphinx/man/props/P_EARMUFFS
new file mode 100644
index 0000000..e5b4bbb
--- /dev/null
+++ b/doc/sphinx/man/props/P_EARMUFFS
@@ -0,0 +1,22 @@
+
+P_EARMUFFS
+**********
+
+
+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/sphinx/man/props/P_EATER_MSG b/doc/sphinx/man/props/P_EATER_MSG
new file mode 100644
index 0000000..132469d
--- /dev/null
+++ b/doc/sphinx/man/props/P_EATER_MSG
@@ -0,0 +1,44 @@
+
+P_EATER_MSG
+***********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_EFFECTIVE_AC b/doc/sphinx/man/props/P_EFFECTIVE_AC
new file mode 100644
index 0000000..5473d5d
--- /dev/null
+++ b/doc/sphinx/man/props/P_EFFECTIVE_AC
@@ -0,0 +1,107 @@
+
+P_EFFECTIVE_AC
+**************
+
+
+NAME
+====
+
+   P_EFFECTIVE_AC      "effective_ac"
+
+
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Diese Property kommt sowohl in Ruestungen als auch in Waffen, die
+   schuetzen sollen, zum Einsatz.
+
+   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)
+
+
+BERMERKUNGEN
+============
+
+   Das Kaempferspellbook verwendet fuer Paraden etc. P_EFFECTIVE_AC anstatt
+   P_AC, wenn verfuegbar.
+
+
+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());
+
+      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/sphinx/man/props/P_EFFECTIVE_WC b/doc/sphinx/man/props/P_EFFECTIVE_WC
new file mode 100644
index 0000000..aa16980
--- /dev/null
+++ b/doc/sphinx/man/props/P_EFFECTIVE_WC
@@ -0,0 +1,112 @@
+
+P_EFFECTIVE_WC
+**************
+
+
+NAME
+====
+
+   P_EFFECTIVE_WC     "effective_wc"
+
+
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   Diese Property kommt sowohl in Waffen als auch Ruestungen, die Schaden
+   machen sollen, zum Einsatz.
+
+   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.
+
+
+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/sphinx/man/props/P_EMPTY_MSG b/doc/sphinx/man/props/P_EMPTY_MSG
new file mode 100644
index 0000000..e91d622
--- /dev/null
+++ b/doc/sphinx/man/props/P_EMPTY_MSG
@@ -0,0 +1,45 @@
+
+P_EMPTY_MSG
+***********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_EMPTY_PROPS b/doc/sphinx/man/props/P_EMPTY_PROPS
new file mode 100644
index 0000000..6f5c126
--- /dev/null
+++ b/doc/sphinx/man/props/P_EMPTY_PROPS
@@ -0,0 +1,54 @@
+
+P_EMPTY_PROPS
+*************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_ENABLE_IN_ATTACK_OUT b/doc/sphinx/man/props/P_ENABLE_IN_ATTACK_OUT
new file mode 100644
index 0000000..0a64c74
--- /dev/null
+++ b/doc/sphinx/man/props/P_ENABLE_IN_ATTACK_OUT
@@ -0,0 +1,51 @@
+
+P_ENABLE_IN_ATTACK_OUT
+**********************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_ENEMY_DAMAGE b/doc/sphinx/man/props/P_ENEMY_DAMAGE
new file mode 100644
index 0000000..bad9c99
--- /dev/null
+++ b/doc/sphinx/man/props/P_ENEMY_DAMAGE
@@ -0,0 +1,48 @@
+
+P_ENEMY_DAMAGE
+**************
+
+
+NAME
+====
+
+   P_ENEMY_DAMAGE "enemy_damage"
+
+
+DEFINIERT IN
+============
+
+   <living/life.h>
+
+
+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/sphinx/man/props/P_ENEMY_DEATH_SEQUENCE b/doc/sphinx/man/props/P_ENEMY_DEATH_SEQUENCE
new file mode 100644
index 0000000..03b2bec
--- /dev/null
+++ b/doc/sphinx/man/props/P_ENEMY_DEATH_SEQUENCE
@@ -0,0 +1,61 @@
+
+P_ENEMY_DEATH_SEQUENCE
+**********************
+
+
+NAME
+====
+
+   P_ENEMY_DEATH_SEQUENCE        "enemy_death_sequence"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+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.
+
+   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/sphinx/man/props/P_ENTERCMDS b/doc/sphinx/man/props/P_ENTERCMDS
new file mode 100644
index 0000000..fc6f72f
--- /dev/null
+++ b/doc/sphinx/man/props/P_ENTERCMDS
@@ -0,0 +1,57 @@
+
+P_ENTERCMDS
+***********
+
+
+NAME
+====
+
+   P_ENTERCMDS                   "leavecmds"
+
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+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/sphinx/man/props/P_ENTERFAIL b/doc/sphinx/man/props/P_ENTERFAIL
new file mode 100644
index 0000000..5291065
--- /dev/null
+++ b/doc/sphinx/man/props/P_ENTERFAIL
@@ -0,0 +1,48 @@
+
+P_ENTERFAIL
+***********
+
+
+NAME
+====
+
+   P_ENTERFAIL                   "enterfail"
+
+
+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/sphinx/man/props/P_ENTERMSG b/doc/sphinx/man/props/P_ENTERMSG
new file mode 100644
index 0000000..9ba314d
--- /dev/null
+++ b/doc/sphinx/man/props/P_ENTERMSG
@@ -0,0 +1,40 @@
+
+P_ENTERMSG
+**********
+
+
+NAME
+====
+
+   P_ENTERMSG                    "entermsg"
+
+
+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/sphinx/man/props/P_ENV_MSG b/doc/sphinx/man/props/P_ENV_MSG
new file mode 100644
index 0000000..e969399
--- /dev/null
+++ b/doc/sphinx/man/props/P_ENV_MSG
@@ -0,0 +1,47 @@
+
+P_ENV_MSG
+*********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_ENV_TOO_HEAVY_MSG b/doc/sphinx/man/props/P_ENV_TOO_HEAVY_MSG
new file mode 100644
index 0000000..23c1d6c
--- /dev/null
+++ b/doc/sphinx/man/props/P_ENV_TOO_HEAVY_MSG
@@ -0,0 +1,50 @@
+
+P_ENV_TOO_HEAVY_MSG
+*******************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_EQUIP_TIME b/doc/sphinx/man/props/P_EQUIP_TIME
new file mode 100644
index 0000000..ee0d07f
--- /dev/null
+++ b/doc/sphinx/man/props/P_EQUIP_TIME
@@ -0,0 +1,39 @@
+
+P_EQUIP_TIME
+************
+
+
+NAME
+====
+
+   P_EQUIP_TIME                      "equip_time"
+
+
+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/sphinx/man/props/P_EVAL_FACTORS b/doc/sphinx/man/props/P_EVAL_FACTORS
new file mode 100644
index 0000000..ed83d4e
--- /dev/null
+++ b/doc/sphinx/man/props/P_EVAL_FACTORS
@@ -0,0 +1,21 @@
+
+P_EVAL_FACTORS
+**************
+
+
+NAME
+====
+
+   P_EVAL_FACTORS                "inpc_eval_factors"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/eval.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_EVAL_OFFSETS b/doc/sphinx/man/props/P_EVAL_OFFSETS
new file mode 100644
index 0000000..e571f51
--- /dev/null
+++ b/doc/sphinx/man/props/P_EVAL_OFFSETS
@@ -0,0 +1,21 @@
+
+P_EVAL_OFFSETS
+**************
+
+
+NAME
+====
+
+   P_EVAL_OFFSETS                "inpc_eval_offsets"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/eval.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_EXITS b/doc/sphinx/man/props/P_EXITS
new file mode 100644
index 0000000..c31bac3
--- /dev/null
+++ b/doc/sphinx/man/props/P_EXITS
@@ -0,0 +1,45 @@
+
+P_EXITS
+*******
+
+
+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/sphinx/man/props/P_EXTRA_LOOK b/doc/sphinx/man/props/P_EXTRA_LOOK
new file mode 100644
index 0000000..e4f050e
--- /dev/null
+++ b/doc/sphinx/man/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/sphinx/man/props/P_FAO b/doc/sphinx/man/props/P_FAO
new file mode 100644
index 0000000..33f673e
--- /dev/null
+++ b/doc/sphinx/man/props/P_FAO
@@ -0,0 +1,33 @@
+
+P_FAO
+*****
+
+
+NAME
+====
+
+   P_FAO      "fraternitasdonoarchmagorum"
+
+
+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/sphinx/man/props/P_FAO_PORTALS b/doc/sphinx/man/props/P_FAO_PORTALS
new file mode 100644
index 0000000..5d80c90
--- /dev/null
+++ b/doc/sphinx/man/props/P_FAO_PORTALS
@@ -0,0 +1,36 @@
+
+P_FAO_PORTALS
+*************
+
+
+NAME
+====
+
+   P_FAO_PORTALS      "fraternitasdonoarchmagorumPORTALS"
+
+
+DEFINIERT IN
+============
+
+   <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/sphinx/man/props/P_FISH b/doc/sphinx/man/props/P_FISH
new file mode 100644
index 0000000..0fa259f
--- /dev/null
+++ b/doc/sphinx/man/props/P_FISH
@@ -0,0 +1,92 @@
+
+P_FISH
+******
+
+
+NAME
+====
+
+   P_FISH                        "fish"
+
+
+DEFINIERT IN
+============
+
+   /sys/fishing.h
+
+
+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:
+
+     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/sphinx/man/props/P_FLAGS b/doc/sphinx/man/props/P_FLAGS
new file mode 100644
index 0000000..3962aed
--- /dev/null
+++ b/doc/sphinx/man/props/P_FLAGS
@@ -0,0 +1,21 @@
+
+P_FLAGS
+*******
+
+
+NAME
+====
+
+   P_FLAGS                       "can_flags"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Flags des Spielers
diff --git a/doc/sphinx/man/props/P_FOLLOW_SILENT b/doc/sphinx/man/props/P_FOLLOW_SILENT
new file mode 100644
index 0000000..6dd07b3
--- /dev/null
+++ b/doc/sphinx/man/props/P_FOLLOW_SILENT
@@ -0,0 +1,22 @@
+
+P_FOLLOW_SILENT
+***************
+
+
+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/sphinx/man/props/P_FOOD b/doc/sphinx/man/props/P_FOOD
new file mode 100644
index 0000000..3858431
--- /dev/null
+++ b/doc/sphinx/man/props/P_FOOD
@@ -0,0 +1,38 @@
+
+P_FOOD
+******
+
+
+NAME
+====
+
+   P_FOOD                        "food"
+
+
+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/sphinx/man/props/P_FOOD_DELAY b/doc/sphinx/man/props/P_FOOD_DELAY
new file mode 100644
index 0000000..f4eb2df
--- /dev/null
+++ b/doc/sphinx/man/props/P_FOOD_DELAY
@@ -0,0 +1,23 @@
+
+P_FOOD_DELAY
+************
+
+
+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/sphinx/man/props/P_FOOD_FULL_MSG b/doc/sphinx/man/props/P_FOOD_FULL_MSG
new file mode 100644
index 0000000..f5c1bce
--- /dev/null
+++ b/doc/sphinx/man/props/P_FOOD_FULL_MSG
@@ -0,0 +1,45 @@
+
+P_FOOD_FULL_MSG
+***************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_FORCE_MURDER_MSG b/doc/sphinx/man/props/P_FORCE_MURDER_MSG
new file mode 100644
index 0000000..709ef4e
--- /dev/null
+++ b/doc/sphinx/man/props/P_FORCE_MURDER_MSG
@@ -0,0 +1,57 @@
+
+P_FORCE_MURDER_MSG
+******************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_FREE_HANDS b/doc/sphinx/man/props/P_FREE_HANDS
new file mode 100644
index 0000000..c8311cc
--- /dev/null
+++ b/doc/sphinx/man/props/P_FREE_HANDS
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_FRIEND b/doc/sphinx/man/props/P_FRIEND
new file mode 100644
index 0000000..b22203b
--- /dev/null
+++ b/doc/sphinx/man/props/P_FRIEND
@@ -0,0 +1,39 @@
+
+P_FRIEND
+********
+
+
+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/sphinx/man/props/P_FROG b/doc/sphinx/man/props/P_FROG
new file mode 100644
index 0000000..71badbe
--- /dev/null
+++ b/doc/sphinx/man/props/P_FROG
@@ -0,0 +1,21 @@
+
+P_FROG
+******
+
+
+NAME
+====
+
+   P_FROG                        "frog"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt, wenn der Spieler ein Frosch ist.
diff --git a/doc/sphinx/man/props/P_FUEL b/doc/sphinx/man/props/P_FUEL
new file mode 100644
index 0000000..79f8515
--- /dev/null
+++ b/doc/sphinx/man/props/P_FUEL
@@ -0,0 +1,48 @@
+
+P_FUEL
+******
+
+
+NAME
+====
+
+   P_FUEL                        "fuel"
+
+
+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/sphinx/man/props/P_FUNC_MSG b/doc/sphinx/man/props/P_FUNC_MSG
new file mode 100644
index 0000000..adcca1a
--- /dev/null
+++ b/doc/sphinx/man/props/P_FUNC_MSG
@@ -0,0 +1,40 @@
+
+P_FUNC_MSG
+**********
+
+
+NAME
+====
+
+   P_FUNC_MSG                    "func_msg"
+
+
+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/sphinx/man/props/P_FW_ALWAYS_READABLE b/doc/sphinx/man/props/P_FW_ALWAYS_READABLE
new file mode 100644
index 0000000..f770431
--- /dev/null
+++ b/doc/sphinx/man/props/P_FW_ALWAYS_READABLE
@@ -0,0 +1,21 @@
+
+P_FW_ALWAYS_READABLE
+********************
+
+
+NAME
+====
+
+   P_FW_ALWAYS_READABLE          "fw_always_readable"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_FW_UNDERSTAND b/doc/sphinx/man/props/P_FW_UNDERSTAND
new file mode 100644
index 0000000..2884555
--- /dev/null
+++ b/doc/sphinx/man/props/P_FW_UNDERSTAND
@@ -0,0 +1,21 @@
+
+P_FW_UNDERSTAND
+***************
+
+
+NAME
+====
+
+   P_FW_UNDERSTAND               "fw_understand"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_GENDER b/doc/sphinx/man/props/P_GENDER
new file mode 100644
index 0000000..c2a3f77
--- /dev/null
+++ b/doc/sphinx/man/props/P_GENDER
@@ -0,0 +1,22 @@
+
+P_GENDER
+********
+
+
+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/sphinx/man/props/P_GHOST b/doc/sphinx/man/props/P_GHOST
new file mode 100644
index 0000000..31c9f2d
--- /dev/null
+++ b/doc/sphinx/man/props/P_GHOST
@@ -0,0 +1,21 @@
+
+P_GHOST
+*******
+
+
+NAME
+====
+
+   P_GHOST                       "ghost"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt, wenn der Spieler tot ist.
diff --git a/doc/sphinx/man/props/P_GIVE_MSG b/doc/sphinx/man/props/P_GIVE_MSG
new file mode 100644
index 0000000..e21dbad
--- /dev/null
+++ b/doc/sphinx/man/props/P_GIVE_MSG
@@ -0,0 +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.
+
+   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, 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
+========
+
+   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/sphinx/man/props/P_GLOBAL_SKILLPROPS b/doc/sphinx/man/props/P_GLOBAL_SKILLPROPS
new file mode 100644
index 0000000..1e3533b
--- /dev/null
+++ b/doc/sphinx/man/props/P_GLOBAL_SKILLPROPS
@@ -0,0 +1,46 @@
+
+P_GLOBAL_SKILLPROPS
+*******************
+
+
+NAME
+====
+
+   P_GLOBAL_SKILLPROPS        "sm_global"
+
+
+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/sphinx/man/props/P_GUARD b/doc/sphinx/man/props/P_GUARD
new file mode 100644
index 0000000..7128df6
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUARD
@@ -0,0 +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()
+
+13.April 2004 Gloinson
diff --git a/doc/sphinx/man/props/P_GUILD b/doc/sphinx/man/props/P_GUILD
new file mode 100644
index 0000000..c3c13cb
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_GUILD_DEACTIVATE_SKILLS b/doc/sphinx/man/props/P_GUILD_DEACTIVATE_SKILLS
new file mode 100644
index 0000000..a53d6ce
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_DEACTIVATE_SKILLS
@@ -0,0 +1,50 @@
+
+P_GUILD_DEACTIVATE_SKILLS
+*************************
+
+
+PROPERTY
+========
+
+   P_GUILD_DEACTIVATE_SKILLS     "guild_deactivate_skills"
+
+DEFINIERT IN:
+
+   new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   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.
+
+   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.
+
+   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/sphinx/man/props/P_GUILD_DEFAULT_SPELLBOOK b/doc/sphinx/man/props/P_GUILD_DEFAULT_SPELLBOOK
new file mode 100644
index 0000000..4d6bbd0
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_DEFAULT_SPELLBOOK
@@ -0,0 +1,44 @@
+
+P_GUILD_DEFAULT_SPELLBOOK
+*************************
+
+
+NAME
+====
+
+   P_GUILD_DEFAULT_SPELLBOOK       "guild_sb"
+
+
+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/sphinx/man/props/P_GUILD_FEMALE_TITLES b/doc/sphinx/man/props/P_GUILD_FEMALE_TITLES
new file mode 100644
index 0000000..c06947d
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_FEMALE_TITLES
@@ -0,0 +1,42 @@
+
+P_GUILD_FEMALE_TITLES
+*********************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_GUILD_LEVEL b/doc/sphinx/man/props/P_GUILD_LEVEL
new file mode 100644
index 0000000..f38701c
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_LEVEL
@@ -0,0 +1,41 @@
+
+P_GUILD_LEVEL
+*************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_GUILD_LEVELS b/doc/sphinx/man/props/P_GUILD_LEVELS
new file mode 100644
index 0000000..9b9b80d
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_LEVELS
@@ -0,0 +1,56 @@
+
+P_GUILD_LEVELS
+**************
+
+
+NAME
+====
+
+   P_GUILD_LEVELS                  "guild_levels"
+
+
+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/sphinx/man/props/P_GUILD_MALE_TITLES b/doc/sphinx/man/props/P_GUILD_MALE_TITLES
new file mode 100644
index 0000000..41cb773
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_MALE_TITLES
@@ -0,0 +1,42 @@
+
+P_GUILD_MALE_TITLES
+*******************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_GUILD_PREPAREBLOCK b/doc/sphinx/man/props/P_GUILD_PREPAREBLOCK
new file mode 100644
index 0000000..ee1c361
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_PREPAREBLOCK
@@ -0,0 +1,60 @@
+
+P_GUILD_PREPAREBLOCK
+********************
+
+
+P_GUILD_PREPAREBLOCK (int)
+==========================
+
+
+NAME
+====
+
+   P_GUILD_PREPAREBLOCK                           "guild_prepareblock"
+
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+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/sphinx/man/props/P_GUILD_RATING b/doc/sphinx/man/props/P_GUILD_RATING
new file mode 100644
index 0000000..af9c24e
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_RATING
@@ -0,0 +1,40 @@
+
+P_GUILD_RATING
+**************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_GUILD_RESTRICTIONS b/doc/sphinx/man/props/P_GUILD_RESTRICTIONS
new file mode 100644
index 0000000..c94ccf3
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_RESTRICTIONS
@@ -0,0 +1,59 @@
+
+P_GUILD_RESTRICTIONS
+********************
+
+
+NAME
+====
+
+   P_GUILD_RESTRICTIONS        "guild_rest"
+
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+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/sphinx/man/props/P_GUILD_SKILLS b/doc/sphinx/man/props/P_GUILD_SKILLS
new file mode 100644
index 0000000..232a5cf
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_SKILLS
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_GUILD_TITLE b/doc/sphinx/man/props/P_GUILD_TITLE
new file mode 100644
index 0000000..d3a49b3
--- /dev/null
+++ b/doc/sphinx/man/props/P_GUILD_TITLE
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_HANDS b/doc/sphinx/man/props/P_HANDS
new file mode 100644
index 0000000..859b4eb
--- /dev/null
+++ b/doc/sphinx/man/props/P_HANDS
@@ -0,0 +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)
+
+   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}) }));
+
+
+   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/sphinx/man/props/P_HANDS_USED_BY b/doc/sphinx/man/props/P_HANDS_USED_BY
new file mode 100644
index 0000000..f0d5165
--- /dev/null
+++ b/doc/sphinx/man/props/P_HANDS_USED_BY
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_HARBOUR b/doc/sphinx/man/props/P_HARBOUR
new file mode 100644
index 0000000..f049847
--- /dev/null
+++ b/doc/sphinx/man/props/P_HARBOUR
@@ -0,0 +1,94 @@
+
+P_HARBOUR
+*********
+
+
+NAME
+====
+
+   P_HARBOUR                                  "harbour_name"
+
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+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:
+
+   ({ "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/sphinx/man/props/P_HAUS_ERLAUBT b/doc/sphinx/man/props/P_HAUS_ERLAUBT
new file mode 100644
index 0000000..ffd5c8f
--- /dev/null
+++ b/doc/sphinx/man/props/P_HAUS_ERLAUBT
@@ -0,0 +1,46 @@
+
+P_HAUS_ERLAUBT
+**************
+
+
+NAME
+====
+
+   P_HAUS_ERLAUBT                "haus_erlaubt"
+
+
+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/sphinx/man/props/P_HB b/doc/sphinx/man/props/P_HB
new file mode 100644
index 0000000..bdaf9f1
--- /dev/null
+++ b/doc/sphinx/man/props/P_HB
@@ -0,0 +1,22 @@
+
+P_HB
+****
+
+
+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/sphinx/man/props/P_HEAL b/doc/sphinx/man/props/P_HEAL
new file mode 100644
index 0000000..83d4991
--- /dev/null
+++ b/doc/sphinx/man/props/P_HEAL
@@ -0,0 +1,48 @@
+
+P_HEAL
+******
+
+
+NAME
+====
+
+   P_HEAL                        "heal"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_HELPER_NPC b/doc/sphinx/man/props/P_HELPER_NPC
new file mode 100644
index 0000000..af8bfef
--- /dev/null
+++ b/doc/sphinx/man/props/P_HELPER_NPC
@@ -0,0 +1,50 @@
+
+P_HELPER_NPC
+************
+
+
+NAME
+====
+
+   P_HELPER_NPC             "std:helper_npc
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+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/sphinx/man/props/P_HELPER_OBJECTS b/doc/sphinx/man/props/P_HELPER_OBJECTS
new file mode 100644
index 0000000..94990c4
--- /dev/null
+++ b/doc/sphinx/man/props/P_HELPER_OBJECTS
@@ -0,0 +1,40 @@
+
+P_HELPER_OBJECTS
+****************
+
+
+NAME
+====
+
+   P_HELPER_OBJECTS "lib_p_helper_objects"
+
+
+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/sphinx/man/props/P_HIDE_EXITS b/doc/sphinx/man/props/P_HIDE_EXITS
new file mode 100644
index 0000000..c9aa2e5
--- /dev/null
+++ b/doc/sphinx/man/props/P_HIDE_EXITS
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_HISTMIN b/doc/sphinx/man/props/P_HISTMIN
new file mode 100644
index 0000000..ca35504
--- /dev/null
+++ b/doc/sphinx/man/props/P_HISTMIN
@@ -0,0 +1,21 @@
+
+P_HISTMIN
+*********
+
+
+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/sphinx/man/props/P_HIT_FUNC b/doc/sphinx/man/props/P_HIT_FUNC
new file mode 100644
index 0000000..9bcc328
--- /dev/null
+++ b/doc/sphinx/man/props/P_HIT_FUNC
@@ -0,0 +1,38 @@
+
+P_HIT_FUNC
+**********
+
+
+NAME
+====
+
+   P_HIT_FUNC "hit_func"
+
+
+DEFINIERT IN
+============
+
+   <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/sphinx/man/props/P_HOMEPAGE b/doc/sphinx/man/props/P_HOMEPAGE
new file mode 100644
index 0000000..5cf6bec
--- /dev/null
+++ b/doc/sphinx/man/props/P_HOMEPAGE
@@ -0,0 +1,21 @@
+
+P_HOMEPAGE
+**********
+
+
+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/sphinx/man/props/P_HP b/doc/sphinx/man/props/P_HP
new file mode 100644
index 0000000..b7ded4a
--- /dev/null
+++ b/doc/sphinx/man/props/P_HP
@@ -0,0 +1,39 @@
+
+P_HP
+****
+
+
+NAME
+====
+
+   P_HP                          "hp"
+
+
+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/sphinx/man/props/P_HP_DELAY b/doc/sphinx/man/props/P_HP_DELAY
new file mode 100644
index 0000000..f15f748
--- /dev/null
+++ b/doc/sphinx/man/props/P_HP_DELAY
@@ -0,0 +1,23 @@
+
+P_HP_DELAY
+**********
+
+
+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/sphinx/man/props/P_HP_HOOKS b/doc/sphinx/man/props/P_HP_HOOKS
new file mode 100644
index 0000000..7bb48bf
--- /dev/null
+++ b/doc/sphinx/man/props/P_HP_HOOKS
@@ -0,0 +1,38 @@
+
+P_HP_HOOKS
+**********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_HUNTTIME b/doc/sphinx/man/props/P_HUNTTIME
new file mode 100644
index 0000000..e712a49
--- /dev/null
+++ b/doc/sphinx/man/props/P_HUNTTIME
@@ -0,0 +1,59 @@
+
+P_HUNTTIME
+**********
+
+
+P_HUNTTIME (int)
+================
+
+
+NAME
+====
+
+   P_HUNTTIME                                 "p_lib_hunttime"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_IDS b/doc/sphinx/man/props/P_IDS
new file mode 100644
index 0000000..dee9a74
--- /dev/null
+++ b/doc/sphinx/man/props/P_IDS
@@ -0,0 +1,41 @@
+
+P_IDS
+*****
+
+
+NAME
+====
+
+   P_IDS "ids"
+
+
+DEFINIERT IN
+============
+
+   <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/sphinx/man/props/P_IGNORE b/doc/sphinx/man/props/P_IGNORE
new file mode 100644
index 0000000..3436a09
--- /dev/null
+++ b/doc/sphinx/man/props/P_IGNORE
@@ -0,0 +1,39 @@
+
+P_IGNORE
+********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_INDOORS b/doc/sphinx/man/props/P_INDOORS
new file mode 100644
index 0000000..4483d10
--- /dev/null
+++ b/doc/sphinx/man/props/P_INDOORS
@@ -0,0 +1,52 @@
+
+P_INDOORS
+*********
+
+
+NAME
+====
+
+   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 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
+
+25.Aug 2008 Gloinson
diff --git a/doc/sphinx/man/props/P_INFO b/doc/sphinx/man/props/P_INFO
new file mode 100644
index 0000000..f29c242
--- /dev/null
+++ b/doc/sphinx/man/props/P_INFO
@@ -0,0 +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")
+
+
+SIEHE AUCH
+==========
+
+   GetOwner(L)
+
+24. April 2006, Vanion
diff --git a/doc/sphinx/man/props/P_INFORMME b/doc/sphinx/man/props/P_INFORMME
new file mode 100644
index 0000000..c6dd0ed
--- /dev/null
+++ b/doc/sphinx/man/props/P_INFORMME
@@ -0,0 +1,30 @@
+
+P_INFORMME
+**********
+
+
+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/sphinx/man/props/P_INPC_HOME b/doc/sphinx/man/props/P_INPC_HOME
new file mode 100644
index 0000000..1eafd4d
--- /dev/null
+++ b/doc/sphinx/man/props/P_INPC_HOME
@@ -0,0 +1,21 @@
+
+P_INPC_HOME
+***********
+
+
+NAME
+====
+
+   P_INPC_HOME                   "inpc_home"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_INPC_LAST_ENVIRONMENT b/doc/sphinx/man/props/P_INPC_LAST_ENVIRONMENT
new file mode 100644
index 0000000..8f7cb68
--- /dev/null
+++ b/doc/sphinx/man/props/P_INPC_LAST_ENVIRONMENT
@@ -0,0 +1,21 @@
+
+P_INPC_LAST_ENVIRONMENT
+***********************
+
+
+NAME
+====
+
+   P_INPC_LAST_ENVIRONMENT       "inpc_last_environment"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_INPC_LAST_PLAYER_CONTACT b/doc/sphinx/man/props/P_INPC_LAST_PLAYER_CONTACT
new file mode 100644
index 0000000..14f8730
--- /dev/null
+++ b/doc/sphinx/man/props/P_INPC_LAST_PLAYER_CONTACT
@@ -0,0 +1,21 @@
+
+P_INPC_LAST_PLAYER_CONTACT
+**************************
+
+
+NAME
+====
+
+   P_INPC_LAST_PLAYER_CONTACT    "inpc_last_player_contact"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_INPC_WALK_AREA b/doc/sphinx/man/props/P_INPC_WALK_AREA
new file mode 100644
index 0000000..9554d27
--- /dev/null
+++ b/doc/sphinx/man/props/P_INPC_WALK_AREA
@@ -0,0 +1,21 @@
+
+P_INPC_WALK_AREA
+****************
+
+
+NAME
+====
+
+   P_INPC_WALK_AREA              "inpc_walk_area"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_INPC_WALK_DELAYS b/doc/sphinx/man/props/P_INPC_WALK_DELAYS
new file mode 100644
index 0000000..e59deea
--- /dev/null
+++ b/doc/sphinx/man/props/P_INPC_WALK_DELAYS
@@ -0,0 +1,21 @@
+
+P_INPC_WALK_DELAYS
+******************
+
+
+NAME
+====
+
+   P_INPC_WALK_DELAYS            "inpc_walk_delay"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_INPC_WALK_FLAGS b/doc/sphinx/man/props/P_INPC_WALK_FLAGS
new file mode 100644
index 0000000..86c4835
--- /dev/null
+++ b/doc/sphinx/man/props/P_INPC_WALK_FLAGS
@@ -0,0 +1,21 @@
+
+P_INPC_WALK_FLAGS
+*****************
+
+
+NAME
+====
+
+   P_INPC_WALK_FLAGS             "inpc_walk_flags"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_INPC_WALK_MODE b/doc/sphinx/man/props/P_INPC_WALK_MODE
new file mode 100644
index 0000000..134bb50
--- /dev/null
+++ b/doc/sphinx/man/props/P_INPC_WALK_MODE
@@ -0,0 +1,21 @@
+
+P_INPC_WALK_MODE
+****************
+
+
+NAME
+====
+
+   P_INPC_WALK_MODE              "inpc_walk_mode"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_INPC_WALK_ROUTE b/doc/sphinx/man/props/P_INPC_WALK_ROUTE
new file mode 100644
index 0000000..762408d
--- /dev/null
+++ b/doc/sphinx/man/props/P_INPC_WALK_ROUTE
@@ -0,0 +1,21 @@
+
+P_INPC_WALK_ROUTE
+*****************
+
+
+NAME
+====
+
+   P_INPC_WALK_ROUTE             "inpc_walk_route"
+
+
+DEFINIERT IN
+============
+
+   /sys/inpc/walking.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_INTERMUD b/doc/sphinx/man/props/P_INTERMUD
new file mode 100644
index 0000000..8019998
--- /dev/null
+++ b/doc/sphinx/man/props/P_INTERMUD
@@ -0,0 +1,25 @@
+
+P_INTERMUD
+**********
+
+
+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/sphinx/man/props/P_INTERNAL_EXTRA_LOOK b/doc/sphinx/man/props/P_INTERNAL_EXTRA_LOOK
new file mode 100644
index 0000000..ffa78ad
--- /dev/null
+++ b/doc/sphinx/man/props/P_INTERNAL_EXTRA_LOOK
@@ -0,0 +1,57 @@
+
+P_INTERNAL_EXTRA_LOOK
+*********************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_INT_LIGHT b/doc/sphinx/man/props/P_INT_LIGHT
new file mode 100644
index 0000000..dcf59b6
--- /dev/null
+++ b/doc/sphinx/man/props/P_INT_LIGHT
@@ -0,0 +1,36 @@
+
+P_INT_LIGHT
+***********
+
+
+NAME
+====
+
+   P_INT_LIGHT                       "int_light"
+
+
+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/sphinx/man/props/P_INT_LONG b/doc/sphinx/man/props/P_INT_LONG
new file mode 100644
index 0000000..741e511
--- /dev/null
+++ b/doc/sphinx/man/props/P_INT_LONG
@@ -0,0 +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.
+
+   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/sphinx/man/props/P_INT_SHORT b/doc/sphinx/man/props/P_INT_SHORT
new file mode 100644
index 0000000..618bbab
--- /dev/null
+++ b/doc/sphinx/man/props/P_INT_SHORT
@@ -0,0 +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).
+
+   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/sphinx/man/props/P_INVIS b/doc/sphinx/man/props/P_INVIS
new file mode 100644
index 0000000..4063546
--- /dev/null
+++ b/doc/sphinx/man/props/P_INVIS
@@ -0,0 +1,65 @@
+
+P_INVIS
+*******
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_IP_NAME b/doc/sphinx/man/props/P_IP_NAME
new file mode 100644
index 0000000..6003c80
--- /dev/null
+++ b/doc/sphinx/man/props/P_IP_NAME
@@ -0,0 +1,21 @@
+
+P_IP_NAME
+*********
+
+
+NAME
+====
+
+   P_IP_NAME                     "ip_name"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Rechnername des Interactives
diff --git a/doc/sphinx/man/props/P_IS_ARTILLERY b/doc/sphinx/man/props/P_IS_ARTILLERY
new file mode 100644
index 0000000..2afcd60
--- /dev/null
+++ b/doc/sphinx/man/props/P_IS_ARTILLERY
@@ -0,0 +1,30 @@
+
+P_IS_ARTILLERY
+**************
+
+
+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/sphinx/man/props/P_ITEMS b/doc/sphinx/man/props/P_ITEMS
new file mode 100644
index 0000000..1fcafc5
--- /dev/null
+++ b/doc/sphinx/man/props/P_ITEMS
@@ -0,0 +1,22 @@
+
+P_ITEMS
+*******
+
+
+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/sphinx/man/props/P_I_HATE_ALCOHOL b/doc/sphinx/man/props/P_I_HATE_ALCOHOL
new file mode 100644
index 0000000..0a0eefc
--- /dev/null
+++ b/doc/sphinx/man/props/P_I_HATE_ALCOHOL
@@ -0,0 +1,41 @@
+
+P_I_HATE_ALCOHOL
+****************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_KEEPER b/doc/sphinx/man/props/P_KEEPER
new file mode 100644
index 0000000..63185c8
--- /dev/null
+++ b/doc/sphinx/man/props/P_KEEPER
@@ -0,0 +1,26 @@
+
+P_KEEPER
+********
+
+
+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/sphinx/man/props/P_KEEP_ON_SELL b/doc/sphinx/man/props/P_KEEP_ON_SELL
new file mode 100644
index 0000000..ce5feba
--- /dev/null
+++ b/doc/sphinx/man/props/P_KEEP_ON_SELL
@@ -0,0 +1,21 @@
+
+P_KEEP_ON_SELL
+**************
+
+
+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/sphinx/man/props/P_KILLER b/doc/sphinx/man/props/P_KILLER
new file mode 100644
index 0000000..01bb0d1
--- /dev/null
+++ b/doc/sphinx/man/props/P_KILLER
@@ -0,0 +1,46 @@
+
+P_KILLER
+********
+
+
+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
+   Setzen vor Aufruf von do_damage() oder die() hat keinerlei Wirkung!
+   Sinnvollerweise liest man diese Property im NotifyPlayerDeath() aus,
+   spaeteres Auslesen ist unzuverlaessig, da der Killer inzwischen zerstoert
+   sein koennte.
+   Diese Property sollte _nicht_ per Hand gesetzt werden, schon gar nicht
+   waehrend eines NotifyPlayerDeath(), weil es evtl. noch andere Objekte gibt,
+   die sich dafuer interessieren!
+
+
+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
+==========
+
+   do_damage()
+
+29.08.2008, Zesstra
diff --git a/doc/sphinx/man/props/P_KILLS b/doc/sphinx/man/props/P_KILLS
new file mode 100644
index 0000000..7ec3dac
--- /dev/null
+++ b/doc/sphinx/man/props/P_KILLS
@@ -0,0 +1,23 @@
+
+P_KILLS
+*******
+
+
+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/sphinx/man/props/P_KILL_MSG b/doc/sphinx/man/props/P_KILL_MSG
new file mode 100644
index 0000000..9437975
--- /dev/null
+++ b/doc/sphinx/man/props/P_KILL_MSG
@@ -0,0 +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:
+
+   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/sphinx/man/props/P_KILL_NAME b/doc/sphinx/man/props/P_KILL_NAME
new file mode 100644
index 0000000..0504066
--- /dev/null
+++ b/doc/sphinx/man/props/P_KILL_NAME
@@ -0,0 +1,59 @@
+
+P_KILL_NAME
+***********
+
+
+NAME
+====
+
+   P_KILL_NAME                        "kill_name"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_KNOWN_POTIONROOMS b/doc/sphinx/man/props/P_KNOWN_POTIONROOMS
new file mode 100644
index 0000000..29e17d3
--- /dev/null
+++ b/doc/sphinx/man/props/P_KNOWN_POTIONROOMS
@@ -0,0 +1,35 @@
+
+P_KNOWN_POTIONROOMS
+*******************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_LASTDIR b/doc/sphinx/man/props/P_LASTDIR
new file mode 100644
index 0000000..2695f06
--- /dev/null
+++ b/doc/sphinx/man/props/P_LASTDIR
@@ -0,0 +1,28 @@
+
+P_LASTDIR
+*********
+
+
+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
+
+Letzte Aenderung:
+   03.05.2016, Zesstra
diff --git a/doc/sphinx/man/props/P_LAST_COMBAT_TIME b/doc/sphinx/man/props/P_LAST_COMBAT_TIME
new file mode 100644
index 0000000..941ec1e
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_COMBAT_TIME
@@ -0,0 +1,38 @@
+
+P_LAST_COMBAT_TIME
+******************
+
+
+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/sphinx/man/props/P_LAST_COMMAND_ENV b/doc/sphinx/man/props/P_LAST_COMMAND_ENV
new file mode 100644
index 0000000..40bd6a0
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_COMMAND_ENV
@@ -0,0 +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.
+
+
+BEMERKUNGEN
+===========
+
+   Keine echte Property, _query_last_command_env() ist
+   in /std/players/command.c implementiert.
+
+14.Feb.2004 Gloinson
diff --git a/doc/sphinx/man/props/P_LAST_CONTENT_CHANGE b/doc/sphinx/man/props/P_LAST_CONTENT_CHANGE
new file mode 100644
index 0000000..f128774
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_CONTENT_CHANGE
@@ -0,0 +1,32 @@
+
+P_LAST_CONTENT_CHANGE
+*********************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_LAST_DAMAGE b/doc/sphinx/man/props/P_LAST_DAMAGE
new file mode 100644
index 0000000..66388b7
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_DAMAGE
@@ -0,0 +1,37 @@
+
+P_LAST_DAMAGE
+*************
+
+
+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/sphinx/man/props/P_LAST_DAMTIME b/doc/sphinx/man/props/P_LAST_DAMTIME
new file mode 100644
index 0000000..7e6d0ea
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_DAMTIME
@@ -0,0 +1,37 @@
+
+P_LAST_DAMTIME
+**************
+
+
+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/sphinx/man/props/P_LAST_DAMTYPES b/doc/sphinx/man/props/P_LAST_DAMTYPES
new file mode 100644
index 0000000..ecdf571
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_DAMTYPES
@@ -0,0 +1,36 @@
+
+P_LAST_DAMTYPES
+***************
+
+
+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/sphinx/man/props/P_LAST_DEATH_PROPS b/doc/sphinx/man/props/P_LAST_DEATH_PROPS
new file mode 100644
index 0000000..7249dad
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_DEATH_PROPS
@@ -0,0 +1,32 @@
+
+P_LAST_DEATH_PROPS
+******************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_LAST_DEATH_TIME b/doc/sphinx/man/props/P_LAST_DEATH_TIME
new file mode 100644
index 0000000..669e7a1
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_DEATH_TIME
@@ -0,0 +1,21 @@
+
+P_LAST_DEATH_TIME
+*****************
+
+
+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/sphinx/man/props/P_LAST_LOGIN b/doc/sphinx/man/props/P_LAST_LOGIN
new file mode 100644
index 0000000..4ad7360
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_LOGIN
@@ -0,0 +1,35 @@
+
+P_LAST_LOGIN
+************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_LAST_LOGOUT b/doc/sphinx/man/props/P_LAST_LOGOUT
new file mode 100644
index 0000000..e94e89e
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_LOGOUT
@@ -0,0 +1,39 @@
+
+P_LAST_LOGOUT
+*************
+
+
+NAME
+====
+
+   P_LAST_LOGOUT                 "last_logout"
+
+
+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/sphinx/man/props/P_LAST_MOVE b/doc/sphinx/man/props/P_LAST_MOVE
new file mode 100644
index 0000000..f6c974a
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_MOVE
@@ -0,0 +1,36 @@
+
+P_LAST_MOVE
+***********
+
+
+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/sphinx/man/props/P_LAST_USE b/doc/sphinx/man/props/P_LAST_USE
new file mode 100644
index 0000000..57519c9
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_USE
@@ -0,0 +1,33 @@
+
+P_LAST_USE
+**********
+
+
+NAME
+====
+
+   P_LAST_USE "last_use"
+
+
+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/sphinx/man/props/P_LAST_WEAR_ACTION b/doc/sphinx/man/props/P_LAST_WEAR_ACTION
new file mode 100644
index 0000000..5531955
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_WEAR_ACTION
@@ -0,0 +1,31 @@
+
+P_LAST_WEAR_ACTION
+******************
+
+
+PROPERTY
+========
+
+   P_LAST_WEAR_ACTION    "last_wear_action"
+
+DEFINIERT IN:
+
+   /sys/armour.h (und damit auch in properties.h)
+
+
+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/sphinx/man/props/P_LAST_XP b/doc/sphinx/man/props/P_LAST_XP
new file mode 100644
index 0000000..c31a8b4
--- /dev/null
+++ b/doc/sphinx/man/props/P_LAST_XP
@@ -0,0 +1,43 @@
+
+P_LAST_XP
+*********
+
+
+NAME
+====
+
+   P_LAST_XP                        "last_xp"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_LEAVECMDS b/doc/sphinx/man/props/P_LEAVECMDS
new file mode 100644
index 0000000..5b0e03c
--- /dev/null
+++ b/doc/sphinx/man/props/P_LEAVECMDS
@@ -0,0 +1,56 @@
+
+P_LEAVECMDS
+***********
+
+
+NAME
+====
+
+   P_LEAVECMDS                   "leavecmds"
+
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+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/sphinx/man/props/P_LEAVEFAIL b/doc/sphinx/man/props/P_LEAVEFAIL
new file mode 100644
index 0000000..88e92ea
--- /dev/null
+++ b/doc/sphinx/man/props/P_LEAVEFAIL
@@ -0,0 +1,48 @@
+
+P_LEAVEFAIL
+***********
+
+
+NAME
+====
+
+   P_LEAVEFAIL                   "leavefail"
+
+
+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/sphinx/man/props/P_LEAVEMSG b/doc/sphinx/man/props/P_LEAVEMSG
new file mode 100644
index 0000000..a3a1baf
--- /dev/null
+++ b/doc/sphinx/man/props/P_LEAVEMSG
@@ -0,0 +1,38 @@
+
+P_LEAVEMSG
+**********
+
+
+NAME
+====
+
+   P_LEAVEMSG                    "leavemsg"
+
+
+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/sphinx/man/props/P_LEP b/doc/sphinx/man/props/P_LEP
new file mode 100644
index 0000000..dbcea68
--- /dev/null
+++ b/doc/sphinx/man/props/P_LEP
@@ -0,0 +1,22 @@
+
+P_LEP
+*****
+
+
+NAME
+====
+
+   P_LEP                         "lep"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Levelpunkte eines Spielers
+   NICHT VON HAND SETZEN!!!
diff --git a/doc/sphinx/man/props/P_LEVEL b/doc/sphinx/man/props/P_LEVEL
new file mode 100644
index 0000000..a4b804c
--- /dev/null
+++ b/doc/sphinx/man/props/P_LEVEL
@@ -0,0 +1,48 @@
+
+P_LEVEL
+*******
+
+
+NAME
+====
+
+   P_LEVEL                       "level"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_LIFETIME b/doc/sphinx/man/props/P_LIFETIME
new file mode 100644
index 0000000..4c76f14
--- /dev/null
+++ b/doc/sphinx/man/props/P_LIFETIME
@@ -0,0 +1,51 @@
+
+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/sphinx/man/props/P_LIGHT b/doc/sphinx/man/props/P_LIGHT
new file mode 100644
index 0000000..d0b55d8
--- /dev/null
+++ b/doc/sphinx/man/props/P_LIGHT
@@ -0,0 +1,81 @@
+
+P_LIGHT
+*******
+
+
+NAME
+====
+
+   P_LIGHT                       "light"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_LIGHTDESC b/doc/sphinx/man/props/P_LIGHTDESC
new file mode 100644
index 0000000..e8c52d1
--- /dev/null
+++ b/doc/sphinx/man/props/P_LIGHTDESC
@@ -0,0 +1,56 @@
+
+P_LIGHTDESC
+***********
+
+
+NAME
+====
+
+   P_LIGHTDESC                   "lightdesc"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+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/sphinx/man/props/P_LIGHTED b/doc/sphinx/man/props/P_LIGHTED
new file mode 100644
index 0000000..31d7709
--- /dev/null
+++ b/doc/sphinx/man/props/P_LIGHTED
@@ -0,0 +1,21 @@
+
+P_LIGHTED
+*********
+
+
+NAME
+====
+
+   P_LIGHTED                     "lighted"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Flag, ob die Lichtquelle in Betrieb ist.
diff --git a/doc/sphinx/man/props/P_LIGHT_ABSORPTION b/doc/sphinx/man/props/P_LIGHT_ABSORPTION
new file mode 100644
index 0000000..4443a98
--- /dev/null
+++ b/doc/sphinx/man/props/P_LIGHT_ABSORPTION
@@ -0,0 +1,31 @@
+
+P_LIGHT_ABSORPTION
+******************
+
+
+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/sphinx/man/props/P_LIGHT_MODIFIER b/doc/sphinx/man/props/P_LIGHT_MODIFIER
new file mode 100644
index 0000000..c7741ee
--- /dev/null
+++ b/doc/sphinx/man/props/P_LIGHT_MODIFIER
@@ -0,0 +1,75 @@
+
+P_LIGHT_MODIFIER
+****************
+
+
+NAME
+====
+
+   P_LIGHT_MODIFIER                     "light_modifier"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+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/sphinx/man/props/P_LIGHT_TRANSPARENCY b/doc/sphinx/man/props/P_LIGHT_TRANSPARENCY
new file mode 100644
index 0000000..42d0d13
--- /dev/null
+++ b/doc/sphinx/man/props/P_LIGHT_TRANSPARENCY
@@ -0,0 +1,30 @@
+
+P_LIGHT_TRANSPARENCY
+********************
+
+
+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/sphinx/man/props/P_LIGHT_TYPE b/doc/sphinx/man/props/P_LIGHT_TYPE
new file mode 100644
index 0000000..47abbf4
--- /dev/null
+++ b/doc/sphinx/man/props/P_LIGHT_TYPE
@@ -0,0 +1,106 @@
+
+P_LIGHT_TYPE
+************
+
+
+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.
+
+
+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/sphinx/man/props/P_LIQUID b/doc/sphinx/man/props/P_LIQUID
new file mode 100644
index 0000000..55672bb
--- /dev/null
+++ b/doc/sphinx/man/props/P_LIQUID
@@ -0,0 +1,21 @@
+
+P_LIQUID
+********
+
+
+NAME
+====
+
+   P_LIQUID                      "w_max_wasserfuellmenge"
+
+
+DEFINIERT IN
+============
+
+   /sys/fishing.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_LOCALCMDS b/doc/sphinx/man/props/P_LOCALCMDS
new file mode 100644
index 0000000..02a3c2a
--- /dev/null
+++ b/doc/sphinx/man/props/P_LOCALCMDS
@@ -0,0 +1,25 @@
+
+P_LOCALCMDS
+***********
+
+
+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/sphinx/man/props/P_LOCATION b/doc/sphinx/man/props/P_LOCATION
new file mode 100644
index 0000000..cf2ed6c
--- /dev/null
+++ b/doc/sphinx/man/props/P_LOCATION
@@ -0,0 +1,32 @@
+
+P_LOCATION
+**********
+
+
+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/sphinx/man/props/P_LOG_INFO b/doc/sphinx/man/props/P_LOG_INFO
new file mode 100644
index 0000000..0ed186d
--- /dev/null
+++ b/doc/sphinx/man/props/P_LOG_INFO
@@ -0,0 +1,55 @@
+
+P_LOG_INFO
+**********
+
+
+NAME
+====
+
+   P_LOG_INFO                    "log_info"
+
+
+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/sphinx/man/props/P_LONG b/doc/sphinx/man/props/P_LONG
new file mode 100644
index 0000000..bad7968
--- /dev/null
+++ b/doc/sphinx/man/props/P_LONG
@@ -0,0 +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.
+
+   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/sphinx/man/props/P_LONG_EMPTY b/doc/sphinx/man/props/P_LONG_EMPTY
new file mode 100644
index 0000000..cac74e0
--- /dev/null
+++ b/doc/sphinx/man/props/P_LONG_EMPTY
@@ -0,0 +1,21 @@
+
+P_LONG_EMPTY
+************
+
+
+NAME
+====
+
+   P_LONG_EMPTY                  "w_longdesc_empty"
+
+
+DEFINIERT IN
+============
+
+   /sys/fishing.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_LONG_FULL b/doc/sphinx/man/props/P_LONG_FULL
new file mode 100644
index 0000000..7de6081
--- /dev/null
+++ b/doc/sphinx/man/props/P_LONG_FULL
@@ -0,0 +1,21 @@
+
+P_LONG_FULL
+***********
+
+
+NAME
+====
+
+   P_LONG_FULL                   "w_longdesc_full"
+
+
+DEFINIERT IN
+============
+
+   /sys/fishing.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_MAGIC b/doc/sphinx/man/props/P_MAGIC
new file mode 100644
index 0000000..8994533
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAGIC
@@ -0,0 +1,21 @@
+
+P_MAGIC
+*******
+
+
+NAME
+====
+
+   P_MAGIC                       "magic"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Dieses Objekt ist magisch.
diff --git a/doc/sphinx/man/props/P_MAGIC_RESISTANCE_OFFSET b/doc/sphinx/man/props/P_MAGIC_RESISTANCE_OFFSET
new file mode 100644
index 0000000..8d270e3
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAGIC_RESISTANCE_OFFSET
@@ -0,0 +1,52 @@
+
+P_MAGIC_RESISTANCE_OFFSET
+*************************
+
+
+NAME
+====
+
+   P_MAGIC_RESISTANCE_OFFSET                     "mag_res_offset"
+
+
+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/sphinx/man/props/P_MAILADDR b/doc/sphinx/man/props/P_MAILADDR
new file mode 100644
index 0000000..32556a7
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAILADDR
@@ -0,0 +1,21 @@
+
+P_MAILADDR
+**********
+
+
+NAME
+====
+
+   P_MAILADDR                    "mailaddr"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   EMailadresse des Spielers.
diff --git a/doc/sphinx/man/props/P_MAP_RESTRICTIONS b/doc/sphinx/man/props/P_MAP_RESTRICTIONS
new file mode 100644
index 0000000..ee9e620
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAP_RESTRICTIONS
@@ -0,0 +1,56 @@
+
+P_MAP_RESTRICTIONS
+******************
+
+
+NAME
+====
+
+   P_MAP_RESTRICTIONS                      "lib_p_map_restrictions"
+
+
+DEFINIERT IN
+============
+
+   /sys/rooms.h
+
+
+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/sphinx/man/props/P_MARRIED b/doc/sphinx/man/props/P_MARRIED
new file mode 100644
index 0000000..7cafa6f
--- /dev/null
+++ b/doc/sphinx/man/props/P_MARRIED
@@ -0,0 +1,28 @@
+
+P_MARRIED
+*********
+
+
+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/sphinx/man/props/P_MATERIAL b/doc/sphinx/man/props/P_MATERIAL
new file mode 100644
index 0000000..4ea4032
--- /dev/null
+++ b/doc/sphinx/man/props/P_MATERIAL
@@ -0,0 +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.
+
+
+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
+
+7. Mai 2004 Gloinson
diff --git a/doc/sphinx/man/props/P_MATERIAL_KNOWLEDGE b/doc/sphinx/man/props/P_MATERIAL_KNOWLEDGE
new file mode 100644
index 0000000..0694fef
--- /dev/null
+++ b/doc/sphinx/man/props/P_MATERIAL_KNOWLEDGE
@@ -0,0 +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})]));
+
+
+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/sphinx/man/props/P_MAX_ALCOHOL b/doc/sphinx/man/props/P_MAX_ALCOHOL
new file mode 100644
index 0000000..541972f
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAX_ALCOHOL
@@ -0,0 +1,39 @@
+
+P_MAX_ALCOHOL
+*************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_MAX_DRINK b/doc/sphinx/man/props/P_MAX_DRINK
new file mode 100644
index 0000000..33fdeb8
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAX_DRINK
@@ -0,0 +1,39 @@
+
+P_MAX_DRINK
+***********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_MAX_FOOD b/doc/sphinx/man/props/P_MAX_FOOD
new file mode 100644
index 0000000..fa7f661
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAX_FOOD
@@ -0,0 +1,38 @@
+
+P_MAX_FOOD
+**********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_MAX_HANDS b/doc/sphinx/man/props/P_MAX_HANDS
new file mode 100644
index 0000000..4c65afa
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAX_HANDS
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_MAX_HP b/doc/sphinx/man/props/P_MAX_HP
new file mode 100644
index 0000000..fcb3cb0
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAX_HP
@@ -0,0 +1,30 @@
+
+P_MAX_HP
+********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_MAX_OBJECTS b/doc/sphinx/man/props/P_MAX_OBJECTS
new file mode 100644
index 0000000..68c008f
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAX_OBJECTS
@@ -0,0 +1,44 @@
+
+P_MAX_OBJECTS
+*************
+
+
+NAME
+====
+
+   P_MAX_OBJECTS                  "max_objects"
+
+
+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/sphinx/man/props/P_MAX_PASSENGERS b/doc/sphinx/man/props/P_MAX_PASSENGERS
new file mode 100644
index 0000000..32e5f27
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAX_PASSENGERS
@@ -0,0 +1,22 @@
+
+P_MAX_PASSENGERS
+****************
+
+
+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/sphinx/man/props/P_MAX_POISON b/doc/sphinx/man/props/P_MAX_POISON
new file mode 100644
index 0000000..0d39dc4
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAX_POISON
@@ -0,0 +1,21 @@
+
+P_MAX_POISON
+************
+
+
+NAME
+====
+
+   P_MAX_POISON                  "max_poison"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Maximale Vergiftung
diff --git a/doc/sphinx/man/props/P_MAX_SP b/doc/sphinx/man/props/P_MAX_SP
new file mode 100644
index 0000000..7f7aa43
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAX_SP
@@ -0,0 +1,30 @@
+
+P_MAX_SP
+********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_MAX_WEIGHT b/doc/sphinx/man/props/P_MAX_WEIGHT
new file mode 100644
index 0000000..abd0942
--- /dev/null
+++ b/doc/sphinx/man/props/P_MAX_WEIGHT
@@ -0,0 +1,38 @@
+
+P_MAX_WEIGHT
+************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_MESSAGE_BEEP b/doc/sphinx/man/props/P_MESSAGE_BEEP
new file mode 100644
index 0000000..6ecf718
--- /dev/null
+++ b/doc/sphinx/man/props/P_MESSAGE_BEEP
@@ -0,0 +1,38 @@
+
+P_MESSAGE_BEEP
+**************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_MESSAGE_PREPEND b/doc/sphinx/man/props/P_MESSAGE_PREPEND
new file mode 100644
index 0000000..be54d65
--- /dev/null
+++ b/doc/sphinx/man/props/P_MESSAGE_PREPEND
@@ -0,0 +1,37 @@
+
+P_MESSAGE_PREPEND
+*****************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_MIN_STOCK b/doc/sphinx/man/props/P_MIN_STOCK
new file mode 100644
index 0000000..3be8d4e
--- /dev/null
+++ b/doc/sphinx/man/props/P_MIN_STOCK
@@ -0,0 +1,55 @@
+
+P_MIN_STOCK
+***********
+
+
+NAME
+====
+
+   P_MIN_STOCK                     "min_stock"
+
+
+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/sphinx/man/props/P_MMSGIN b/doc/sphinx/man/props/P_MMSGIN
new file mode 100644
index 0000000..98d37f3
--- /dev/null
+++ b/doc/sphinx/man/props/P_MMSGIN
@@ -0,0 +1,22 @@
+
+P_MMSGIN
+********
+
+
+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/sphinx/man/props/P_MMSGOUT b/doc/sphinx/man/props/P_MMSGOUT
new file mode 100644
index 0000000..6035ba8
--- /dev/null
+++ b/doc/sphinx/man/props/P_MMSGOUT
@@ -0,0 +1,22 @@
+
+P_MMSGOUT
+*********
+
+
+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/sphinx/man/props/P_MSGIN b/doc/sphinx/man/props/P_MSGIN
new file mode 100644
index 0000000..f5d90f8
--- /dev/null
+++ b/doc/sphinx/man/props/P_MSGIN
@@ -0,0 +1,22 @@
+
+P_MSGIN
+*******
+
+
+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/sphinx/man/props/P_MSGOUT b/doc/sphinx/man/props/P_MSGOUT
new file mode 100644
index 0000000..95a8545
--- /dev/null
+++ b/doc/sphinx/man/props/P_MSGOUT
@@ -0,0 +1,22 @@
+
+P_MSGOUT
+********
+
+
+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/sphinx/man/props/P_MSG_PROB b/doc/sphinx/man/props/P_MSG_PROB
new file mode 100644
index 0000000..b4465df
--- /dev/null
+++ b/doc/sphinx/man/props/P_MSG_PROB
@@ -0,0 +1,35 @@
+
+P_MSG_PROB
+**********
+
+
+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/sphinx/man/props/P_MUD_NEWBIE b/doc/sphinx/man/props/P_MUD_NEWBIE
new file mode 100644
index 0000000..71801eb
--- /dev/null
+++ b/doc/sphinx/man/props/P_MUD_NEWBIE
@@ -0,0 +1,31 @@
+
+P_MUD_NEWBIE
+************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_MURDER_MSG b/doc/sphinx/man/props/P_MURDER_MSG
new file mode 100644
index 0000000..c565cfa
--- /dev/null
+++ b/doc/sphinx/man/props/P_MURDER_MSG
@@ -0,0 +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)];
+   }
+
+   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/sphinx/man/props/P_M_ATTR_MOD b/doc/sphinx/man/props/P_M_ATTR_MOD
new file mode 100644
index 0000000..d279484
--- /dev/null
+++ b/doc/sphinx/man/props/P_M_ATTR_MOD
@@ -0,0 +1,64 @@
+
+P_M_ATTR_MOD
+************
+
+
+NAME
+====
+
+   P_M_ATTR_MOD                  "magic_attributes_modifier"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/attributes.h
+
+
+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/sphinx/man/props/P_M_HEALTH_MOD b/doc/sphinx/man/props/P_M_HEALTH_MOD
new file mode 100644
index 0000000..cdc3fd4
--- /dev/null
+++ b/doc/sphinx/man/props/P_M_HEALTH_MOD
@@ -0,0 +1,64 @@
+
+P_M_HEALTH_MOD
+**************
+
+
+NAME
+====
+
+   P_M_HEALTH_MOD                  "magic_health_modifier"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/attributes.h
+
+
+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/sphinx/man/props/P_NAME b/doc/sphinx/man/props/P_NAME
new file mode 100644
index 0000000..1fdc261
--- /dev/null
+++ b/doc/sphinx/man/props/P_NAME
@@ -0,0 +1,84 @@
+
+P_NAME
+******
+
+
+NAME
+====
+
+   P_NAME "name"
+
+
+DEFINIERT IN
+============
+
+   <thing/description.h>
+
+
+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.
+
+   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.
+
+   Setzt man P_NAME eines Unit-Objekts auf einen einfachen String, so wird
+   dieser als Name sowohl im Singular als auch im Plural verwendet.
+
+   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.
+
+
+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
+
+   SetProp(P_NAME, ({ "alter Hut", "alten Huts",
+                      "alten Hut", "alten Hut" }) );
+
+   besser
+
+   SetProp(P_NAME, "Hut");
+   SetProp(P_NAME_ADJ, "alt");
+
+   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/sphinx/man/props/P_NAME_ADJ b/doc/sphinx/man/props/P_NAME_ADJ
new file mode 100644
index 0000000..c4cc4a4
--- /dev/null
+++ b/doc/sphinx/man/props/P_NAME_ADJ
@@ -0,0 +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(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/sphinx/man/props/P_NEEDED_QP b/doc/sphinx/man/props/P_NEEDED_QP
new file mode 100644
index 0000000..2df4c78
--- /dev/null
+++ b/doc/sphinx/man/props/P_NEEDED_QP
@@ -0,0 +1,31 @@
+
+P_NEEDED_QP
+***********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NETDEAD_ENV b/doc/sphinx/man/props/P_NETDEAD_ENV
new file mode 100644
index 0000000..2e46f5d
--- /dev/null
+++ b/doc/sphinx/man/props/P_NETDEAD_ENV
@@ -0,0 +1,43 @@
+
+P_NETDEAD_ENV
+*************
+
+
+NAME
+====
+
+   P_NETDEAD_ENV                  "netdead_env"
+
+
+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/sphinx/man/props/P_NETDEAD_INFO b/doc/sphinx/man/props/P_NETDEAD_INFO
new file mode 100644
index 0000000..fe96ac6
--- /dev/null
+++ b/doc/sphinx/man/props/P_NETDEAD_INFO
@@ -0,0 +1,120 @@
+
+P_NETDEAD_INFO
+**************
+
+
+NAME
+====
+
+   P_NETDEAD_INFO                "netdead_info"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+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.
+
+
+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/sphinx/man/props/P_NEVERDROP b/doc/sphinx/man/props/P_NEVERDROP
new file mode 100644
index 0000000..d0cdf41
--- /dev/null
+++ b/doc/sphinx/man/props/P_NEVERDROP
@@ -0,0 +1,50 @@
+
+P_NEVERDROP
+***********
+
+
+NAME
+====
+
+   P_NEVERDROP                     "neverdrop"
+
+
+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/sphinx/man/props/P_NEVER_CLEAN b/doc/sphinx/man/props/P_NEVER_CLEAN
new file mode 100644
index 0000000..fc568ff
--- /dev/null
+++ b/doc/sphinx/man/props/P_NEVER_CLEAN
@@ -0,0 +1,53 @@
+
+P_NEVER_CLEAN
+*************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NEWSKILLS b/doc/sphinx/man/props/P_NEWSKILLS
new file mode 100644
index 0000000..7cb61c7
--- /dev/null
+++ b/doc/sphinx/man/props/P_NEWSKILLS
@@ -0,0 +1,38 @@
+
+P_NEWSKILLS
+***********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NEXT_DEATH_SEQUENCE b/doc/sphinx/man/props/P_NEXT_DEATH_SEQUENCE
new file mode 100644
index 0000000..6992a32
--- /dev/null
+++ b/doc/sphinx/man/props/P_NEXT_DEATH_SEQUENCE
@@ -0,0 +1,68 @@
+
+P_NEXT_DEATH_SEQUENCE
+*********************
+
+
+NAME
+====
+
+   P_NEXT_DEATH_SEQUENCE         "p_lib_next_death_sequence"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/combat.h
+
+
+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.
+
+   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/sphinx/man/props/P_NEXT_DISABLE_ATTACK b/doc/sphinx/man/props/P_NEXT_DISABLE_ATTACK
new file mode 100644
index 0000000..6a9eea3
--- /dev/null
+++ b/doc/sphinx/man/props/P_NEXT_DISABLE_ATTACK
@@ -0,0 +1,52 @@
+
+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 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/sphinx/man/props/P_NOBUY b/doc/sphinx/man/props/P_NOBUY
new file mode 100644
index 0000000..27f6c70
--- /dev/null
+++ b/doc/sphinx/man/props/P_NOBUY
@@ -0,0 +1,23 @@
+
+P_NOBUY
+*******
+
+
+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/sphinx/man/props/P_NOCORPSE b/doc/sphinx/man/props/P_NOCORPSE
new file mode 100644
index 0000000..15d5de2
--- /dev/null
+++ b/doc/sphinx/man/props/P_NOCORPSE
@@ -0,0 +1,51 @@
+
+P_NOCORPSE
+**********
+
+
+NAME
+====
+
+   P_NOCORPSE                      "nocorpse"
+
+
+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/sphinx/man/props/P_NODRINK_MSG b/doc/sphinx/man/props/P_NODRINK_MSG
new file mode 100644
index 0000000..a3407c7
--- /dev/null
+++ b/doc/sphinx/man/props/P_NODRINK_MSG
@@ -0,0 +1,46 @@
+
+P_NODRINK_MSG
+*************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NODROP b/doc/sphinx/man/props/P_NODROP
new file mode 100644
index 0000000..786cdea
--- /dev/null
+++ b/doc/sphinx/man/props/P_NODROP
@@ -0,0 +1,60 @@
+
+P_NODROP
+********
+
+
+NAME
+====
+
+   P_NODROP                        "nodrop"
+
+
+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/sphinx/man/props/P_NOFOOD_MSG b/doc/sphinx/man/props/P_NOFOOD_MSG
new file mode 100644
index 0000000..d195c5e
--- /dev/null
+++ b/doc/sphinx/man/props/P_NOFOOD_MSG
@@ -0,0 +1,46 @@
+
+P_NOFOOD_MSG
+************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NOGET b/doc/sphinx/man/props/P_NOGET
new file mode 100644
index 0000000..17a6248
--- /dev/null
+++ b/doc/sphinx/man/props/P_NOGET
@@ -0,0 +1,49 @@
+
+P_NOGET
+*******
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NOINSERT_MSG b/doc/sphinx/man/props/P_NOINSERT_MSG
new file mode 100644
index 0000000..de7d8e8
--- /dev/null
+++ b/doc/sphinx/man/props/P_NOINSERT_MSG
@@ -0,0 +1,65 @@
+
+P_NOINSERT_MSG
+**************
+
+
+NAME
+====
+
+   P_NOINSERT_MSG                      "noinsert_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 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/sphinx/man/props/P_NOLEAVE_MSG b/doc/sphinx/man/props/P_NOLEAVE_MSG
new file mode 100644
index 0000000..d2cd164
--- /dev/null
+++ b/doc/sphinx/man/props/P_NOLEAVE_MSG
@@ -0,0 +1,52 @@
+
+P_NOLEAVE_MSG
+*************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NOMAGIC b/doc/sphinx/man/props/P_NOMAGIC
new file mode 100644
index 0000000..42e51d1
--- /dev/null
+++ b/doc/sphinx/man/props/P_NOMAGIC
@@ -0,0 +1,42 @@
+
+P_NOMAGIC
+*********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NOSELL b/doc/sphinx/man/props/P_NOSELL
new file mode 100644
index 0000000..6141be3
--- /dev/null
+++ b/doc/sphinx/man/props/P_NOSELL
@@ -0,0 +1,50 @@
+
+P_NOSELL
+********
+
+
+NAME
+====
+
+   P_NOSELL                      "nosell"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+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/sphinx/man/props/P_NO_ASCII_ART b/doc/sphinx/man/props/P_NO_ASCII_ART
new file mode 100644
index 0000000..3a143a4
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_ASCII_ART
@@ -0,0 +1,35 @@
+
+P_NO_ASCII_ART
+**************
+
+
+NAME
+====
+
+   P_NO_ASCII_ART                   "no_ascii_art"
+
+
+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/sphinx/man/props/P_NO_ATTACK b/doc/sphinx/man/props/P_NO_ATTACK
new file mode 100644
index 0000000..9ca4c95
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_ATTACK
@@ -0,0 +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!
+
+
+LETZTE AENDERUNG
+================
+
+09.11.2015, Arathorn
diff --git a/doc/sphinx/man/props/P_NO_BAD b/doc/sphinx/man/props/P_NO_BAD
new file mode 100644
index 0000000..ae2adf2
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_BAD
@@ -0,0 +1,43 @@
+
+P_NO_BAD
+********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NO_GLOBAL_ATTACK b/doc/sphinx/man/props/P_NO_GLOBAL_ATTACK
new file mode 100644
index 0000000..962186c
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_GLOBAL_ATTACK
@@ -0,0 +1,33 @@
+
+P_NO_GLOBAL_ATTACK
+******************
+
+
+NAME
+====
+
+   P_NO_GLOBAL_ATTACK "no_global_attack"
+
+
+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/sphinx/man/props/P_NO_PARA_TRANS b/doc/sphinx/man/props/P_NO_PARA_TRANS
new file mode 100644
index 0000000..677f9c8
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_PARA_TRANS
@@ -0,0 +1,30 @@
+
+P_NO_PARA_TRANS
+***************
+
+
+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/sphinx/man/props/P_NO_PLAYERS b/doc/sphinx/man/props/P_NO_PLAYERS
new file mode 100644
index 0000000..3cc88c1
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_PLAYERS
@@ -0,0 +1,56 @@
+
+P_NO_PLAYERS
+************
+
+
+NAME
+====
+
+   P_NO_PLAYERS                     "no_players"
+
+
+DEFINIERT IN
+============
+
+   /sys/rooms.h
+
+
+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/sphinx/man/props/P_NO_REGENERATION b/doc/sphinx/man/props/P_NO_REGENERATION
new file mode 100644
index 0000000..cc672e3
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_REGENERATION
@@ -0,0 +1,52 @@
+
+P_NO_REGENERATION
+*****************
+
+
+NAME
+====
+
+   P_NO_REGENERATION    "no_regeneration"
+
+
+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/sphinx/man/props/P_NO_SCORE b/doc/sphinx/man/props/P_NO_SCORE
new file mode 100644
index 0000000..49cfee5
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_SCORE
@@ -0,0 +1,73 @@
+
+P_NO_SCORE
+**********
+
+
+NAME
+====
+
+   P_NO_SCORE               "no_score"
+
+
+DEFINIERT IN
+============
+
+   /secure/scoremaster.h
+
+
+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/sphinx/man/props/P_NO_STD_DRINK b/doc/sphinx/man/props/P_NO_STD_DRINK
new file mode 100644
index 0000000..f8c2f33
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_STD_DRINK
@@ -0,0 +1,37 @@
+
+P_NO_STD_DRINK
+**************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NO_TPORT b/doc/sphinx/man/props/P_NO_TPORT
new file mode 100644
index 0000000..1c6de77
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_TPORT
@@ -0,0 +1,30 @@
+
+P_NO_TPORT
+**********
+
+
+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/sphinx/man/props/P_NO_TRAVELING b/doc/sphinx/man/props/P_NO_TRAVELING
new file mode 100644
index 0000000..cd1073a
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_TRAVELING
@@ -0,0 +1,48 @@
+
+P_NO_TRAVELING
+**************
+
+
+NAME
+====
+
+   P_NO_TRAVELING                   "no_traveling"
+
+
+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/sphinx/man/props/P_NO_XP b/doc/sphinx/man/props/P_NO_XP
new file mode 100644
index 0000000..b16c4ab
--- /dev/null
+++ b/doc/sphinx/man/props/P_NO_XP
@@ -0,0 +1,65 @@
+
+P_NO_XP
+*******
+
+
+NAME
+====
+
+   P_NO_XP                    "no_xp"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+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/sphinx/man/props/P_NPC b/doc/sphinx/man/props/P_NPC
new file mode 100644
index 0000000..60651d8
--- /dev/null
+++ b/doc/sphinx/man/props/P_NPC
@@ -0,0 +1,21 @@
+
+P_NPC
+*****
+
+
+NAME
+====
+
+   P_NPC                         "is_npc"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Gesetzt bei Monstern.
diff --git a/doc/sphinx/man/props/P_NPC_FASTHEAL b/doc/sphinx/man/props/P_NPC_FASTHEAL
new file mode 100644
index 0000000..3c358ef
--- /dev/null
+++ b/doc/sphinx/man/props/P_NPC_FASTHEAL
@@ -0,0 +1,39 @@
+
+P_NPC_FASTHEAL
+**************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_NR_HANDS b/doc/sphinx/man/props/P_NR_HANDS
new file mode 100644
index 0000000..a3bf299
--- /dev/null
+++ b/doc/sphinx/man/props/P_NR_HANDS
@@ -0,0 +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!
+
+   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/sphinx/man/props/P_ORAKEL b/doc/sphinx/man/props/P_ORAKEL
new file mode 100644
index 0000000..773a80d
--- /dev/null
+++ b/doc/sphinx/man/props/P_ORAKEL
@@ -0,0 +1,22 @@
+
+P_ORAKEL
+********
+
+
+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/sphinx/man/props/P_ORIG_FILE_NAME b/doc/sphinx/man/props/P_ORIG_FILE_NAME
new file mode 100644
index 0000000..53243c2
--- /dev/null
+++ b/doc/sphinx/man/props/P_ORIG_FILE_NAME
@@ -0,0 +1,21 @@
+
+P_ORIG_FILE_NAME
+****************
+
+
+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/sphinx/man/props/P_ORIG_NAME b/doc/sphinx/man/props/P_ORIG_NAME
new file mode 100644
index 0000000..e44a06d
--- /dev/null
+++ b/doc/sphinx/man/props/P_ORIG_NAME
@@ -0,0 +1,21 @@
+
+P_ORIG_NAME
+***********
+
+
+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/sphinx/man/props/P_PARA b/doc/sphinx/man/props/P_PARA
new file mode 100644
index 0000000..0a7f416
--- /dev/null
+++ b/doc/sphinx/man/props/P_PARA
@@ -0,0 +1,73 @@
+
+P_PARA
+******
+
+
+NAME
+====
+
+   P_PARA                        "para"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+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.
+
+   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/sphinx/man/props/P_PARRY b/doc/sphinx/man/props/P_PARRY
new file mode 100644
index 0000000..40ddecd
--- /dev/null
+++ b/doc/sphinx/man/props/P_PARRY
@@ -0,0 +1,47 @@
+
+P_PARRY
+*******
+
+
+NAME
+====
+
+   P_PARRY "parry"
+
+
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+BESCHREIBUNG
+============
+
+   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/sphinx/man/props/P_PARRY_WEAPON b/doc/sphinx/man/props/P_PARRY_WEAPON
new file mode 100644
index 0000000..9ee60aa
--- /dev/null
+++ b/doc/sphinx/man/props/P_PARRY_WEAPON
@@ -0,0 +1,30 @@
+
+P_PARRY_WEAPON
+**************
+
+
+NAME
+====
+
+   P_PARRY_WEAPON "parry_weapon"
+
+
+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/sphinx/man/props/P_PEACE_HISTORY b/doc/sphinx/man/props/P_PEACE_HISTORY
new file mode 100644
index 0000000..eab38d5
--- /dev/null
+++ b/doc/sphinx/man/props/P_PEACE_HISTORY
@@ -0,0 +1,62 @@
+
+P_PEACE_HISTORY
+***************
+
+
+NAME
+====
+
+   P_PEACE_HISTORY      "_peace_history"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_PERM_STRING b/doc/sphinx/man/props/P_PERM_STRING
new file mode 100644
index 0000000..373c516
--- /dev/null
+++ b/doc/sphinx/man/props/P_PERM_STRING
@@ -0,0 +1,24 @@
+
+P_PERM_STRING
+*************
+
+
+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/sphinx/man/props/P_PICK_MSG b/doc/sphinx/man/props/P_PICK_MSG
new file mode 100644
index 0000000..76b2760
--- /dev/null
+++ b/doc/sphinx/man/props/P_PICK_MSG
@@ -0,0 +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.
+
+   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 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/sphinx/man/props/P_PILE_NAME b/doc/sphinx/man/props/P_PILE_NAME
new file mode 100644
index 0000000..edb0123
--- /dev/null
+++ b/doc/sphinx/man/props/P_PILE_NAME
@@ -0,0 +1,22 @@
+
+P_PILE_NAME
+***********
+
+
+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/sphinx/man/props/P_PLAYER_LIGHT b/doc/sphinx/man/props/P_PLAYER_LIGHT
new file mode 100644
index 0000000..ce0c22d
--- /dev/null
+++ b/doc/sphinx/man/props/P_PLAYER_LIGHT
@@ -0,0 +1,44 @@
+
+P_PLAYER_LIGHT
+**************
+
+
+NAME
+====
+
+   P_PLAYER_LIGHT                       "player_light"
+
+
+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/sphinx/man/props/P_PLURAL b/doc/sphinx/man/props/P_PLURAL
new file mode 100644
index 0000000..eed829f
--- /dev/null
+++ b/doc/sphinx/man/props/P_PLURAL
@@ -0,0 +1,58 @@
+
+P_PLURAL
+********
+
+
+NAME
+====
+
+   P_PLURAL                      "plural"
+
+
+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/sphinx/man/props/P_POISON b/doc/sphinx/man/props/P_POISON
new file mode 100644
index 0000000..2ab5dc1
--- /dev/null
+++ b/doc/sphinx/man/props/P_POISON
@@ -0,0 +1,21 @@
+
+P_POISON
+********
+
+
+NAME
+====
+
+   P_POISON                      "poison"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Wie stark wir vergiftet sind (0-11)
diff --git a/doc/sphinx/man/props/P_POISON_DELAY b/doc/sphinx/man/props/P_POISON_DELAY
new file mode 100644
index 0000000..079efd9
--- /dev/null
+++ b/doc/sphinx/man/props/P_POISON_DELAY
@@ -0,0 +1,25 @@
+
+P_POISON_DELAY
+**************
+
+
+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/sphinx/man/props/P_PORTIONS b/doc/sphinx/man/props/P_PORTIONS
new file mode 100644
index 0000000..a6bdf16
--- /dev/null
+++ b/doc/sphinx/man/props/P_PORTIONS
@@ -0,0 +1,39 @@
+
+P_PORTIONS
+**********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_POST b/doc/sphinx/man/props/P_POST
new file mode 100644
index 0000000..975a884
--- /dev/null
+++ b/doc/sphinx/man/props/P_POST
@@ -0,0 +1,82 @@
+
+P_POST
+******
+
+
+NAME
+====
+
+   P_POST                          "Post"
+
+
+DEFINIERT IN
+============
+
+   /mail/post.h
+
+
+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
+
+   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/sphinx/man/props/P_POTIONROOMS b/doc/sphinx/man/props/P_POTIONROOMS
new file mode 100644
index 0000000..0df158f
--- /dev/null
+++ b/doc/sphinx/man/props/P_POTIONROOMS
@@ -0,0 +1,35 @@
+
+P_POTIONROOMS
+*************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_PRAY_ROOM b/doc/sphinx/man/props/P_PRAY_ROOM
new file mode 100644
index 0000000..ad0a469
--- /dev/null
+++ b/doc/sphinx/man/props/P_PRAY_ROOM
@@ -0,0 +1,54 @@
+
+P_PRAY_ROOM
+***********
+
+
+NAME
+====
+
+   P_PRAY_ROOM                      "_lib_p_pray_room"
+
+
+DEFINIERT IN
+============
+
+   /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
+================
+
+21.05.2013, Zesstra
diff --git a/doc/sphinx/man/props/P_PREFERED_ENEMY b/doc/sphinx/man/props/P_PREFERED_ENEMY
new file mode 100644
index 0000000..6b629aa
--- /dev/null
+++ b/doc/sphinx/man/props/P_PREFERED_ENEMY
@@ -0,0 +1,41 @@
+
+P_PREFERED_ENEMY
+****************
+
+
+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/sphinx/man/props/P_PRESAY b/doc/sphinx/man/props/P_PRESAY
new file mode 100644
index 0000000..1580b5e
--- /dev/null
+++ b/doc/sphinx/man/props/P_PRESAY
@@ -0,0 +1,22 @@
+
+P_PRESAY
+********
+
+
+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/sphinx/man/props/P_PREVENT_PILE b/doc/sphinx/man/props/P_PREVENT_PILE
new file mode 100644
index 0000000..1ad6807
--- /dev/null
+++ b/doc/sphinx/man/props/P_PREVENT_PILE
@@ -0,0 +1,34 @@
+
+P_PREVENT_PILE
+**************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_PRE_INFO b/doc/sphinx/man/props/P_PRE_INFO
new file mode 100644
index 0000000..099e592
--- /dev/null
+++ b/doc/sphinx/man/props/P_PRE_INFO
@@ -0,0 +1,86 @@
+
+P_PRE_INFO
+**********
+
+
+NAME
+====
+
+   P_PRE_INFO                        "npc_pre_info"
+
+
+DEFINIERT IN
+============
+
+   /sys/npc.h
+
+
+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/sphinx/man/props/P_PROMPT b/doc/sphinx/man/props/P_PROMPT
new file mode 100644
index 0000000..267437e
--- /dev/null
+++ b/doc/sphinx/man/props/P_PROMPT
@@ -0,0 +1,21 @@
+
+P_PROMPT
+********
+
+
+NAME
+====
+
+   P_PROMPT                      "prompt"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Das Prompt (Nur fuer Magier).
diff --git a/doc/sphinx/man/props/P_PUB_NOT_ON_MENU b/doc/sphinx/man/props/P_PUB_NOT_ON_MENU
new file mode 100644
index 0000000..8618009
--- /dev/null
+++ b/doc/sphinx/man/props/P_PUB_NOT_ON_MENU
@@ -0,0 +1,39 @@
+
+P_PUB_NOT_ON_MENU
+*****************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_PUB_NO_KEEPER b/doc/sphinx/man/props/P_PUB_NO_KEEPER
new file mode 100644
index 0000000..55c4230
--- /dev/null
+++ b/doc/sphinx/man/props/P_PUB_NO_KEEPER
@@ -0,0 +1,37 @@
+
+P_PUB_NO_KEEPER
+***************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_PUB_NO_MONEY b/doc/sphinx/man/props/P_PUB_NO_MONEY
new file mode 100644
index 0000000..9510b07
--- /dev/null
+++ b/doc/sphinx/man/props/P_PUB_NO_MONEY
@@ -0,0 +1,39 @@
+
+P_PUB_NO_MONEY
+**************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_PUB_UNAVAILABLE b/doc/sphinx/man/props/P_PUB_UNAVAILABLE
new file mode 100644
index 0000000..7eaede7
--- /dev/null
+++ b/doc/sphinx/man/props/P_PUB_UNAVAILABLE
@@ -0,0 +1,38 @@
+
+P_PUB_UNAVAILABLE
+*****************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_PURSUERS b/doc/sphinx/man/props/P_PURSUERS
new file mode 100644
index 0000000..05ead3b
--- /dev/null
+++ b/doc/sphinx/man/props/P_PURSUERS
@@ -0,0 +1,29 @@
+
+P_PURSUERS
+**********
+
+
+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/sphinx/man/props/P_PUT_MSG b/doc/sphinx/man/props/P_PUT_MSG
new file mode 100644
index 0000000..65624ce
--- /dev/null
+++ b/doc/sphinx/man/props/P_PUT_MSG
@@ -0,0 +1,79 @@
+
+P_PUT_MSG
+*********
+
+
+NAME
+====
+
+   P_PUT_MSG                          "put_message"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/put_and_get.h
+
+
+BESCHREIBUNG
+============
+
+   Mit P_PUT_MSG kann man die Meldung, die man beim Hineinstecken eines
+   Objektes in einen Container 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 irgendwohin gesteckt wird
+      Objekt3 - der Container
+
+     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/sphinx/man/props/P_QP b/doc/sphinx/man/props/P_QP
new file mode 100644
index 0000000..9840586
--- /dev/null
+++ b/doc/sphinx/man/props/P_QP
@@ -0,0 +1,29 @@
+
+P_QP
+****
+
+
+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/sphinx/man/props/P_QUALITY b/doc/sphinx/man/props/P_QUALITY
new file mode 100644
index 0000000..a103eaf
--- /dev/null
+++ b/doc/sphinx/man/props/P_QUALITY
@@ -0,0 +1,57 @@
+
+P_QUALITY
+*********
+
+
+NAME
+====
+
+   P_QUALITY "quality"
+
+
+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()
+   {
+     ...
+     SetProp(P_QUALITY,200);
+     ...
+   }
+
+   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.
+
+
+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/sphinx/man/props/P_QUESTS b/doc/sphinx/man/props/P_QUESTS
new file mode 100644
index 0000000..84fe435
--- /dev/null
+++ b/doc/sphinx/man/props/P_QUESTS
@@ -0,0 +1,21 @@
+
+P_QUESTS
+********
+
+
+NAME
+====
+
+   P_QUESTS                      "quests"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/quest.h
+
+
+BESCHREIBUNG
+============
+
+   Liste der geloesten Quests.
diff --git a/doc/sphinx/man/props/P_QUEST_ITEM b/doc/sphinx/man/props/P_QUEST_ITEM
new file mode 100644
index 0000000..135954b
--- /dev/null
+++ b/doc/sphinx/man/props/P_QUEST_ITEM
@@ -0,0 +1,73 @@
+
+P_QUEST_ITEM
+************
+
+
+NAME
+====
+
+   P_QUEST_ITEM                            "quest_item"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_RACE b/doc/sphinx/man/props/P_RACE
new file mode 100644
index 0000000..c6aebc7
--- /dev/null
+++ b/doc/sphinx/man/props/P_RACE
@@ -0,0 +1,48 @@
+
+P_RACE
+******
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_RACESTRING b/doc/sphinx/man/props/P_RACESTRING
new file mode 100644
index 0000000..2a13577
--- /dev/null
+++ b/doc/sphinx/man/props/P_RACESTRING
@@ -0,0 +1,22 @@
+
+P_RACESTRING
+************
+
+
+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/sphinx/man/props/P_RACE_DESCRIPTION b/doc/sphinx/man/props/P_RACE_DESCRIPTION
new file mode 100644
index 0000000..ca1f576
--- /dev/null
+++ b/doc/sphinx/man/props/P_RACE_DESCRIPTION
@@ -0,0 +1,21 @@
+
+P_RACE_DESCRIPTION
+******************
+
+
+NAME
+====
+
+   P_RACE_DESCRIPTION            "racedescr"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   Beschreibung der Vor/Nachteile einer Rasse.
diff --git a/doc/sphinx/man/props/P_RANGE b/doc/sphinx/man/props/P_RANGE
new file mode 100644
index 0000000..2fabc63
--- /dev/null
+++ b/doc/sphinx/man/props/P_RANGE
@@ -0,0 +1,43 @@
+
+P_RANGE
+*******
+
+
+NAME
+====
+
+   P_RANGE     "range"
+
+
+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/sphinx/man/props/P_READ_DETAILS b/doc/sphinx/man/props/P_READ_DETAILS
new file mode 100644
index 0000000..06a7598
--- /dev/null
+++ b/doc/sphinx/man/props/P_READ_DETAILS
@@ -0,0 +1,40 @@
+
+P_READ_DETAILS
+**************
+
+
+NAME
+====
+
+   P_READ_DETAILS                "read_details"
+
+
+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/sphinx/man/props/P_READ_NEWS b/doc/sphinx/man/props/P_READ_NEWS
new file mode 100644
index 0000000..8c69c89
--- /dev/null
+++ b/doc/sphinx/man/props/P_READ_NEWS
@@ -0,0 +1,21 @@
+
+P_READ_NEWS
+***********
+
+
+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/sphinx/man/props/P_REAL_RACE b/doc/sphinx/man/props/P_REAL_RACE
new file mode 100644
index 0000000..39c196a
--- /dev/null
+++ b/doc/sphinx/man/props/P_REAL_RACE
@@ -0,0 +1,95 @@
+
+P_REAL_RACE
+***********
+
+
+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()));
+
+
+     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/sphinx/man/props/P_REFERENCE_OBJECT b/doc/sphinx/man/props/P_REFERENCE_OBJECT
new file mode 100644
index 0000000..9187a49
--- /dev/null
+++ b/doc/sphinx/man/props/P_REFERENCE_OBJECT
@@ -0,0 +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.
+
+   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/sphinx/man/props/P_REJECT b/doc/sphinx/man/props/P_REJECT
new file mode 100644
index 0000000..072bdab
--- /dev/null
+++ b/doc/sphinx/man/props/P_REJECT
@@ -0,0 +1,72 @@
+
+P_REJECT
+********
+
+
+NAME
+====
+
+   P_REJECT                        "reject"
+
+
+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/sphinx/man/props/P_REMOVE_FUNC b/doc/sphinx/man/props/P_REMOVE_FUNC
new file mode 100644
index 0000000..f5c2232
--- /dev/null
+++ b/doc/sphinx/man/props/P_REMOVE_FUNC
@@ -0,0 +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
diff --git a/doc/sphinx/man/props/P_REMOVE_MSG b/doc/sphinx/man/props/P_REMOVE_MSG
new file mode 100644
index 0000000..78a1357
--- /dev/null
+++ b/doc/sphinx/man/props/P_REMOVE_MSG
@@ -0,0 +1,49 @@
+
+P_REMOVE_MSG
+************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_RESET_LIFETIME b/doc/sphinx/man/props/P_RESET_LIFETIME
new file mode 100644
index 0000000..bbd4bbe
--- /dev/null
+++ b/doc/sphinx/man/props/P_RESET_LIFETIME
@@ -0,0 +1,52 @@
+
+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/sphinx/man/props/P_RESISTANCE b/doc/sphinx/man/props/P_RESISTANCE
new file mode 100644
index 0000000..48e476f
--- /dev/null
+++ b/doc/sphinx/man/props/P_RESISTANCE
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_RESISTANCE_MODIFIER b/doc/sphinx/man/props/P_RESISTANCE_MODIFIER
new file mode 100644
index 0000000..2a3322e
--- /dev/null
+++ b/doc/sphinx/man/props/P_RESISTANCE_MODIFIER
@@ -0,0 +1,45 @@
+
+P_RESISTANCE_MODIFIER
+*********************
+
+
+NAME
+====
+
+   P_RESISTANCE_MODIFIER             "rstr:mod"
+
+
+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/sphinx/man/props/P_RESISTANCE_STRENGTHS b/doc/sphinx/man/props/P_RESISTANCE_STRENGTHS
new file mode 100644
index 0000000..4a93f08
--- /dev/null
+++ b/doc/sphinx/man/props/P_RESISTANCE_STRENGTHS
@@ -0,0 +1,114 @@
+
+P_RESISTANCE_STRENGTHS
+**********************
+
+
+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.
+
+
+   // 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/sphinx/man/props/P_RESTRICTIONS b/doc/sphinx/man/props/P_RESTRICTIONS
new file mode 100644
index 0000000..a1764b9
--- /dev/null
+++ b/doc/sphinx/man/props/P_RESTRICTIONS
@@ -0,0 +1,163 @@
+
+P_RESTRICTIONS
+**************
+
+
+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.
+
+
+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/sphinx/man/props/P_ROOM_MSG b/doc/sphinx/man/props/P_ROOM_MSG
new file mode 100644
index 0000000..3486458
--- /dev/null
+++ b/doc/sphinx/man/props/P_ROOM_MSG
@@ -0,0 +1,39 @@
+
+P_ROOM_MSG
+**********
+
+
+NAME
+====
+
+   P_ROOM_MSG                    "room_msg"
+
+
+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/sphinx/man/props/P_ROOM_TYPE b/doc/sphinx/man/props/P_ROOM_TYPE
new file mode 100644
index 0000000..22e894e
--- /dev/null
+++ b/doc/sphinx/man/props/P_ROOM_TYPE
@@ -0,0 +1,39 @@
+
+P_ROOM_TYPE
+***********
+
+
+NAME
+====
+
+   P_ROOM_TYPE                       "room_type"
+
+
+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/sphinx/man/props/P_SB_SPELLS b/doc/sphinx/man/props/P_SB_SPELLS
new file mode 100644
index 0000000..1ffac9d
--- /dev/null
+++ b/doc/sphinx/man/props/P_SB_SPELLS
@@ -0,0 +1,42 @@
+
+P_SB_SPELLS
+***********
+
+
+NAME
+====
+
+   P_SB_SPELLS            "sb_spells"
+
+
+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/sphinx/man/props/P_SCREENSIZE b/doc/sphinx/man/props/P_SCREENSIZE
new file mode 100644
index 0000000..e54ee8b
--- /dev/null
+++ b/doc/sphinx/man/props/P_SCREENSIZE
@@ -0,0 +1,21 @@
+
+P_SCREENSIZE
+************
+
+
+NAME
+====
+
+   P_SCREENSIZE                  "screensize"
+
+
+DEFINIERT IN
+============
+
+   /sys/player/base.h
+
+
+BESCHREIBUNG
+============
+
+   Bildschirmgroesse in Zeilen (fuer More)
diff --git a/doc/sphinx/man/props/P_SECOND b/doc/sphinx/man/props/P_SECOND
new file mode 100644
index 0000000..69c97d6
--- /dev/null
+++ b/doc/sphinx/man/props/P_SECOND
@@ -0,0 +1,39 @@
+
+P_SECOND
+********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_SECOND_MARK b/doc/sphinx/man/props/P_SECOND_MARK
new file mode 100644
index 0000000..dd2c68a
--- /dev/null
+++ b/doc/sphinx/man/props/P_SECOND_MARK
@@ -0,0 +1,31 @@
+
+P_SECOND_MARK
+*************
+
+
+NAME
+====
+
+   P_SECOND_MARK                 "second_mark"
+
+
+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/sphinx/man/props/P_SEERDOORS b/doc/sphinx/man/props/P_SEERDOORS
new file mode 100644
index 0000000..8ec02e7
--- /dev/null
+++ b/doc/sphinx/man/props/P_SEERDOORS
@@ -0,0 +1,45 @@
+
+P_SEERDOORS
+***********
+
+
+NAME
+====
+
+   P_SEERDOORS      "rw_sehertore"
+
+
+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/sphinx/man/props/P_SEERDOOR_ALLOWED b/doc/sphinx/man/props/P_SEERDOOR_ALLOWED
new file mode 100644
index 0000000..12f062b
--- /dev/null
+++ b/doc/sphinx/man/props/P_SEERDOOR_ALLOWED
@@ -0,0 +1,27 @@
+
+P_SEERDOOR_ALLOWED
+******************
+
+
+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/sphinx/man/props/P_SENSITIVE b/doc/sphinx/man/props/P_SENSITIVE
new file mode 100644
index 0000000..c1e8051
--- /dev/null
+++ b/doc/sphinx/man/props/P_SENSITIVE
@@ -0,0 +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.
+
+   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();
+   }
+
+   - 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
+
+Letzte Aenderung: 10. Januar 2015, Arathorn
diff --git a/doc/sphinx/man/props/P_SENSITIVE_ATTACK b/doc/sphinx/man/props/P_SENSITIVE_ATTACK
new file mode 100644
index 0000000..168c15b
--- /dev/null
+++ b/doc/sphinx/man/props/P_SENSITIVE_ATTACK
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_SENSITIVE_INVENTORY b/doc/sphinx/man/props/P_SENSITIVE_INVENTORY
new file mode 100644
index 0000000..418f9a1
--- /dev/null
+++ b/doc/sphinx/man/props/P_SENSITIVE_INVENTORY
@@ -0,0 +1,43 @@
+
+P_SENSITIVE_INVENTORY
+*********************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_SENSITIVE_INVENTORY_TRIGGER b/doc/sphinx/man/props/P_SENSITIVE_INVENTORY_TRIGGER
new file mode 100644
index 0000000..627a582
--- /dev/null
+++ b/doc/sphinx/man/props/P_SENSITIVE_INVENTORY_TRIGGER
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_SHOOTING_AREA b/doc/sphinx/man/props/P_SHOOTING_AREA
new file mode 100644
index 0000000..9339847
--- /dev/null
+++ b/doc/sphinx/man/props/P_SHOOTING_AREA
@@ -0,0 +1,38 @@
+
+P_SHOOTING_AREA
+***************
+
+
+NAME
+====
+
+   P_SHOOTING_AREA     "shooting_area"
+
+
+DEFINIERT IN
+============
+
+   <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/sphinx/man/props/P_SHOOTING_WC b/doc/sphinx/man/props/P_SHOOTING_WC
new file mode 100644
index 0000000..6345d76
--- /dev/null
+++ b/doc/sphinx/man/props/P_SHOOTING_WC
@@ -0,0 +1,48 @@
+
+P_SHOOTING_WC
+*************
+
+
+NAME
+====
+
+   P_SHOOTING_WC     "shooting_wc"
+
+
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+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/sphinx/man/props/P_SHORT b/doc/sphinx/man/props/P_SHORT
new file mode 100644
index 0000000..49b2603
--- /dev/null
+++ b/doc/sphinx/man/props/P_SHORT
@@ -0,0 +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).
+
+   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/sphinx/man/props/P_SHORT_CWD b/doc/sphinx/man/props/P_SHORT_CWD
new file mode 100644
index 0000000..46f0236
--- /dev/null
+++ b/doc/sphinx/man/props/P_SHORT_CWD
@@ -0,0 +1,21 @@
+
+P_SHORT_CWD
+***********
+
+
+NAME
+====
+
+   P_SHORT_CWD                   "short_cwd"
+
+
+DEFINIERT IN
+============
+
+   /sys/shells.h
+
+
+BESCHREIBUNG
+============
+
+   .readme bei cd ausgeben oder nicht
diff --git a/doc/sphinx/man/props/P_SHOWEMAIL b/doc/sphinx/man/props/P_SHOWEMAIL
new file mode 100644
index 0000000..b6cf580
--- /dev/null
+++ b/doc/sphinx/man/props/P_SHOWEMAIL
@@ -0,0 +1,23 @@
+
+P_SHOWEMAIL
+***********
+
+
+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/sphinx/man/props/P_SHOW_ALIAS_PROCESSING b/doc/sphinx/man/props/P_SHOW_ALIAS_PROCESSING
new file mode 100644
index 0000000..94552dd
--- /dev/null
+++ b/doc/sphinx/man/props/P_SHOW_ALIAS_PROCESSING
@@ -0,0 +1,21 @@
+
+P_SHOW_ALIAS_PROCESSING
+***********************
+
+
+NAME
+====
+
+   P_SHOW_ALIAS_PROCESSING       "show_alias_processing"
+
+
+DEFINIERT IN
+============
+
+   /sys/player.h
+
+
+BESCHREIBUNG
+============
+
+   Arbeit des Parsers beobachten (debugging)
diff --git a/doc/sphinx/man/props/P_SHOW_EXITS b/doc/sphinx/man/props/P_SHOW_EXITS
new file mode 100644
index 0000000..0e00886
--- /dev/null
+++ b/doc/sphinx/man/props/P_SHOW_EXITS
@@ -0,0 +1,31 @@
+
+P_SHOW_EXITS
+************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_SHOW_INV b/doc/sphinx/man/props/P_SHOW_INV
new file mode 100644
index 0000000..e982154
--- /dev/null
+++ b/doc/sphinx/man/props/P_SHOW_INV
@@ -0,0 +1,32 @@
+
+P_SHOW_INV
+**********
+
+
+NAME
+====
+
+   P_SHOW_INV "show_inv"
+
+
+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/sphinx/man/props/P_SHOW_MSG b/doc/sphinx/man/props/P_SHOW_MSG
new file mode 100644
index 0000000..c19c49f
--- /dev/null
+++ b/doc/sphinx/man/props/P_SHOW_MSG
@@ -0,0 +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.
+
+   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, 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/sphinx/man/props/P_SIBLINGS b/doc/sphinx/man/props/P_SIBLINGS
new file mode 100644
index 0000000..6e18f0c
--- /dev/null
+++ b/doc/sphinx/man/props/P_SIBLINGS
@@ -0,0 +1,22 @@
+
+P_SIBLINGS
+**********
+
+
+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/sphinx/man/props/P_SIZE b/doc/sphinx/man/props/P_SIZE
new file mode 100644
index 0000000..aa311f3
--- /dev/null
+++ b/doc/sphinx/man/props/P_SIZE
@@ -0,0 +1,50 @@
+
+P_SIZE
+******
+
+
+NAME
+====
+
+   P_SIZE                        "size"
+
+
+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/sphinx/man/props/P_SKILLS b/doc/sphinx/man/props/P_SKILLS
new file mode 100644
index 0000000..492cbbe
--- /dev/null
+++ b/doc/sphinx/man/props/P_SKILLS
@@ -0,0 +1,30 @@
+
+P_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/sphinx/man/props/P_SKILL_ATTRIBUTES b/doc/sphinx/man/props/P_SKILL_ATTRIBUTES
new file mode 100644
index 0000000..066bd78
--- /dev/null
+++ b/doc/sphinx/man/props/P_SKILL_ATTRIBUTES
@@ -0,0 +1,69 @@
+
+P_SKILL_ATTRIBUTES
+******************
+
+
+NAME
+====
+
+   P_SKILL_ATTRIBUTES        "skill_attr"
+
+
+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/sphinx/man/props/P_SKILL_ATTRIBUTE_OFFSETS b/doc/sphinx/man/props/P_SKILL_ATTRIBUTE_OFFSETS
new file mode 100644
index 0000000..6bfcad3
--- /dev/null
+++ b/doc/sphinx/man/props/P_SKILL_ATTRIBUTE_OFFSETS
@@ -0,0 +1,49 @@
+
+P_SKILL_ATTRIBUTE_OFFSETS
+*************************
+
+
+NAME
+====
+
+   P_SKILL_ATTRIBUTE_OFFSETS       "skill_attr_offsets"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_SMELLS b/doc/sphinx/man/props/P_SMELLS
new file mode 100644
index 0000000..0098bd8
--- /dev/null
+++ b/doc/sphinx/man/props/P_SMELLS
@@ -0,0 +1,43 @@
+
+P_SMELLS
+********
+
+
+NAME
+====
+
+   P_SMELLS            "smell_details"
+
+
+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/sphinx/man/props/P_SNOOPFLAGS b/doc/sphinx/man/props/P_SNOOPFLAGS
new file mode 100644
index 0000000..340dde2
--- /dev/null
+++ b/doc/sphinx/man/props/P_SNOOPFLAGS
@@ -0,0 +1,21 @@
+
+P_SNOOPFLAGS
+************
+
+
+NAME
+====
+
+   P_SNOOPFLAGS                  "snoopflags"
+
+
+DEFINIERT IN
+============
+
+   /sys/snooping.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_SOUNDS b/doc/sphinx/man/props/P_SOUNDS
new file mode 100644
index 0000000..520265b
--- /dev/null
+++ b/doc/sphinx/man/props/P_SOUNDS
@@ -0,0 +1,43 @@
+
+P_SOUNDS
+********
+
+
+NAME
+====
+
+   P_SOUNDS            "sound_details"
+
+
+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/sphinx/man/props/P_SP b/doc/sphinx/man/props/P_SP
new file mode 100644
index 0000000..fa30cb1
--- /dev/null
+++ b/doc/sphinx/man/props/P_SP
@@ -0,0 +1,37 @@
+
+P_SP
+****
+
+
+NAME
+====
+
+   P_SP                          "sp"
+
+
+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/sphinx/man/props/P_SPECIAL_DETAILS b/doc/sphinx/man/props/P_SPECIAL_DETAILS
new file mode 100644
index 0000000..9b3f63c
--- /dev/null
+++ b/doc/sphinx/man/props/P_SPECIAL_DETAILS
@@ -0,0 +1,42 @@
+
+P_SPECIAL_DETAILS
+*****************
+
+
+NAME
+====
+
+   P_SPECIAL_DETAILS             "special_details"
+
+
+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/sphinx/man/props/P_SPECIAL_EXITS b/doc/sphinx/man/props/P_SPECIAL_EXITS
new file mode 100644
index 0000000..3f2a7a5
--- /dev/null
+++ b/doc/sphinx/man/props/P_SPECIAL_EXITS
@@ -0,0 +1,51 @@
+
+P_SPECIAL_EXITS
+***************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_SPELLRATE b/doc/sphinx/man/props/P_SPELLRATE
new file mode 100644
index 0000000..1a3e5a2
--- /dev/null
+++ b/doc/sphinx/man/props/P_SPELLRATE
@@ -0,0 +1,21 @@
+
+P_SPELLRATE
+***********
+
+
+NAME
+====
+
+   P_SPELLRATE                   "spellrate"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   NPC-Spellrate (in %)
diff --git a/doc/sphinx/man/props/P_SPELLS b/doc/sphinx/man/props/P_SPELLS
new file mode 100644
index 0000000..647daf4
--- /dev/null
+++ b/doc/sphinx/man/props/P_SPELLS
@@ -0,0 +1,21 @@
+
+P_SPELLS
+********
+
+
+NAME
+====
+
+   P_SPELLS                      "spells"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   NPC-Spells
diff --git a/doc/sphinx/man/props/P_SP_DELAY b/doc/sphinx/man/props/P_SP_DELAY
new file mode 100644
index 0000000..aa74360
--- /dev/null
+++ b/doc/sphinx/man/props/P_SP_DELAY
@@ -0,0 +1,23 @@
+
+P_SP_DELAY
+**********
+
+
+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/sphinx/man/props/P_START_HOME b/doc/sphinx/man/props/P_START_HOME
new file mode 100644
index 0000000..fd80124
--- /dev/null
+++ b/doc/sphinx/man/props/P_START_HOME
@@ -0,0 +1,21 @@
+
+P_START_HOME
+************
+
+
+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/sphinx/man/props/P_STD_OBJECT b/doc/sphinx/man/props/P_STD_OBJECT
new file mode 100644
index 0000000..7c66296
--- /dev/null
+++ b/doc/sphinx/man/props/P_STD_OBJECT
@@ -0,0 +1,59 @@
+
+P_STD_OBJECT
+************
+
+
+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
+   usw. der VC-generierten Raeume / Objekte festgelegt.
+
+   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.
+   Ansonsten wuerde das Programm eures Standardobjekts automatisch durch
+   /std/room.c ersetzt, was in der Regel zu schwer zu findenen Bugs fuehrt.
+
+
+BEISPIEL
+========
+
+   (create eines VCs)
+   protected void create() {
+     ...
+     SetProp(P_STD_OBJECT,"/d/region/magier/vc/std_raum");
+     ...
+   }
+
+   Was in diesem std_raum.c nun steht, wird in jedem VC-Clone
+   verfuegbar. Sei es Details, Gerueche, auch Objekte die per
+   AddItem eingebunden sind, ...
+
+
+SIEHE AUCH
+==========
+
+   P_COMPILER_PATH, virtual_compiler
+
+Letzte Aenderung: 22.10.07 von Zesstra
diff --git a/doc/sphinx/man/props/P_STORE_CONSUME b/doc/sphinx/man/props/P_STORE_CONSUME
new file mode 100644
index 0000000..8a9afd9
--- /dev/null
+++ b/doc/sphinx/man/props/P_STORE_CONSUME
@@ -0,0 +1,69 @@
+
+P_STORE_CONSUME
+***************
+
+
+NAME
+====
+
+   P_STORE_CONSUME                 "store_consume"
+
+
+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/sphinx/man/props/P_STRETCH_TIME b/doc/sphinx/man/props/P_STRETCH_TIME
new file mode 100644
index 0000000..1b38b7e
--- /dev/null
+++ b/doc/sphinx/man/props/P_STRETCH_TIME
@@ -0,0 +1,34 @@
+
+P_STRETCH_TIME
+**************
+
+
+NAME
+====
+
+   P_STRETCH_TIME     "stretch_time"
+
+
+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/sphinx/man/props/P_SUBGUILD_TITLE b/doc/sphinx/man/props/P_SUBGUILD_TITLE
new file mode 100644
index 0000000..83515d7
--- /dev/null
+++ b/doc/sphinx/man/props/P_SUBGUILD_TITLE
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_SYNTAX_HELP b/doc/sphinx/man/props/P_SYNTAX_HELP
new file mode 100644
index 0000000..a796fb5
--- /dev/null
+++ b/doc/sphinx/man/props/P_SYNTAX_HELP
@@ -0,0 +1,62 @@
+
+P_SYNTAX_HELP
+*************
+
+
+NAME
+====
+
+   P_SYNTAX_HELP              "lib_p_syntax_help"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/commands.h
+
+
+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/sphinx/man/props/P_TARGET_AREA b/doc/sphinx/man/props/P_TARGET_AREA
new file mode 100644
index 0000000..614320f
--- /dev/null
+++ b/doc/sphinx/man/props/P_TARGET_AREA
@@ -0,0 +1,95 @@
+
+P_TARGET_AREA
+*************
+
+
+NAME
+====
+
+   P_TARGET_AREA     "target_area"
+
+
+DEFINIERT IN
+============
+
+   <combat.h>
+
+
+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.
+
+
+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.
+
+
+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");
+
+     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/sphinx/man/props/P_TEAM b/doc/sphinx/man/props/P_TEAM
new file mode 100644
index 0000000..4f853e8
--- /dev/null
+++ b/doc/sphinx/man/props/P_TEAM
@@ -0,0 +1,39 @@
+
+P_TEAM
+******
+
+
+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/sphinx/man/props/P_TEAM_ASSOC_MEMBERS b/doc/sphinx/man/props/P_TEAM_ASSOC_MEMBERS
new file mode 100644
index 0000000..b57a276
--- /dev/null
+++ b/doc/sphinx/man/props/P_TEAM_ASSOC_MEMBERS
@@ -0,0 +1,48 @@
+
+P_TEAM_ASSOC_MEMBERS
+********************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_TEAM_ATTACK_CMD b/doc/sphinx/man/props/P_TEAM_ATTACK_CMD
new file mode 100644
index 0000000..b7993e7
--- /dev/null
+++ b/doc/sphinx/man/props/P_TEAM_ATTACK_CMD
@@ -0,0 +1,39 @@
+
+P_TEAM_ATTACK_CMD
+*****************
+
+
+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/sphinx/man/props/P_TEAM_AUTOFOLLOW b/doc/sphinx/man/props/P_TEAM_AUTOFOLLOW
new file mode 100644
index 0000000..0e8c45f
--- /dev/null
+++ b/doc/sphinx/man/props/P_TEAM_AUTOFOLLOW
@@ -0,0 +1,39 @@
+
+P_TEAM_AUTOFOLLOW
+*****************
+
+
+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/sphinx/man/props/P_TEAM_COLORS b/doc/sphinx/man/props/P_TEAM_COLORS
new file mode 100644
index 0000000..a855035
--- /dev/null
+++ b/doc/sphinx/man/props/P_TEAM_COLORS
@@ -0,0 +1,40 @@
+
+P_TEAM_COLORS
+*************
+
+
+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/sphinx/man/props/P_TEAM_LEADER b/doc/sphinx/man/props/P_TEAM_LEADER
new file mode 100644
index 0000000..b4927f3
--- /dev/null
+++ b/doc/sphinx/man/props/P_TEAM_LEADER
@@ -0,0 +1,39 @@
+
+P_TEAM_LEADER
+*************
+
+
+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/sphinx/man/props/P_TEAM_NEWMEMBER b/doc/sphinx/man/props/P_TEAM_NEWMEMBER
new file mode 100644
index 0000000..da89b70
--- /dev/null
+++ b/doc/sphinx/man/props/P_TEAM_NEWMEMBER
@@ -0,0 +1,40 @@
+
+P_TEAM_NEWMEMBER
+****************
+
+
+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/sphinx/man/props/P_TEAM_WANTED_ROW b/doc/sphinx/man/props/P_TEAM_WANTED_ROW
new file mode 100644
index 0000000..ba94af4
--- /dev/null
+++ b/doc/sphinx/man/props/P_TEAM_WANTED_ROW
@@ -0,0 +1,39 @@
+
+P_TEAM_WANTED_ROW
+*****************
+
+
+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/sphinx/man/props/P_TEAM_WIMPY_ROW b/doc/sphinx/man/props/P_TEAM_WIMPY_ROW
new file mode 100644
index 0000000..90bfacb
--- /dev/null
+++ b/doc/sphinx/man/props/P_TEAM_WIMPY_ROW
@@ -0,0 +1,46 @@
+
+P_TEAM_WIMPY_ROW
+****************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_TELNET_RTTIME b/doc/sphinx/man/props/P_TELNET_RTTIME
new file mode 100644
index 0000000..b781bea
--- /dev/null
+++ b/doc/sphinx/man/props/P_TELNET_RTTIME
@@ -0,0 +1,43 @@
+
+P_TELNET_RTTIME
+***************
+
+
+NAME
+====
+
+   P_TELNET_RTTIME                                  "p_lib_telnet_rttime"
+
+
+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/sphinx/man/props/P_TESTPLAYER b/doc/sphinx/man/props/P_TESTPLAYER
new file mode 100644
index 0000000..bf0c765
--- /dev/null
+++ b/doc/sphinx/man/props/P_TESTPLAYER
@@ -0,0 +1,48 @@
+
+P_TESTPLAYER
+************
+
+
+NAME
+====
+
+   P_TESTPLAYER                  "testplayer"
+
+
+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/sphinx/man/props/P_TIMED_ATTR_MOD b/doc/sphinx/man/props/P_TIMED_ATTR_MOD
new file mode 100644
index 0000000..fa7db3f
--- /dev/null
+++ b/doc/sphinx/man/props/P_TIMED_ATTR_MOD
@@ -0,0 +1,78 @@
+
+P_TIMED_ATTR_MOD
+****************
+
+
+NAME
+====
+
+   P_TIMED_ATTR_MOD         "timed_attr_mod"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/attributes.h
+
+
+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
+
+   ({
+      ({ 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/sphinx/man/props/P_TIMEZONE b/doc/sphinx/man/props/P_TIMEZONE
new file mode 100644
index 0000000..7e4ce7d
--- /dev/null
+++ b/doc/sphinx/man/props/P_TIMEZONE
@@ -0,0 +1,23 @@
+
+P_TIMEZONE
+**********
+
+
+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/sphinx/man/props/P_TITLE b/doc/sphinx/man/props/P_TITLE
new file mode 100644
index 0000000..555e26a
--- /dev/null
+++ b/doc/sphinx/man/props/P_TITLE
@@ -0,0 +1,21 @@
+
+P_TITLE
+*******
+
+
+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/sphinx/man/props/P_TOO_HEAVY_MSG b/doc/sphinx/man/props/P_TOO_HEAVY_MSG
new file mode 100644
index 0000000..c2a40ea
--- /dev/null
+++ b/doc/sphinx/man/props/P_TOO_HEAVY_MSG
@@ -0,0 +1,50 @@
+
+P_TOO_HEAVY_MSG
+***************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_TOO_MANY_MSG b/doc/sphinx/man/props/P_TOO_MANY_MSG
new file mode 100644
index 0000000..fd1ffe9
--- /dev/null
+++ b/doc/sphinx/man/props/P_TOO_MANY_MSG
@@ -0,0 +1,50 @@
+
+P_TOO_MANY_MSG
+**************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_TOTAL_AC b/doc/sphinx/man/props/P_TOTAL_AC
new file mode 100644
index 0000000..baa9cf9
--- /dev/null
+++ b/doc/sphinx/man/props/P_TOTAL_AC
@@ -0,0 +1,42 @@
+
+P_TOTAL_AC
+**********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_TOTAL_LIGHT b/doc/sphinx/man/props/P_TOTAL_LIGHT
new file mode 100644
index 0000000..f4f0083
--- /dev/null
+++ b/doc/sphinx/man/props/P_TOTAL_LIGHT
@@ -0,0 +1,42 @@
+
+P_TOTAL_LIGHT
+*************
+
+
+NAME
+====
+
+   P_TOTAL_LIGHT                 "total_light"
+
+
+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/sphinx/man/props/P_TOTAL_OBJECTS b/doc/sphinx/man/props/P_TOTAL_OBJECTS
new file mode 100644
index 0000000..4e2d009
--- /dev/null
+++ b/doc/sphinx/man/props/P_TOTAL_OBJECTS
@@ -0,0 +1,32 @@
+
+P_TOTAL_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/sphinx/man/props/P_TOTAL_WC b/doc/sphinx/man/props/P_TOTAL_WC
new file mode 100644
index 0000000..19349f0
--- /dev/null
+++ b/doc/sphinx/man/props/P_TOTAL_WC
@@ -0,0 +1,45 @@
+
+P_TOTAL_WC
+**********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_TOTAL_WEIGHT b/doc/sphinx/man/props/P_TOTAL_WEIGHT
new file mode 100644
index 0000000..bdb72f6
--- /dev/null
+++ b/doc/sphinx/man/props/P_TOTAL_WEIGHT
@@ -0,0 +1,21 @@
+
+P_TOTAL_WEIGHT
+**************
+
+
+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/sphinx/man/props/P_TOUCH_DETAILS b/doc/sphinx/man/props/P_TOUCH_DETAILS
new file mode 100644
index 0000000..f4345db
--- /dev/null
+++ b/doc/sphinx/man/props/P_TOUCH_DETAILS
@@ -0,0 +1,43 @@
+
+P_TOUCH_DETAILS
+***************
+
+
+NAME
+====
+
+   P_TOUCH_DETAILS            "touch_details"
+
+
+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/sphinx/man/props/P_TPORT_COST_IN b/doc/sphinx/man/props/P_TPORT_COST_IN
new file mode 100644
index 0000000..f2e51a9
--- /dev/null
+++ b/doc/sphinx/man/props/P_TPORT_COST_IN
@@ -0,0 +1,22 @@
+
+P_TPORT_COST_IN
+***************
+
+
+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/sphinx/man/props/P_TPORT_COST_OUT b/doc/sphinx/man/props/P_TPORT_COST_OUT
new file mode 100644
index 0000000..c97c752
--- /dev/null
+++ b/doc/sphinx/man/props/P_TPORT_COST_OUT
@@ -0,0 +1,22 @@
+
+P_TPORT_COST_OUT
+****************
+
+
+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/sphinx/man/props/P_TRANK_FINDEN b/doc/sphinx/man/props/P_TRANK_FINDEN
new file mode 100644
index 0000000..a3e270d
--- /dev/null
+++ b/doc/sphinx/man/props/P_TRANK_FINDEN
@@ -0,0 +1,22 @@
+
+P_TRANK_FINDEN
+**************
+
+
+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/sphinx/man/props/P_TRANSPARENT b/doc/sphinx/man/props/P_TRANSPARENT
new file mode 100644
index 0000000..56c0558
--- /dev/null
+++ b/doc/sphinx/man/props/P_TRANSPARENT
@@ -0,0 +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.
+
+   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/sphinx/man/props/P_TRAVEL_CMDS b/doc/sphinx/man/props/P_TRAVEL_CMDS
new file mode 100644
index 0000000..3f9b0d5
--- /dev/null
+++ b/doc/sphinx/man/props/P_TRAVEL_CMDS
@@ -0,0 +1,62 @@
+
+P_TRAVEL_CMDS
+*************
+
+
+NAME
+====
+
+   P_TRAVEL_CMDS                   "travel_cmds"
+
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+BESCHREIBUNG
+============
+
+   Ein Array mit Befehlen, die zum Verlassen UND Betreten des Trans-
+   porters fuehren.
+
+
+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/sphinx/man/props/P_TRAVEL_INFO b/doc/sphinx/man/props/P_TRAVEL_INFO
new file mode 100644
index 0000000..720e9ec
--- /dev/null
+++ b/doc/sphinx/man/props/P_TRAVEL_INFO
@@ -0,0 +1,53 @@
+
+P_TRAVEL_INFO
+*************
+
+
+NAME
+====
+
+   P_TRAVEL_INFO                 "travel_info"
+
+
+DEFINIERT IN
+============
+
+   /sys/transport.h
+
+
+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/sphinx/man/props/P_TRAY b/doc/sphinx/man/props/P_TRAY
new file mode 100644
index 0000000..0c394d4
--- /dev/null
+++ b/doc/sphinx/man/props/P_TRAY
@@ -0,0 +1,21 @@
+
+P_TRAY
+******
+
+
+NAME
+====
+
+   P_TRAY                        "tray"
+
+
+DEFINIERT IN
+============
+
+   /sys/properties.h
+
+
+BESCHREIBUNG
+============
+
+   *** KEINE BESCHREIBUNG VORHANDEN ***
diff --git a/doc/sphinx/man/props/P_TTY b/doc/sphinx/man/props/P_TTY
new file mode 100644
index 0000000..87841fd
--- /dev/null
+++ b/doc/sphinx/man/props/P_TTY
@@ -0,0 +1,45 @@
+
+P_TTY
+*****
+
+
+NAME
+====
+
+   P_TTY                         "tty"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_TTY_COLS b/doc/sphinx/man/props/P_TTY_COLS
new file mode 100644
index 0000000..8780417
--- /dev/null
+++ b/doc/sphinx/man/props/P_TTY_COLS
@@ -0,0 +1,40 @@
+
+P_TTY_COLS
+**********
+
+
+NAME
+====
+
+   P_TTY_COLS                                  "tty_cols"
+
+
+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/sphinx/man/props/P_TTY_ROWS b/doc/sphinx/man/props/P_TTY_ROWS
new file mode 100644
index 0000000..7289109
--- /dev/null
+++ b/doc/sphinx/man/props/P_TTY_ROWS
@@ -0,0 +1,40 @@
+
+P_TTY_ROWS
+**********
+
+
+NAME
+====
+
+   P_TTY_ROWS                                  "tty_rows"
+
+
+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/sphinx/man/props/P_TTY_SHOW b/doc/sphinx/man/props/P_TTY_SHOW
new file mode 100644
index 0000000..a43076f
--- /dev/null
+++ b/doc/sphinx/man/props/P_TTY_SHOW
@@ -0,0 +1,35 @@
+
+P_TTY_SHOW
+**********
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_TTY_TYPE b/doc/sphinx/man/props/P_TTY_TYPE
new file mode 100644
index 0000000..5842cb2
--- /dev/null
+++ b/doc/sphinx/man/props/P_TTY_TYPE
@@ -0,0 +1,41 @@
+
+P_TTY_TYPE
+**********
+
+
+NAME
+====
+
+   P_TTY_TYPE                                  "tty_type"
+
+
+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/sphinx/man/props/P_UNIT_DECAY_FLAGS b/doc/sphinx/man/props/P_UNIT_DECAY_FLAGS
new file mode 100644
index 0000000..25a5ed1
--- /dev/null
+++ b/doc/sphinx/man/props/P_UNIT_DECAY_FLAGS
@@ -0,0 +1,90 @@
+
+P_UNIT_DECAY_FLAGS
+******************
+
+
+NAME
+====
+
+   P_UNIT_DECAY_FLAGS                                 "unit_decay_flags"
+
+
+DEFINIERT IN
+============
+
+   /sys/unit.h
+
+
+BESCHREIBUNG
+============
+
+   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/sphinx/man/props/P_UNIT_DECAY_INTERVAL b/doc/sphinx/man/props/P_UNIT_DECAY_INTERVAL
new file mode 100644
index 0000000..e0118c3
--- /dev/null
+++ b/doc/sphinx/man/props/P_UNIT_DECAY_INTERVAL
@@ -0,0 +1,56 @@
+
+P_UNIT_DECAY_INTERVAL
+*********************
+
+
+NAME
+====
+
+   P_UNIT_DECAY_INTERVAL                                      "unit_decay_interval"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/P_UNIT_DECAY_MIN b/doc/sphinx/man/props/P_UNIT_DECAY_MIN
new file mode 100644
index 0000000..b78a735
--- /dev/null
+++ b/doc/sphinx/man/props/P_UNIT_DECAY_MIN
@@ -0,0 +1,71 @@
+
+P_UNIT_DECAY_MIN
+****************
+
+
+NAME
+====
+
+   P_UNIT_DECAY_MIN                                                       "unit_decay_min"
+
+
+DEFINIERT IN
+============
+
+   /sys/unit.h
+
+
+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/sphinx/man/props/P_UNIT_DECAY_QUOTA b/doc/sphinx/man/props/P_UNIT_DECAY_QUOTA
new file mode 100644
index 0000000..0b4c9a6
--- /dev/null
+++ b/doc/sphinx/man/props/P_UNIT_DECAY_QUOTA
@@ -0,0 +1,69 @@
+
+P_UNIT_DECAY_QUOTA
+******************
+
+
+P_UNIT_DECAY_QUOTA (int)
+========================
+
+
+NAME
+====
+
+   P_UNIT_DECAY_QUOTA                                 "unit_decay_quota"
+
+
+DEFINIERT IN
+============
+
+   /sys/unit.h
+
+
+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/sphinx/man/props/P_UNWEAR_MSG b/doc/sphinx/man/props/P_UNWEAR_MSG
new file mode 100644
index 0000000..0b2e89a
--- /dev/null
+++ b/doc/sphinx/man/props/P_UNWEAR_MSG
@@ -0,0 +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.
+
+   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/sphinx/man/props/P_UNWIELD_FUNC b/doc/sphinx/man/props/P_UNWIELD_FUNC
new file mode 100644
index 0000000..4466ec0
--- /dev/null
+++ b/doc/sphinx/man/props/P_UNWIELD_FUNC
@@ -0,0 +1,32 @@
+
+P_UNWIELD_FUNC
+**************
+
+
+NAME
+====
+
+   P_UNWIELD_FUNC "unwield_func"
+
+
+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/sphinx/man/props/P_UNWIELD_MSG b/doc/sphinx/man/props/P_UNWIELD_MSG
new file mode 100644
index 0000000..d1d1668
--- /dev/null
+++ b/doc/sphinx/man/props/P_UNWIELD_MSG
@@ -0,0 +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.
+
+   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/sphinx/man/props/P_UNWIELD_TIME b/doc/sphinx/man/props/P_UNWIELD_TIME
new file mode 100644
index 0000000..e93a24b
--- /dev/null
+++ b/doc/sphinx/man/props/P_UNWIELD_TIME
@@ -0,0 +1,33 @@
+
+P_UNWIELD_TIME
+**************
+
+
+NAME
+====
+
+   P_UNWIELD_TIME                    "unwield_time"
+
+
+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/sphinx/man/props/P_USED_HANDS b/doc/sphinx/man/props/P_USED_HANDS
new file mode 100644
index 0000000..b90bd61
--- /dev/null
+++ b/doc/sphinx/man/props/P_USED_HANDS
@@ -0,0 +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).
+
+
+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/sphinx/man/props/P_VALID_GUILDS b/doc/sphinx/man/props/P_VALID_GUILDS
new file mode 100644
index 0000000..f431e7b
--- /dev/null
+++ b/doc/sphinx/man/props/P_VALID_GUILDS
@@ -0,0 +1,41 @@
+
+P_VALID_GUILDS
+**************
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_VALUE b/doc/sphinx/man/props/P_VALUE
new file mode 100644
index 0000000..cb48202
--- /dev/null
+++ b/doc/sphinx/man/props/P_VALUE
@@ -0,0 +1,43 @@
+
+P_VALUE
+*******
+
+
+NAME
+====
+
+   P_VALUE                       "value"
+
+
+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/sphinx/man/props/P_VALUE_PER_UNIT b/doc/sphinx/man/props/P_VALUE_PER_UNIT
new file mode 100644
index 0000000..3ff1b3c
--- /dev/null
+++ b/doc/sphinx/man/props/P_VALUE_PER_UNIT
@@ -0,0 +1,29 @@
+
+P_VALUE_PER_UNIT
+****************
+
+
+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/sphinx/man/props/P_VARIABLES b/doc/sphinx/man/props/P_VARIABLES
new file mode 100644
index 0000000..52a979c
--- /dev/null
+++ b/doc/sphinx/man/props/P_VARIABLES
@@ -0,0 +1,28 @@
+
+P_VARIABLES
+***********
+
+
+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/sphinx/man/props/P_VISIBLE_GUILD b/doc/sphinx/man/props/P_VISIBLE_GUILD
new file mode 100644
index 0000000..92de8b7
--- /dev/null
+++ b/doc/sphinx/man/props/P_VISIBLE_GUILD
@@ -0,0 +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.
+
+
+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/sphinx/man/props/P_VISIBLE_SUBGUILD_TITLE b/doc/sphinx/man/props/P_VISIBLE_SUBGUILD_TITLE
new file mode 100644
index 0000000..e0e5c83
--- /dev/null
+++ b/doc/sphinx/man/props/P_VISIBLE_SUBGUILD_TITLE
@@ -0,0 +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.
+
+
+SIEHE AUCH
+==========
+
+   P_GUILD_TITLE, P_SUBGUILD_TITLE
+
+Last modified: Mon Aug 13 21:20:00 2001 by Nachtwind
diff --git a/doc/sphinx/man/props/P_VISUALBELL b/doc/sphinx/man/props/P_VISUALBELL
new file mode 100644
index 0000000..8a3d836
--- /dev/null
+++ b/doc/sphinx/man/props/P_VISUALBELL
@@ -0,0 +1,58 @@
+
+P_VISUALBELL
+************
+
+
+NAME
+====
+
+   P_VISUALBELL                    "visualbell"
+
+
+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/sphinx/man/props/P_VULNERABILITY b/doc/sphinx/man/props/P_VULNERABILITY
new file mode 100644
index 0000000..f0e3abb
--- /dev/null
+++ b/doc/sphinx/man/props/P_VULNERABILITY
@@ -0,0 +1,62 @@
+
+P_VULNERABILITY
+***************
+
+
+NAME
+====
+
+   P_VULNERABILITY               "vulnerability"
+
+
+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/sphinx/man/props/P_WAITFOR b/doc/sphinx/man/props/P_WAITFOR
new file mode 100644
index 0000000..301838e
--- /dev/null
+++ b/doc/sphinx/man/props/P_WAITFOR
@@ -0,0 +1,30 @@
+
+P_WAITFOR
+*********
+
+
+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/sphinx/man/props/P_WAITFOR_FLAGS b/doc/sphinx/man/props/P_WAITFOR_FLAGS
new file mode 100644
index 0000000..5e616b7
--- /dev/null
+++ b/doc/sphinx/man/props/P_WAITFOR_FLAGS
@@ -0,0 +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"
+
+
+SIEHE AUCH
+==========
+
+   erwarte
+   P_WAITFOR, P_WAITFOR_REASON
+
+16. Feb 2008 Gloinson
diff --git a/doc/sphinx/man/props/P_WAITFOR_REASON b/doc/sphinx/man/props/P_WAITFOR_REASON
new file mode 100644
index 0000000..1d997d8
--- /dev/null
+++ b/doc/sphinx/man/props/P_WAITFOR_REASON
@@ -0,0 +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"])
+
+
+SIEHE AUCH
+==========
+
+   erwarte (erwarte <wen> wegen <was>)
+   P_WAITFOR, P_WAITFOR_FLAGS
+
+16. Feb 2008 Gloinson
diff --git a/doc/sphinx/man/props/P_WANTS_TO_LEARN b/doc/sphinx/man/props/P_WANTS_TO_LEARN
new file mode 100644
index 0000000..639ab61
--- /dev/null
+++ b/doc/sphinx/man/props/P_WANTS_TO_LEARN
@@ -0,0 +1,25 @@
+
+P_WANTS_TO_LEARN
+****************
+
+
+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/sphinx/man/props/P_WATER b/doc/sphinx/man/props/P_WATER
new file mode 100644
index 0000000..79742c1
--- /dev/null
+++ b/doc/sphinx/man/props/P_WATER
@@ -0,0 +1,130 @@
+
+P_WATER
+*******
+
+
+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
+
+
+   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/sphinx/man/props/P_WC b/doc/sphinx/man/props/P_WC
new file mode 100644
index 0000000..cfa18e4
--- /dev/null
+++ b/doc/sphinx/man/props/P_WC
@@ -0,0 +1,56 @@
+
+P_WC
+****
+
+
+NAME
+====
+
+   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/sphinx/man/props/P_WEAPON b/doc/sphinx/man/props/P_WEAPON
new file mode 100644
index 0000000..a7f68b2
--- /dev/null
+++ b/doc/sphinx/man/props/P_WEAPON
@@ -0,0 +1,31 @@
+
+P_WEAPON
+********
+
+
+NAME
+====
+
+   P_WEAPON                      "weapon"
+
+
+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/sphinx/man/props/P_WEAPON_TEACHER b/doc/sphinx/man/props/P_WEAPON_TEACHER
new file mode 100644
index 0000000..ebeb788
--- /dev/null
+++ b/doc/sphinx/man/props/P_WEAPON_TEACHER
@@ -0,0 +1,29 @@
+
+P_WEAPON_TEACHER
+****************
+
+
+NAME
+====
+
+   P_WEAPON_TEACHER              "weapon_teacher"
+
+
+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/sphinx/man/props/P_WEAPON_TYPE b/doc/sphinx/man/props/P_WEAPON_TYPE
new file mode 100644
index 0000000..d200054
--- /dev/null
+++ b/doc/sphinx/man/props/P_WEAPON_TYPE
@@ -0,0 +1,41 @@
+
+P_WEAPON_TYPE
+*************
+
+
+NAME
+====
+
+   P_WEAPON_TYPE "weapon_type"
+
+
+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/sphinx/man/props/P_WEAR_FUNC b/doc/sphinx/man/props/P_WEAR_FUNC
new file mode 100644
index 0000000..d288187
--- /dev/null
+++ b/doc/sphinx/man/props/P_WEAR_FUNC
@@ -0,0 +1,44 @@
+
+P_WEAR_FUNC
+***********
+
+
+NAME
+====
+
+   P_WEAR_FUNC "wear_func"
+
+
+DEFINIERT IN
+============
+
+   <armour.h>
+
+
+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/sphinx/man/props/P_WEAR_MSG b/doc/sphinx/man/props/P_WEAR_MSG
new file mode 100644
index 0000000..69fbf44
--- /dev/null
+++ b/doc/sphinx/man/props/P_WEAR_MSG
@@ -0,0 +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.
+
+   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, "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/sphinx/man/props/P_WEIGHT b/doc/sphinx/man/props/P_WEIGHT
new file mode 100644
index 0000000..4c37e46
--- /dev/null
+++ b/doc/sphinx/man/props/P_WEIGHT
@@ -0,0 +1,43 @@
+
+P_WEIGHT
+********
+
+
+NAME
+====
+
+   P_WEIGHT                      "weight"
+
+
+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/sphinx/man/props/P_WEIGHT_PERCENT b/doc/sphinx/man/props/P_WEIGHT_PERCENT
new file mode 100644
index 0000000..a4d0506
--- /dev/null
+++ b/doc/sphinx/man/props/P_WEIGHT_PERCENT
@@ -0,0 +1,47 @@
+
+P_WEIGHT_PERCENT
+****************
+
+
+NAME
+====
+
+   P_WEIGHT_PERCENT              "weight_percent"
+
+
+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/sphinx/man/props/P_WEIGHT_PER_UNIT b/doc/sphinx/man/props/P_WEIGHT_PER_UNIT
new file mode 100644
index 0000000..c777b65
--- /dev/null
+++ b/doc/sphinx/man/props/P_WEIGHT_PER_UNIT
@@ -0,0 +1,29 @@
+
+P_WEIGHT_PER_UNIT
+*****************
+
+
+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/sphinx/man/props/P_WIELDED b/doc/sphinx/man/props/P_WIELDED
new file mode 100644
index 0000000..26bcff7
--- /dev/null
+++ b/doc/sphinx/man/props/P_WIELDED
@@ -0,0 +1,37 @@
+
+P_WIELDED
+*********
+
+
+NAME
+====
+
+   P_WIELDED "wielded"
+
+
+DEFINIERT IN
+============
+
+   <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/sphinx/man/props/P_WIELD_FUNC b/doc/sphinx/man/props/P_WIELD_FUNC
new file mode 100644
index 0000000..fbe49a7
--- /dev/null
+++ b/doc/sphinx/man/props/P_WIELD_FUNC
@@ -0,0 +1,38 @@
+
+P_WIELD_FUNC
+************
+
+
+NAME
+====
+
+   P_WIELD_FUNC "wield_func"
+
+
+DEFINIERT IN
+============
+
+   <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/sphinx/man/props/P_WIELD_MSG b/doc/sphinx/man/props/P_WIELD_MSG
new file mode 100644
index 0000000..fa9dafc
--- /dev/null
+++ b/doc/sphinx/man/props/P_WIELD_MSG
@@ -0,0 +1,74 @@
+
+P_WIELD_MSG
+***********
+
+
+NAME
+====
+
+   P_WIELD_MSG                       "wield_msg"
+
+
+DEFINIERT IN
+============
+
+   /sys/weapon.h
+
+
+BESCHREIBUNG
+============
+
+   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.
+
+   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/sphinx/man/props/P_WIMPY b/doc/sphinx/man/props/P_WIMPY
new file mode 100644
index 0000000..d0ba078
--- /dev/null
+++ b/doc/sphinx/man/props/P_WIMPY
@@ -0,0 +1,30 @@
+
+P_WIMPY
+*******
+
+
+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/sphinx/man/props/P_WIMPY_DIRECTION b/doc/sphinx/man/props/P_WIMPY_DIRECTION
new file mode 100644
index 0000000..11bedeb
--- /dev/null
+++ b/doc/sphinx/man/props/P_WIMPY_DIRECTION
@@ -0,0 +1,40 @@
+
+P_WIMPY_DIRECTION
+*****************
+
+
+NAME
+====
+
+   P_WIMPY_DIRECTION             "wimpy_dir"
+
+
+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/sphinx/man/props/P_WIZ_DEBUG b/doc/sphinx/man/props/P_WIZ_DEBUG
new file mode 100644
index 0000000..0bea2ad
--- /dev/null
+++ b/doc/sphinx/man/props/P_WIZ_DEBUG
@@ -0,0 +1,37 @@
+
+P_WIZ_DEBUG
+***********
+
+
+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/sphinx/man/props/P_WORN b/doc/sphinx/man/props/P_WORN
new file mode 100644
index 0000000..999ab76
--- /dev/null
+++ b/doc/sphinx/man/props/P_WORN
@@ -0,0 +1,63 @@
+
+P_WORN
+******
+
+
+NAME
+====
+
+   P_WORN "worn"
+
+
+DEFINIERT IN
+============
+
+   <armour.h>
+
+
+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
diff --git a/doc/sphinx/man/props/P_XP b/doc/sphinx/man/props/P_XP
new file mode 100644
index 0000000..649f4e0
--- /dev/null
+++ b/doc/sphinx/man/props/P_XP
@@ -0,0 +1,81 @@
+
+P_XP
+****
+
+
+NAME
+====
+
+   P_XP                    "xp"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/life.h
+
+
+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).
+
+   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/sphinx/man/props/P_X_ATTR_MOD b/doc/sphinx/man/props/P_X_ATTR_MOD
new file mode 100644
index 0000000..14ab9a4
--- /dev/null
+++ b/doc/sphinx/man/props/P_X_ATTR_MOD
@@ -0,0 +1,68 @@
+
+P_X_ATTR_MOD
+************
+
+
+NAME
+====
+
+   P_X_ATTR_MOD                  "extern_attributes_modifier"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/attributes.h
+
+
+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/sphinx/man/props/P_X_HEALTH_MOD b/doc/sphinx/man/props/P_X_HEALTH_MOD
new file mode 100644
index 0000000..69aafab
--- /dev/null
+++ b/doc/sphinx/man/props/P_X_HEALTH_MOD
@@ -0,0 +1,60 @@
+
+P_X_HEALTH_MOD
+**************
+
+
+NAME
+====
+
+   P_X_HEALTH_MOD                  "extern_health_modifier"
+
+
+DEFINIERT IN
+============
+
+   /sys/living/attributes.h
+
+
+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/sphinx/man/props/P_ZAP_MSG b/doc/sphinx/man/props/P_ZAP_MSG
new file mode 100644
index 0000000..6f9c7ce
--- /dev/null
+++ b/doc/sphinx/man/props/P_ZAP_MSG
@@ -0,0 +1,41 @@
+
+P_ZAP_MSG
+*********
+
+
+NAME
+====
+
+   P_ZAP_MSG                 "zap_msg"
+
+
+DEFINIERT IN
+============
+
+   /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/sphinx/man/props/U_REQ b/doc/sphinx/man/props/U_REQ
new file mode 100644
index 0000000..1594c4f
--- /dev/null
+++ b/doc/sphinx/man/props/U_REQ
@@ -0,0 +1,83 @@
+
+U_REQ
+*****
+
+
+NAME
+====
+
+   U_REQ                         "u_req"
+
+
+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.
+
+
+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.)
+
+   # 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
+=================
+
+16.01.2015, Zesstra
diff --git a/doc/sphinx/man/props/gildenprops/P_GLOVE_FINGERLESS b/doc/sphinx/man/props/gildenprops/P_GLOVE_FINGERLESS
new file mode 100644
index 0000000..0485c9a
--- /dev/null
+++ b/doc/sphinx/man/props/gildenprops/P_GLOVE_FINGERLESS
@@ -0,0 +1,30 @@
+
+P_GLOVE_FINGERLESS
+******************
+
+
+NAME
+====
+
+   P_GLOVE_FINGERLESS                     "fingerfreie_handschuhe"
+
+
+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/sphinx/man/props/gildenprops/P_Z_AUTOSHIELD b/doc/sphinx/man/props/gildenprops/P_Z_AUTOSHIELD
new file mode 100644
index 0000000..994abad
--- /dev/null
+++ b/doc/sphinx/man/props/gildenprops/P_Z_AUTOSHIELD
@@ -0,0 +1,43 @@
+
+P_Z_AUTOSHIELD
+**************
+
+
+NAME
+====
+
+   P_Z_AUTOSHIELD                             "z_autoshield"
+
+
+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/sphinx/man/props/gildenprops/P_Z_INFO b/doc/sphinx/man/props/gildenprops/P_Z_INFO
new file mode 100644
index 0000000..654c768
--- /dev/null
+++ b/doc/sphinx/man/props/gildenprops/P_Z_INFO
@@ -0,0 +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.
+
+   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/sphinx/man/props/gildenprops/P_Z_NO_MATERIAL b/doc/sphinx/man/props/gildenprops/P_Z_NO_MATERIAL
new file mode 100644
index 0000000..cda514a
--- /dev/null
+++ b/doc/sphinx/man/props/gildenprops/P_Z_NO_MATERIAL
@@ -0,0 +1,34 @@
+
+P_Z_NO_MATERIAL
+***************
+
+
+NAME
+====
+
+   P_Z_NO_MATERIAL                     "npc_braucht_keine_kmp"
+
+
+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/sphinx/man/props/gildenprops/P_Z_NO_NOCONN b/doc/sphinx/man/props/gildenprops/P_Z_NO_NOCONN
new file mode 100644
index 0000000..6cd0024
--- /dev/null
+++ b/doc/sphinx/man/props/gildenprops/P_Z_NO_NOCONN
@@ -0,0 +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.
+
+
+SIEHE AUCH
+==========
+
+   /p/zauberer/text/wiznpc.doku, P_Z_INFO
+
+21.Okt 2006 Chagall
diff --git a/doc/sphinx/man/props/gildenprops/P_Z_NO_SPELL_SUPPORT b/doc/sphinx/man/props/gildenprops/P_Z_NO_SPELL_SUPPORT
new file mode 100644
index 0000000..74860f6
--- /dev/null
+++ b/doc/sphinx/man/props/gildenprops/P_Z_NO_SPELL_SUPPORT
@@ -0,0 +1,41 @@
+
+P_Z_NO_SPELL_SUPPORT
+********************
+
+
+NAME
+====
+
+   P_Z_NO_SPELL_SUPPORT       "zauberer_ruestung_unterstuetzt_noch_nicht"
+
+
+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/sphinx/man/props/gildenprops/kaempferboni b/doc/sphinx/man/props/gildenprops/kaempferboni
new file mode 100644
index 0000000..0d34e98
--- /dev/null
+++ b/doc/sphinx/man/props/gildenprops/kaempferboni
@@ -0,0 +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.
+
+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
+
+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.
+
+   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
+
+   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.)
+
+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.
+
+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.
+
+   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.
+
+   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).
+
+5 Bonus fuer Finte/Waffentrick - K_DISTRACTING_WEAPON (INT) -
+   "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.
+
+   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%.
+
+   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.
+
+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.
+
+   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.
+
+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.
+
+   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.
+
+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.
+
+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.
+
+   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.
+
+   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.
+
+   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.).
+
+   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).
+
+   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.
+
+
+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/sphinx/man/props/obsolete/P_BALANCED_WEAPON b/doc/sphinx/man/props/obsolete/P_BALANCED_WEAPON
new file mode 100644
index 0000000..83a2fc4
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_BALANCED_WEAPON
@@ -0,0 +1,59 @@
+
+P_BALANCED_WEAPON
+*****************
+
+********************* 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
+
+
+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/sphinx/man/props/obsolete/P_DEFAULT_INFO b/doc/sphinx/man/props/obsolete/P_DEFAULT_INFO
new file mode 100644
index 0000000..9a16169
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_DEFAULT_INFO
@@ -0,0 +1,50 @@
+
+P_DEFAULT_INFO
+**************
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
+
+
+NAME
+====
+
+   P_DEFAULT_INFO                "default_info"
+
+
+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/sphinx/man/props/obsolete/P_EXTRA_LOOK b/doc/sphinx/man/props/obsolete/P_EXTRA_LOOK
new file mode 100644
index 0000000..203fb8e
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_EXTRA_LOOK
@@ -0,0 +1,57 @@
+
+P_EXTRA_LOOK
+************
+
+********************* 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/sphinx/man/props/obsolete/P_LAST_KILLER b/doc/sphinx/man/props/obsolete/P_LAST_KILLER
new file mode 100644
index 0000000..199a878
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_LAST_KILLER
@@ -0,0 +1,37 @@
+
+P_LAST_KILLER
+*************
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet und wird
+bald aus der Mudlib entfernt.  * ************************************
+***********************************
+
+
+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/sphinx/man/props/obsolete/P_LAST_PEACE_TIME b/doc/sphinx/man/props/obsolete/P_LAST_PEACE_TIME
new file mode 100644
index 0000000..f8aea49
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_LAST_PEACE_TIME
@@ -0,0 +1,41 @@
+
+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
+
+
+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.
+
+
+SIEHE AUCH
+==========
+
+   QueryPacify, P_ACCEPT_PEACE
+
+
+LETZTE AENDERUNG
+================
+
+   2004-03-17, 14:30 von Humni
diff --git a/doc/sphinx/man/props/obsolete/P_LOG_FILE b/doc/sphinx/man/props/obsolete/P_LOG_FILE
new file mode 100644
index 0000000..ed57133
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_LOG_FILE
@@ -0,0 +1,69 @@
+
+P_LOG_FILE
+**********
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property wird nicht mehr
+ausgewertet.                         * ******************************
+*****************************************
+
+
+NAME
+====
+
+   P_LOG_FILE                   "log_file"
+
+
+DEFINIERT IN
+============
+
+   /sys/thing/properties.h
+
+
+BESCHREIBUNG
+============
+
+   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/sphinx/man/props/obsolete/P_NEXT_SPELL_TIME b/doc/sphinx/man/props/obsolete/P_NEXT_SPELL_TIME
new file mode 100644
index 0000000..300a766
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_NEXT_SPELL_TIME
@@ -0,0 +1,49 @@
+
+P_NEXT_SPELL_TIME
+*****************
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
+
+
+NAME
+====
+
+   P_NEXT_SPELL_TIME             "next_spell"
+
+
+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/sphinx/man/props/obsolete/P_READ_MSG b/doc/sphinx/man/props/obsolete/P_READ_MSG
new file mode 100644
index 0000000..2331508
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_READ_MSG
@@ -0,0 +1,56 @@
+
+P_READ_MSG
+**********
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+*************************************
+
+
+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/sphinx/man/props/obsolete/P_TECHNIQUE b/doc/sphinx/man/props/obsolete/P_TECHNIQUE
new file mode 100644
index 0000000..a556ce6
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_TECHNIQUE
@@ -0,0 +1,70 @@
+
+P_TECHNIQUE
+***********
+
+********************* 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
+
+
+BESCHREIBUNG
+============
+
+   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/sphinx/man/props/obsolete/P_TMP_ATTACK_HOOK b/doc/sphinx/man/props/obsolete/P_TMP_ATTACK_HOOK
new file mode 100644
index 0000000..6bd5130
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_TMP_ATTACK_HOOK
@@ -0,0 +1,95 @@
+
+P_TMP_ATTACK_HOOK
+*****************
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_ATTACK_HOOK
+
+
+NAME
+====
+
+   P_TMP_ATTACK_HOOK             "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.
+
+   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'.
+
+   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;
+     }
+
+     // 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/sphinx/man/props/obsolete/P_TMP_ATTACK_MOD b/doc/sphinx/man/props/obsolete/P_TMP_ATTACK_MOD
new file mode 100644
index 0000000..df10409
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_TMP_ATTACK_MOD
@@ -0,0 +1,134 @@
+
+P_TMP_ATTACK_MOD
+****************
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_ATTACK_MOD
+
+
+NAME
+====
+
+   P_TMP_ATTACK_MOD              "attack_mod"
+
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Mittels dieser Property koennen die Attacken eines Livings temporaer
+   veraendert werden.
+
+   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'.
+
+   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.
+
+
+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
+
+10.Feb 2005 Gloinson
diff --git a/doc/sphinx/man/props/obsolete/P_TMP_DEFEND_HOOK b/doc/sphinx/man/props/obsolete/P_TMP_DEFEND_HOOK
new file mode 100644
index 0000000..f29d342
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_TMP_DEFEND_HOOK
@@ -0,0 +1,131 @@
+
+P_TMP_DEFEND_HOOK
+*****************
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_DEFEND_HOOK
+
+
+NAME
+====
+
+   P_TMP_DEFEND_HOOK             "defend_hook"
+
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Mittels dieser Property koennen die Abwehren eines Livings temporaer
+   veraendert werden.
+
+   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'.
+
+   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.
+
+   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
+
+
+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);
+
+   // 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
+     }
+
+     // 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/sphinx/man/props/obsolete/P_TMP_DIE_HOOK b/doc/sphinx/man/props/obsolete/P_TMP_DIE_HOOK
new file mode 100644
index 0000000..f4008cb
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_TMP_DIE_HOOK
@@ -0,0 +1,91 @@
+
+P_TMP_DIE_HOOK
+**************
+
+********************* VERALTETE PROPERTY
+****************************** * Diese Property ist veraltet. Bitte
+nicht mehr in neuem Code nutzen. * **********************************
+************************************* P_TMP_DIE_HOOK
+
+
+NAME
+====
+
+   P_TMP_DIE_HOOK                "die_hook"
+
+
+DEFINIERT IN
+============
+
+   /sys/new_skills.h
+
+
+BESCHREIBUNG
+============
+
+   Mittels dieser Property kann der Tod eines Livings abgewendet werden.
+
+   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.
+
+   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.
+
+
+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;
+     }
+
+     // 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/sphinx/man/props/obsolete/P_TMP_MOVE_HOOK b/doc/sphinx/man/props/obsolete/P_TMP_MOVE_HOOK
new file mode 100644
index 0000000..8f1aa77
--- /dev/null
+++ b/doc/sphinx/man/props/obsolete/P_TMP_MOVE_HOOK
@@ -0,0 +1,65 @@
+
+P_TMP_MOVE_HOOK
+***************
+
+********************* 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
+
+
+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/sphinx/man/props/skill_info_liste b/doc/sphinx/man/props/skill_info_liste
new file mode 100644
index 0000000..a8ad089
--- /dev/null
+++ b/doc/sphinx/man/props/skill_info_liste
@@ -0,0 +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).
+
+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.
+
+      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_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_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_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_LASTLIGHT: int
+         Zeitpunkt, bis wann der Standardskills SK_NIGHTVISION den
+         Spieler sehen laesst.
+
+      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_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_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_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_MAGIC_TYPE: string*
+         Enthaelt ein Array der Magietypen, die zum Einsatz kommen.
+         Die Angabe geschieht zB im Spellbook und beeinflusst
+         SpellDefend().
+
+      SI_LAST_USE: int (eventuell obsolet)
+         Letzte Nutzung des Skills.
+
+      SI_LEARN_PROB: int (eventuell obsolet)
+         Lernwahrscheinlichkeit.
+
+      SI_SKILLDURATION: int
+         Dauer des Skills/Spells. Momentan nicht allzu verbreitet in
+         Nutzung.
+
+   #2 nur fuer Spells:
+      SI_SPELLBOOK: string
+         Kann direkt das enthaltende Spellbook fuer einen Spell
+         enthalten.
+
+      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_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_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_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_PREPARE_MSG: string
+         Meldung, die dem Spieler ausgegeben werden soll, wenn er
+         einen Spell vorbereitet. Ansonsten wird ein Standardtext
+         ausgegeben.
+
+      SI_PREPARE_BUSY_MSG: string
+         Meldung, die dem Spieler ausgegeben werden soll, wenn er
+         schon diesen Spell vorbereitet. Ansonsten wird ein
+         Standardtext ausgegeben.
+
+      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_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_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_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_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_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_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_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_SKILLINFO: string SI_SKILLINFO_LONG: string
+
+         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
