Manpage in rst ueberfuehrt.

Change-Id: Ie97258bfe2047f7878c136f635c27a05652aca25
diff --git a/doc/lfun-liste b/doc/lfun-liste
index f3b0170..98653a7 100644
--- a/doc/lfun-liste
+++ b/doc/lfun-liste
@@ -42,8 +42,6 @@
 
 * AddKnownPotion()
 
-* AddMaterial()
-
 * AddMiniQuest()
 
 * AddMoney()
@@ -570,7 +568,7 @@
 
 * RemoveTouchDetail()
 
-* AddvItem()
+* RemoveVItem()
 
 * ResizeRingBuffer()
 
diff --git a/doc/lfun/AddMaterial b/doc/lfun/AddMaterial
new file mode 100644
index 0000000..7f90d82
--- /dev/null
+++ b/doc/lfun/AddMaterial
@@ -0,0 +1,100 @@
+
+AddMaterial()
+*************
+
+
+FUNKTION
+========
+
+   private static varargs void AddMaterial(string mat, int gender,
+                                           mixed names, mixed groups,
+                                           mixed dif) {
+
+
+DEFINIERT IN
+============
+
+   /p/daemon/materialdb.c (MATERIALDB)
+
+
+ARGUMENTE
+=========
+
+   string mat
+     Materialstring, definiert in <thing/material.h>
+
+   int gender
+     Geschlecht des einzutragenden Materials
+
+   mixed names
+     Name des Materials:
+     - "<Nominativ>" oder (meist nur Nom. und Gen. noetig)
+     - ({"<Nominativ>","<Genitiv>","<Dativ>","<Akkusativ>"})
+
+   mixed groups
+     Eingruppierung des Materials:
+     - MATGROUP_XXX oder ({MATGROUP_XXX,...})
+     - ([MAT_GROUP_XXX:xx,MATGROUP_YYY:yy,...])
+
+   mixed dif
+     Schwierigkeiten bei der Erkennbarkeit:
+     - int x oder ({MINMAT,x1,MATPOS1,x2,MATPOS2 ...})
+     - xn: Erkennbarkeitsschwierigkeit (100=100%) -100..100
+     - MINMAT: Erkennung zumindest als _dieses_ Material
+               moeglich
+     - MATPOSn: moegliches Material, erkennbar, wenn
+                Erkennbarkeitfaehigkeit>=xn
+                -> das letzte MATPOS muss natuerlich
+                   string mat entsprechen
+
+
+BESCHREIBUNG
+============
+
+   Es wird in die Materialiendatenbank eine neues Material aufgenommen,
+   die Stringkonstante dafuer wird vorher in <thing/material.h> fest-
+   gelegt. Falls der Genitiv nicht Nominativ+"s" entspricht (z.B. "Seide"),
+   sollte dieser explizit angegeben werden.
+   Nach Neuladen der Datenbank ist dieses Material auch per MaterialName(),
+   'erkennbar' (siehe mixed dif, siehe Beispiel) bzw. seinen einzelnen
+   Gruppen zuordnbar.
+
+
+BEISPIELE
+=========
+
+   AddMaterial(MAT_NITROGLYCERINE,NEUTER,"Nitroglycerin",
+               ({MATGROUP_EXPLOSIVE,MATGROUP_FLUID}),
+               ({MAT_OIL,25,MAT_MISC_EXPLOSIVE,50,MAT_NITROGLYCERINE}));
+
+   Damit wird das Material Nytroglycerin aufgenommen, ein explosiver
+   (damit entflammbarer) sowie fluessiger Stoff. Liegt die Erkennungs-
+   faehigkeit (MaterialName()) unter 25, wird es nur als Oel erkannt,
+   liegt sie unter 50, wird es zumindest als explosives Material erkannt,
+   liegt sie ueber 49, so wird es korrekt erkannt (wie schade :) ).
+
+
+BEMERKUNGEN
+===========
+
+   Wird in der create() der Datenbank aufgerufen. Zu beachten:
+   - vor Eintrag eines _neuen_ Materials die Datenbank durchsuchen!
+   - bei den Materialiengruppen die automatischen Abhaengigkeiten in
+     AddMaterial() durchsehen!
+   - bitte Datenbank neu laden
+
+
+SIEHE AUCH
+==========
+
+   Konzepte:    material, materialerkennung
+   Grundlegend: P_MATERIAL, /sys/thing/material.h
+   Methoden:    QueryMaterial(), QueryMaterialGroup(), MaterialList(),
+   Listen:      AllMaterials(), AllGroups(), Dump()
+                materialliste, materialgruppen
+   Master:      ConvMaterialList(), MaterialGroup(),
+                GroupName(), MaterialName(),
+                GetGroupMembers(), GetMatMembership()
+   Sonstiges:   P_MATERIAL_KNOWLEDGE
+
+7. Mai 2004 Gloinson
diff --git a/doc/lfun/PreventMove b/doc/lfun/PreventMove
index 920372d..ec8c1da 100644
--- a/doc/lfun/PreventMove
+++ b/doc/lfun/PreventMove
@@ -3,8 +3,8 @@
 *************
 
 
