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