Gesammelte Doku-Update unbekannter Herkunft
Mal wieder ein Sammel-Commit von Dingen, die niemand
committet hat.
Change-Id: I6564091f0f3c0a708247c85973bfcf5c0e23f1da
diff --git a/doc/lfun/die b/doc/lfun/die
index a76a1aa..b8ee872 100644
--- a/doc/lfun/die
+++ b/doc/lfun/die
@@ -18,25 +18,26 @@
ARGUMENTE
=========
- int poisondeath
- Dieses Flag sollte bei einem Gifttod (P_POISON) gesetzt sein.
- int extern
- Intern.
+ poisondeath
+ Dieses Flag sollte bei einem Gifttod (P_POISON) gesetzt sein.
+
+ extern
+ Ex- oder interner Aufruf.
BESCHREIBUNG
============
- Das Lebewesen stirbt, meist automatisch von do_damage() ausgeloest, wenn
- 0 HP unterschritten werden. In diesem Fall wird der Kampf beendet, Gift,
- Alkohol, Trink- und Esswerte, Blindheit, Taubheit u.s.w. auf Null
- gesetzt oder geloescht.
+ Das Lebewesen stirbt, meist automatisch von do_damage() ausgeloest,
+ wenn 0 HP unterschritten werden. In diesem Fall wird der Kampf
+ beendet, Gift, Alkohol, Trink- und Esswerte, Blindheit, Taubheit
+ u.s.w. auf Null gesetzt oder geloescht.
- Es wird automatisch eine Leiche (siehe auch P_CORPSE, P_NOCORPSE) nebst
- Todesmeldungen (siehe auch P_DIE_MSG) erzeugt, und fuer Spieler werden
- Killstupse vergeben, sofern notwendig.
+ Es wird automatisch eine Leiche (siehe auch P_CORPSE, P_NOCORPSE)
+ nebst Todesmeldungen (siehe auch P_DIE_MSG) erzeugt, und fuer
+ Spieler werden Killstupse vergeben, sofern notwendig.
- Ueber den Hook P_TMP_DIE_HOOK kann man jedoch auf den Automatismus
+ Ueber den Hook H_HOOK_DIE kann man jedoch auf den Automatismus
Einfluss nehmen, z.B. koennte ein temporaerer Todesbann-Zauber das
Sterben fuer kurze Zeit verhindern.
@@ -50,18 +51,40 @@
BEMERKUNGEN
===========
- Diese Funktion sollte nur selten direkt verwendet werden. Meist ist der
- uebliche Weg ueber Defend() -> do_damage() -> die() die logisch bessere
- und balancetechnisch guenstigere Loesung.
+ Diese Funktion sollte nur selten direkt verwendet werden. Meist ist
+ der uebliche Weg ueber Defend() -> do_damage() -> die() die logisch
+ bessere und balancetechnisch guenstigere Loesung.
+
+ Diese Funktion sollte nur ueberschrieben werden, wenn tatsaechlich
+ einfluss auf das Sterben genommen werden soll. Wird nur ein Item
+ hinzugefuegt, ist es sinnvoller second_life() zu verwenden.
+
+ Wird die() ueberschrieben, sollte man nicht nur das Argument extern
+ uebergeben, sondern mit extern_call() verodern (siehe Beispiel),
+ weil das geerbte die() den externen Aufruf nicht mehr erkennen
+ kann.
+
+
+BEISPIEL
+========
+
+ public varargs void die(int poisondeath, int extern)
+ {
+ // Dieser NPC soll nicht an Gift sterben.
+ if(poisondeath) return;
+
+ // Das geerbte die() aufrufen, dabei die Argumente uebergeben und ggf.
+ // extern setzen.
+ ::die(poisondeath, extern||extern_call());
+ }
SIEHE AUCH
==========
- Todesursachen: Defend(L), do_damage(L), P_POISON
- Verwandt: P_TMP_DIE_HOOK, P_DEADS
- Todesmeldungen: P_KILL_NAME, P_KILL_MSG, P_MURDER_MSG, P_DIE_MSG
- P_ZAP_MSG, P_ENEMY_DEATH_SEQUENCE
- Sonstiges: P_CORPSE, P_NOCORPSE, /std/corpse.c
+ Defend(), do_damage(), second_life(), P_POISON, P_DEADS,
+ P_KILL_NAME, P_KILL_MSG, P_MURDER_MSG, P_DIE_MSG, P_ZAP_MSG,
+ P_ENEMY_DEATH_SEQUENCE, P_CORPSE, P_NOCORPSE, extern_call,
+ /std/corpse, /std/hooks
-Last modified: Mon May 14 16:20:34 2001 by Patryn
+Letzte Aenderung: 17.03.2019, Bugfix