-PreventInsert()
-===============
+PreventMove()
+=============
 
 
 FUNKTION
@@ -16,63 +16,69 @@
 DEFINIERT IN
 ============
 
-   /std/thing/moving.c
-   /std/living/moving.c
-   /std/player/moving.c
+   /std/thing/moving.c /std/living/moving.c /std/player/moving.c
 
 
 ARGUMENTE
 =========
 
    dest
-        Das Ziel des Moves
+      Das Ziel des Moves
+
    oldenv
-        Das (Noch-)Environment des Objekts
+      Das (Noch-)Environment des Objekts
+
    method
-        Die Move-Methode(n), mit der/denen bewegt werden soll
+      Die Move-Methode(n), mit der/denen bewegt werden soll
 
 
 BESCHREIBUNG
 ============
 
-   Mit dieser Funktion prueft ein Objekt, ob es von 'oldenv' nach 'dest'
-   bewegt werden mag. Dabei wird 'method' beruecksichtigt (z.B. schaltet
-   M_NOCHECK die meisten Pruefungen ab).
-   Bei Gegenstaenden wird z.B. P_NODROP, P_NOGET, das Gewicht, ob das Ziel
-   das Objekt aufnehmen will (MayAddWeight(), PreventInsert) oder auch
-   PreventLeave() geprueft.
-   Bei Lebewesen wird z.B. P_NO_TPORT in 'dest' und 'oldenv' und
-   PreventLeaveLiving/PreventInsertLiving() ausgewertet.
-   Bei Spielern wird auch noch getestet, ob method M_GO oder M_TPORT
-   enthaelt und ob das Ziel nur von Testspielern betreten werden kann.
+   Mit dieser Funktion prueft ein Objekt, ob es von 'oldenv' nach
+   'dest' bewegt werden mag. Dabei wird 'method' beruecksichtigt (z.B.
+   schaltet M_NOCHECK die meisten Pruefungen ab). Bei Gegenstaenden
+   wird z.B. P_NODROP, P_NOGET, das Gewicht, ob das Ziel das Objekt
+   aufnehmen will (MayAddWeight(), PreventInsert) oder auch
+   PreventLeave() geprueft. Bei Lebewesen wird z.B. P_NO_TPORT in
+   'dest' und 'oldenv' und PreventLeaveLiving/PreventInsertLiving()
+   ausgewertet. Bei Spielern wird auch noch getestet, ob method M_GO
+   oder M_TPORT enthaelt und ob das Ziel nur von Testspielern betreten
+   werden kann.
 
 
 RUeCKGABEWERT
 =============
 
-   0, wenn das Objekt bewegt werden darf.
-   Wenn es nicht bewegt werden darf, sind als Rueckgabewerte die in
-   /sys/moving.h definierten Move-Fehlerwerte zulaessig (s. move()). Sollte
-   hier ein ungueltiger Fehlerwert zurueckgegeben werden, wird das move()
-   ebenfalls abgebrochen und ME_DONT_WANT_TO_BE_MOVED zurueckgeben.
+   0, wenn das Objekt bewegt werden darf. Wenn es nicht bewegt werden
+   darf, sind als Rueckgabewerte die in /sys/moving.h definierten
+   Move-Fehlerwerte zulaessig (s. move()). Sollte hier ein ungueltiger
+   Fehlerwert zurueckgegeben werden, wird das move() ebenfalls
+   abgebrochen und ME_DONT_WANT_TO_BE_MOVED zurueckgeben.
 
 
 BEMERKUNGEN
 ===========
 
    Diese Funktion kann ueberschrieben, um feinere Kontrolle ueber die
-   Bewegungen des Objekt zu haben. Dabei aber bitte einige Dinge beachten:
+   Bewegungen des Objekt zu haben. Dabei aber bitte einige Dinge
+   beachten:
+
    1. Denkt daran, ggf. M_NOCHECK zu beruecksichtigen und und eure
    Pruefungen nur zu machen, wenn es nicht in method vorkommt.
-   2. GANZ WICHTIG: Wenn ihr mit euren Pruefungen fertig sein und das Objekt
-   bewegt werden duerfte, die geerbten Pruefungen noch testen, also _IMMER_
-   das geerbte PreventMove() noch aufrufen und dessen Wert
-   zurueckgeben/beruecksichtigen, da sonst Pruefungen des Gewichts etc.
-   nicht funktionieren oder bei Lebewesen die Prevent*() im Environment
-   nicht gerufen werden!
-   3. Die Funktion ist nur objektintern zu verwenden, Call-Other von aussen
-   sind nicht moeglich, beim Ueberschreiben 'protected' nicht vergessen.
-   4. Nochmal: Geerbtes PreventMove() _NICHT VERGESSEN_!
+
+   2. *GANZ WICHTIG*: Wenn ihr mit euren Pruefungen fertig sein und
+   das Objekt bewegt werden duerfte, die geerbten Pruefungen noch
+   testen, also *IMMER* das geerbte PreventMove() noch aufrufen und
+   dessen Wert zurueckgeben/beruecksichtigen, da sonst Pruefungen des
+   Gewichts etc. nicht funktionieren oder bei Lebewesen die Prevent*()
+   im Environment nicht gerufen werden!
+
+   3. Die Funktion ist nur objektintern zu verwenden, Call-Other von
+   aussen sind nicht moeglich, beim Ueberschreiben 'protected' nicht
+   vergessen.
+
+   4. Nochmal: Geerbtes PreventMove() *NICHT VERGESSEN*!
 
 
 BEISPIELE
