Manpages als reStructuredText erstellt
Unsere Manpages wurden mit einem LPC-Tool in
reStructuredText konvertiert und liegen jetzt
in diesem Verzeichnis als Quelldaten.
Aus diesen reStructuredText sollen dann per
Script die ASCII-Manpages und per Sphinx HTML u.a.
erzeugt werden.
Change-Id: I75d659a7b3f9863aecb11dbeb0037e6cae227c36
diff --git a/doc/sphinx/lfun/SetTimedAttrModifier.rst b/doc/sphinx/lfun/SetTimedAttrModifier.rst
new file mode 100644
index 0000000..17b2d9f
--- /dev/null
+++ b/doc/sphinx/lfun/SetTimedAttrModifier.rst
@@ -0,0 +1,114 @@
+SetTimedAttrModifier()
+======================
+
+FUNKTION
+--------
+::
+
+ int SetTimedAttrModifier(string key, mapping modifier,
+ int outdated, object dependent, mixed notify)
+
+DEFINIERT IN
+------------
+::
+
+ /std/living/attributes.c
+
+ARGUMENTE
+---------
+::
+
+ key - in P_TIMED_ATTR_MOD vorzunehmender oder zu
+ aendernder Eintrag
+ modifier - Mapping mit den Attributveraenderungen
+ outdated - Zeitpunkt zu dem die Attributveraenderungen
+ ablaufen sollen in Sekunden seit dem
+ 1. Jan 1970, 0.0:0 GMT oder 0
+ dependent - Objekt dessen Existenz eine Bedingung fuer die
+ Attributveraenderung sein soll oder 0
+ notify - Objekt oder File das mittels
+ NotifyTimedAttrModExpired ueber
+ den Attributablauf informiert werden soll
+
+BESCHREIBUNG
+------------
+::
+
+ Der zu key gehoerende Eintrag wird in P_TIMED_ATTR_MOD angelegt oder
+ modifiziert und update_max_sp_and_hp aufgerufen.
+ Es empfiehlt sich auf die Eindeutigkeit des string-Parameters key
+ besonderes Augenmerk zu legen.
+
+ Unter dem Key key wird in P_TIMED_ATTR_MOD ein Eintrag vorgenommen,
+ welcher die Attribute des Livings um die in modifier stehenden Offsets
+ veraendert.
+
+ Diese Veraenderung ist solange aktiv bis entweder die in outdated
+ stehende Zeit ueberschritten ist oder das in dependent uebergebene
+ Objekt nicht mehr existiert.
+ Sind beide Argumente 0 so laeuft die Attributveraenderung nicht ab
+ und kann durch DeleteTimedAttrModifier geloescht werden.
+ Laeuft die Attributveraenderung ab, so wird der in notify angegebene
+ Empfaenger mittels Aufruf NotifyTimedAttrModExpired davon
+ benachrichtigt.
+ Der Funktion NotifyTimedAttrModExpired wird als Argument der key
+ der abgelaufenen Attributveraenderung uebergeben.
+
+BEISPIELE
+---------
+::
+
+ Ein NPC kann einen Spieler auf die folgende Weise solange die
+ Attribute um eins herabsetzen bis entweder eine Stunde verstrichen
+ ist oder der NPC nicht mehr existiert zum Beispiel weil er getoetet
+ wurde.
+
+ player->SetTimedAttrModifier( player->query_real_name(),
+ ([A_STR:-1,A_INT:-1,A_DEX:-1,A_CON:-1]),
+ time()+3600,
+ this_object(),
+ this_object()
+ );
+
+ Will der NPC nun noch darauf reagieren, dass die Attributmodifikation
+ durch Timeout abgelaufen ist, so koennte dies folgendermassen geschehen.
+
+ void NotifyTimedAttrModExpired(string str)
+ {
+ // Die Funktion wird aus dem Lebewesen gerufen, in welchem der Mod
+ // gerade abgelaufen ist. Also Meldungsausgabe an
+ // previous_object().
+ tell_object(previous_object()
+ ,"Da hast Du aber nochmal Glueck gehabt.\n");
+ }
+
+RUeCKGABEWERT
+-------------
+::
+
+ TATTR_INVALID_ARGS - Im Falle eines fehlenden key-Arguments,
+ eines fehlenden modifier-Arguments oder
+ eines bereits abgelaufenen
+ outdatet-Arguments
+ TATTR_OK - Im Erfolgsfall
+
+ Die Rueckgabewerte sind in /sys/living/attributes.h definiert.
+
+SIEHE AUCH
+----------
+::
+
+ Attribute: QueryAttribute(), SetAttribute()
+ SetRealAttribute(), QueryRealAttribute(),
+ QueryAttributeOffset(),
+ UpdateAttributes()
+ Methoden: QueryTimedAttrModifier(), DeleteTimedAttrModifier()
+ Callback: NotifyTimedAttrModExpired()
+ Properties: P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS
+ P_X_ATTR_MOD, P_M_ATTR_MOD
+ P_TIMED_ATTR_MOD
+ Sonstiges: /std/living/attributes.c
+
+LETZTE Aenderung:
+15.02.2009, Zesstra
+