Update diverser Manpages und Beispiele
Change-Id: I07094305b7697550dac8667a26e150ca23560e41
diff --git a/doc/lfun/AddInfo b/doc/lfun/AddInfo
index c684fe0..76c6e1c 100644
--- a/doc/lfun/AddInfo
+++ b/doc/lfun/AddInfo
@@ -6,8 +6,8 @@
FUNKTION
========
- varargs void AddInfo( frage, meldung
- [, indent [, [silent [, casebased] ] ] );
+ public varargs void AddInfo(string|string* key, string|closure info,
+ string indent, int|string silent, string|closure casebased);
DEFINIERT IN
@@ -19,22 +19,23 @@
ARGUMENTE
=========
- string/string* frage
- Schluesseltext(e) auf die Informationen gegeben werden sollen.
+ string|string* frage
+ Schluesselwoerter, fuer die der NPC eine Antwort geben soll,
+ wenn man ihn danach fragt
- string/closure meldung
+ string|closure meldung
Information, die gegeben werden soll; wenn 'meldung' eine
Closure ist, wird der gerufenen Funktion nichts uebergeben.
- string indent
+ string indent (optional)
Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
- int/string silent
+ int|string silent (optional)
Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
- string/closure casebased
- Closure mit Returnwert string oder int. Bekommt nichts
- uebergeben.
+ string|closure casebased (optional)
+ Closure mit Returnwert string oder int. Der Funktion werden
+ keine Argumente uebergeben.
BESCHREIBUNG
@@ -79,7 +80,7 @@
Die Strings von 'silent' und 'meldung' werden geparsed. Dabei
koennen die @[...]-Tags von replace_personal() verwendet werden,
- Objekt 1 ist this_player(). Ersetzte String am Satzanfang werden
+ Objekt 1 ist this_player(). Ersetzte Strings am Satzanfang werden
automatisch gross geschrieben. AddInfo() konvertiert die alten
Schluesselworte @WER, @WESSEN, @WEM, @WEN zu denen von
replace_personal(), jedoch nicht in den Rueckgabe- werten von
@@ -265,4 +266,4 @@
Interna:
GetInfoArr() , do_frage()
-7. Mar 2017 Gloinson
+24.09.2020, Arathorn
diff --git a/doc/lfun/AddMoney b/doc/lfun/AddMoney
index 8f15cc6..6518215 100644
--- a/doc/lfun/AddMoney
+++ b/doc/lfun/AddMoney
@@ -69,10 +69,10 @@
BEISPIELE
=========
- #include <zentralbank.h>
+ #include <bank.h>
// gib ihm Geld
- int money = ZENTRALBANK->Withdraw(50);
+ int money = ZENTRALBANK->WithDraw(50);
this_player()->AddMoney(money);
// nimm ihm Geld
@@ -86,9 +86,11 @@
SIEHE AUCH
==========
- Geldhandling: QueryMoney(L) Zentralbank: PayIn(L),
- WithDraw(L) Sonstiges: move(L), /items/money.c,
- /sys/moving.h, /sys/money.h, /sys/bank.h
- /std/container/moneyhandler.c
+ Geldhandling: QueryMoney(L)
+ Zentralbank: PayIn(L), WithDraw(L)
+ Sonstiges: move(L),
+ /items/money.c
+ /sys/moving.h, /std/container/moneyhandler.c
+ /sys/money.h, /sys/bank.h
18.02.2013, Zesstra
diff --git a/doc/lfun/AddRoomMessage b/doc/lfun/AddRoomMessage
index 82c2c99..47e2b60 100644
--- a/doc/lfun/AddRoomMessage
+++ b/doc/lfun/AddRoomMessage
@@ -66,7 +66,7 @@
verlassen haben
* ist manuell nur ueber Loeschen der Nachrichten umsetzbar,
- also mit "AddRoomMessage((string)0, 0, (string)0);"
+ also mit "AddRoomMessage(0, 0, 0);"
In Funktionen, die durch AddRoomMessage() ausgeloest werden, darf
this_player() nicht verwendet werden, da die call_out()-Kette den
@@ -130,7 +130,7 @@
}
public int action_laerm(string str) {
- AddRoomMessage((string)0, 0, (string)0);
+ AddRoomMessage(0, 0, 0);
this_player()->ReceiveMsg(
"Du schreist dir kurz die Seele aus dem Leib. Alle Tiere "
diff --git a/doc/lfun/AddSpecialInfo b/doc/lfun/AddSpecialInfo
index efc3067..be61558 100644
--- a/doc/lfun/AddSpecialInfo
+++ b/doc/lfun/AddSpecialInfo
@@ -6,23 +6,31 @@
FUNKTION
========
- varargs void AddSpecialInfo( frage, meldung
- [, indent [, [silent [, casebased] ] ] );
+ public varargs void AddSpecialInfo(string|string* keys, string functionname,
+ string indent, int|string silent, string|closure casebased);
ARGUMENTE
=========
- string/string* frage
- Schluesseltext(e) auf die Informationen gegeben werden sollen.
- string/closure function
- Methodenname im NPC/Closure
- string indent
- Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
- int/string silent
- Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
- string/closure casebased
- Funktionsname oder Closure mit Returnwert string oder int.
+ string|string* frage
+ Schluesselwoerter, fuer die der NPC eine Antwort geben soll, wenn
+ man ihn danach fragt
+
+ string functionname
+ Name der Funktion, die gerufen werden soll, um den Informationstext
+ des NPCs zu ermitteln. Der gerufenen Funktion werden keine Argumente
+ uebergeben.
+
+ string indent (optional)
+ Text, der sich bei mehrzeiligen Meldungen wiederholen soll.
+
+ int|string silent (optional)
+ Ist silent gesetzt, so erfolgt Antwort nur an Fragenden.
+
+ string|closure casebased (optional)
+ Closure mit Returnwert string oder int.
+ Der Funktion werden keine Argumente uebergeben.
DEFINIERT IN
@@ -83,6 +91,19 @@
SIEHE AUCH
==========
- AddInfo(L), RemoveInfo(L)
+ Verwandt:
+ AddInfo(), RemoveInfo()
-7.Apr 2004 Gloinson
+ Props:
+ P_PRE_INFO
+
+ Files:
+ /std/npc/info.c
+
+ Loggen:
+ P_LOG_INFO
+
+ Interna:
+ GetInfoArr() , do_frage()
+
+24.09.2020, Arathorn
diff --git a/doc/lfun/Attack b/doc/lfun/Attack
index 08a0c20..1e958de 100644
--- a/doc/lfun/Attack
+++ b/doc/lfun/Attack
@@ -18,8 +18,8 @@
BESCHREIBUNG
============
- Der Feind wird der Staerke der Waffe (bzw. der Haende) entsprechend
- stark angegriffen.
+ Der Feind wird entsprechend der Angriffsstaerke der Waffe (P_WC) bzw. der
+ Haende (P_HANDS[1]) angegriffen.
RUECKGABEWERT
@@ -33,10 +33,10 @@
Diese Funktion gibt die Angriffsmeldung aus.
Falls mit blossen Haenden angegriffen wird, ist die Staerke
- (2*Staerke_der_Haende + 10*A_STR)/3
+ (2 * P_HANDS[1] + 10 * A_STR)/3
SIEHE AUCH
==========
- "Defend", "QueryDamage"
+ Defend(), QueryDamage()
diff --git a/doc/lfun/CheckResistance b/doc/lfun/CheckResistance
index bcf64ca..52bfe23 100644
--- a/doc/lfun/CheckResistance
+++ b/doc/lfun/CheckResistance
@@ -6,7 +6,7 @@
FUNKTION
========
- CheckRessistance(string* dam_type_list)
+ public float CheckResistance(string* dam_type_list)
ARGUMENTE
@@ -34,4 +34,4 @@
SIEHE AUCH
==========
- "Defend"
+ Defend(), P_RESISTANCE_STRENGTHS
diff --git a/doc/lfun/DefendFunc b/doc/lfun/DefendFunc
index 5338a9f..00bfc91 100644
--- a/doc/lfun/DefendFunc
+++ b/doc/lfun/DefendFunc
@@ -61,46 +61,43 @@
BEISPIELE
=========
- Eine Ruestung, die bei Angriffen mit Feuer ihre volle Staerke
- entfaltet und bei Angriffen durch Geister geschwaecht wird:
+ Eine Ruestung, die bei Angriffen mit Feuer ihre volle Staerke entfaltet
+ und bei Angriffen durch Geister geschwaecht wird:
- protected void create() {
+ protected void create()
+ {
+ ::create();
- ::create();
-
- SetProp(P_ARMOUR_TYPE, AT_ARMOUR); SetProp(P_AC, 20); ... // Die
- DefendFunc() ist in der Ruestung selbst definiert
- SetProp(P_DEFEND_FUNC, this_object());
-
+ SetProp(P_ARMOUR_TYPE, AT_ARMOUR);
+ SetProp(P_AC, 20);
+ ...
+ // Die DefendFunc() ist in der Ruestung selbst definiert
+ SetProp(P_DEFEND_FUNC, this_object());
}
- public int DefendFunc(string* dtyp, mapping spell, object enemy) {
+ public int DefendFunc(string* dtyp, mapping spell, object enemy)
+ {
+ int prot;
- int prot;
+ // Zuerst fragen wir den Angriff durch Feuer ab:
+ if (member(dtyp, DT_FIRE) >= 0) // Feuer gehoert zu den Schadenstypen
+ prot = 5 + random(10); // Das ergibt maximal 14. Zusammen mit P_AC
+ // kommt man also maximal auf 14+20 = 34,
+ // liegt also unter der fuer AT_ARMOUR
+ // geltenden Obergrenze
- // Zuerst fragen wir den Angriff durch Feuer ab: if
- (member(dtyp, DT_FIRE) >= 0) // Feuer gehoert zu den
- Schadenstypen
+ // Und jetzt der Geistertest
+ if (enemy->QueryProp(P_RACE) == "Geist" ||
+ enemy->is_class_member(CL_GHOST))
+ prot -= random(10);
- prot = 5 + random(10); // Das ergibt maximal 14. Zusammen mit
- P_AC
- // kommt man also maximal auf 14+20 = 34, // liegt also
- unter der fuer AT_ARMOUR // geltenden Obergrenze
-
- // Und jetzt der Geistertest if (enemy->QueryProp(P_RACE) ==
- "Geist" ||
-
- enemy->is_class_member(CL_GHOST))
-
- prot -= random(10);
-
- // Der Rueckgabewert wird auf den aus P_AC errechneten Wert
- draufgeschlagen return prot;
-
+ // Der Rueckgabewert wird auf den aus P_AC errechneten Wert
+ // draufgeschlagen
+ return prot;
}
SIEHE AUCH
==========
- P_DEFEND_FUNC, *QueryDefendd* /std/armour/combat.c
+ P_DEFEND_FUNC, QueryDefend() /std/armour/combat.c
diff --git a/doc/lfun/QueryArmourByType b/doc/lfun/QueryArmourByType
index 20fcab5..5c9da6f 100644
--- a/doc/lfun/QueryArmourByType
+++ b/doc/lfun/QueryArmourByType
@@ -10,7 +10,7 @@
FUNKTION
========
- mixed QueryArmourByType(string type)
+ object|object*|mapping QueryArmourByType(string type)
DEFINIERT IN
@@ -31,17 +31,27 @@
Abfrage, ob das Lebewesen eine Ruestung des angegebenen Typs traegt.
- Zurueckgegeben wird je nach Tragestatus und <type>:
- * 0, falls das Lebewesen die gesuchte Ruestungsart nicht traegt
- * im Erfolgsfall das Ruestungsobjekt
- * falls <type> AT_MISC ist:
- * ({}), wenn es keine AT_MISC-Ruestung traegt
- * ein Array von AT_MISC-Ruestungen
- * falls <type> 0 ist: ein Mapping, das diese Informationen mit dem
- Ruestungstypen als Schluessel enthaelt:
- ([AT_MISC: ({[object], ...}),
- AT_...: <object>,
- ... ])
+
+RUECKGABEWERTE
+==============
+
+ Zurueckgegeben wird abhaengig vom Argument <type> folgendes:
+
+ 1) Ist <type> ein Typ, von dem man nur eine Ruestung tragen kann:
+ * 0, falls das Lebewesen die gesuchte Ruestungsart nicht traegt,
+ * ansonsten das Ruestungsobjekt
+
+ 2) Ist <type> AT_MISC:
+ * ein Array mit allen AT_MISC-Ruestungen
+ * ({}), wenn das Lebewesen keine AT_MISC-Ruestung traegt
+
+ 3) Ist <type> 0:
+ * Ein Mapping mit den Ruestungstypen als Schluessel der folgenden
+ Form:
+ ([AT_MISC: ({object misc1, ... }),
+ AT_CLOAK: object cloak,
+ AT_...: object ...,
+ ... ])
BEMERKUNG
diff --git a/doc/lfun/create_default_npc b/doc/lfun/create_default_npc
index 09c3a14..fac3fe2 100644
--- a/doc/lfun/create_default_npc
+++ b/doc/lfun/create_default_npc
@@ -47,7 +47,10 @@
wurden, werden durch die neuen Werte ersetzt.
Ab einem Aufruf mit Level 20 werden P_XP = 202000 gesetzt, also ein
- Kill-Stup vergeben (siehe P_XP).
+ Kill-Stups vergeben (siehe P_XP).
+
+ P_HP und P_SP werden auf dieselben Werte wie P_MAX_HP bzw. P_MAX_SP
+ eingestellt.
BEISPIEL