@@ -104,6 +110,6 @@
 
    PreventLeave(), NotifyInsert(), NotifyLeave(), MayAddObject(),
    PreventInsertLiving(), PreventLeaveLiving(), NotifyMove(),
-   PreventMove(), MayAddWeight(), move(), /std/container/restrictions.c
+   PreventMove(), MayAddWeight(), move()
 
-Last modified: 04.08.2007, Zesstra
+Last modified: 09.01.2020, Zesstra
diff --git a/doc/sphinx/lfun/PreventMove.rst b/doc/sphinx/lfun/PreventMove.rst
index dacbe8f..020789d 100644
--- a/doc/sphinx/lfun/PreventMove.rst
+++ b/doc/sphinx/lfun/PreventMove.rst
@@ -3,17 +3,15 @@
 
 PreventMove()
 ---------------
-::
+
 
 FUNKTION
 --------
-::
 
      protected int PreventMove(object dest, object oldenv, int method);
 
 DEFINIERT IN
 ------------
-::
 
      /std/thing/moving.c
      /std/living/moving.c
@@ -21,7 +19,6 @@
 
 ARGUMENTE
 ---------
-::
 
      dest
           Das Ziel des Moves
@@ -32,7 +29,6 @@
 
 BESCHREIBUNG
 ------------
-::
 
      Mit dieser Funktion prueft ein Objekt, ob es von 'oldenv' nach 'dest'
      bewegt werden mag. Dabei wird 'method' beruecksichtigt (z.B. schaltet
@@ -47,7 +43,6 @@
 
 RUeCKGABEWERT
 -------------
-::
 
      0, wenn das Objekt bewegt werden darf.
      Wenn es nicht bewegt werden darf, sind als Rueckgabewerte die in
@@ -57,29 +52,33 @@
 
 BEMERKUNGEN
 -----------
-::
 
      Diese Funktion kann ueberschrieben, um feinere Kontrolle ueber die
      Bewegungen des Objekt zu haben. Dabei aber bitte einige Dinge beachten:
+     
      1. Denkt daran, ggf. M_NOCHECK zu beruecksichtigen und und eure
      Pruefungen nur zu machen, wenn es nicht in method vorkommt.
-     2. GANZ WICHTIG: Wenn ihr mit euren Pruefungen fertig sein und das Objekt
-     bewegt werden duerfte, die geerbten Pruefungen noch testen, also _IMMER_
-     das geerbte PreventMove() noch aufrufen und dessen Wert
+     
+     2. *GANZ WICHTIG*: Wenn ihr mit euren Pruefungen fertig sein und das
+     Objekt bewegt werden duerfte, die geerbten Pruefungen noch testen,
+     also *IMMER* das geerbte PreventMove() noch aufrufen und dessen Wert
      zurueckgeben/beruecksichtigen, da sonst Pruefungen des Gewichts etc. 
-     nicht funktionieren oder bei Lebewesen die Prevent*() im Environment 
+     nicht funktionieren oder bei Lebewesen die Prevent\*() im Environment 
      nicht gerufen werden!
+     
      3. Die Funktion ist nur objektintern zu verwenden, Call-Other von aussen
      sind nicht moeglich, beim Ueberschreiben 'protected' nicht vergessen.
-     4. Nochmal: Geerbtes PreventMove() _NICHT VERGESSEN_!
+     
+     4. Nochmal: Geerbtes PreventMove() *NICHT VERGESSEN*!
 
 BEISPIELE
 ---------
-::
 
      Ein Objekt, was nur im Sternenlicht aufgenommen werden kann (warum
      auch immer):
 
+.. code-block:: pike
+
      protected int PreventMove(object dest, object oldenv, int method) {
        if ( (method & M_NOCHECK) ) {
            // wenn mit M_NOCHECK bewegt, ist das Sternenlicht egal, nur
@@ -99,12 +98,12 @@
 
 SIEHE AUCH
 ----------
-::
 
-     PreventLeave(), NotifyInsert(), NotifyLeave(), MayAddObject(),
-     PreventInsertLiving(), PreventLeaveLiving(), NotifyMove(),
-     PreventMove(), MayAddWeight(), move(), /std/container/restrictions.c
+     :doc:`../lfun/PreventLeave`, :doc:`NotifyInsert`,
+     :doc:`NotifyLeave`, :doc:`MayAddObject`,
+     :doc:`PreventInsertLiving`, :doc:`PreventLeaveLiving`,
+     :doc:`NotifyMove`, :doc:`PreventMove`, :doc:`MayAddWeight`,
+     :doc:`move`
 
-
-Last modified: 04.08.2007, Zesstra
+Last modified: 09.01.2020, Zesstra