Automatisch erzeugte Manpages.
Damit nicht jeder sphinx auf dem Rechner haben muss,
behalten wir bis auf weiteres die aus den .rst
erzeugten Manpoages auch im Repo.
Change-Id: Id556c0d11cf5f79659d8350952ce1c014d81ea44
diff --git a/doc/sphinx/man/lfun/NotifyPlayerDeath b/doc/sphinx/man/lfun/NotifyPlayerDeath
new file mode 100644
index 0000000..96678ea
--- /dev/null
+++ b/doc/sphinx/man/lfun/NotifyPlayerDeath
@@ -0,0 +1,99 @@
+
+NotifyPlayerDeath()
+*******************
+
+
+FUNKTION
+========
+
+ void NotifyPlayerDeath(object victim,object killer,int lost_exp);
+
+
+DEFINIERT IN
+============
+
+ /std/player/life.c
+
+
+ARGUMENTE
+=========
+
+ victim
+ Getoeteter Spieler.
+ killer
+ Objekt, welches den Spieler getoetet hat.
+ lost_exp
+ Erfahrungspunkte, die der Spieler durch den Tod verloren hat.
+
+
+BESCHREIBUNG
+============
+
+ Diese Funktion wird aus dem Spielerobjekt heraus immer dann
+ aufgerufen, wenn der Spieler stirbt und zwar:
+ 1) im Gegner, der den Spieler getoetet hat,
+ 2) im Environment des getoeteten Spielers,
+ 3) in der Gilde des Spielers,
+ 4) in allen Objekten in diesem Environment und
+ 5) in allen Objekten (auch innerhalb Containern) im Spieler.
+ Der Gegner wird hierbei nur einmal informiert, also bei letzteren
+ Faellen herausgefiltert, falls noetig!
+ Hauptaufgabe dieser Funktion ist es somit, auf Tode von Spielern zu
+ reagieren oder selbige einfach nur mitzuloggen.
+
+ Zu dem Zeitpunkt des Aufrufs dieser Funktion ist der Spieler noch _nicht_
+ Geist und noch _nicht_ im Todesraum - dies wird im Anschluss an den Aufruf
+ der NotifyPlayerDeath() durchgefuehrt.
+
+
+
+ Aufgerufen wird die Funktion aus '/std/player/life.c' mittels catch() und
+ werden mit limited() auf max. 150k (Gegner, Environment, Gilde) bzw. 80k
+ (alle anderen Objekte) Ticks beschraenkt.
+ Fehler in dieser Funktion haben somit keine negativen Auswirkungen
+ auf das Sterben des Spielers.
+
+
+RUeCKGABEWERT
+=============
+
+ keiner
+
+
+BEISPIELE
+=========
+
+ Folgendes Beispiel demonstriert beispielsweise, wie man Tode von
+ Spielern mitloggen kann (das Beispiel ist hierbei auf den am
+ haeufigsten auftretenden Fall bezogen, dass nur das toetende Objekt
+ den Tod protokollieren soll):
+
+ void NotifyPlayerDeath(object dead, object killer, int lost_exp)
+ {
+ if ( intp(lost_exp) && objectp(dead) && objectp(killer) &&
+ killer==this_object() )
+ write_file( "/log/patryn/dead", sprintf(
+ "%s - %s von %s getoetet. XP: -%d", ctime(), getuid(dead),
+ killer->name(WEM), lost_exp) );
+ }
+
+ Bitte beachten: write_file() schreibt ohne Groessenbegrenzung in das
+ Logfile. Da dies auf Dauer bzw. in Gebieten mit hoher Log-Aktivitaet
+ zu Logfiles von enormer Groesse fuehren kann, ist die Verwendung
+ von write_file() nicht empfehlenswert. Ausnahmen koennen natuerlich
+ mit dem zustaendigen Regionsmagier abgesprochen werden, z.B. fuer
+ begrenzte Anwendung etwa bei sehr starken, selten besiegten Gegnern.
+
+ Weiterhin ist es empfehlenswert, das toetende Objekt (killer) nicht
+ im NotifyPlayerDeath() zu zestoeren, sondern etwas zeitversetzt,
+ damit nicht etwa im nachfolgenden NotifyPlayerDeath() eines anderen
+ Objektes (s.o. Reihenfolge) killer==0 ist.
+
+
+SIEHE AUCH
+==========
+
+ Defend(), do_damage(), NotifyHpChange(), catch(), write_file(), log_file()
+ P_LAST_DEATH_PROPS
+
+24.03.2012, Zesstra