blob: fa7db3fbafef6180c60f55ec286e1486266032a8 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001
Zesstra953f9972017-02-18 15:37:36 +01002P_TIMED_ATTR_MOD
3****************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006NAME
7====
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 P_TIMED_ATTR_MOD "timed_attr_mod"
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /sys/living/attributes.h
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018BESCHREIBUNG
19============
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021 In dieser Property werden Attribut-Modifikatoren gespeichert, die
22 nicht ueber laengere Zeit wirksam sein sollen.
23 Die Wirksamkeit der Modifikatoren kann an Zeit und Objekte
24 gebunden werden.
MG Mud User88f12472016-06-24 23:31:02 +020025
Zesstra953f9972017-02-18 15:37:36 +010026 Intern werden die Modifikatoren in einer Datenstruktur der Form
27
28 ({
29 ({ Ablaufzeiten }),
30 ([ Key : Ablaufobjekt ]),
31 ([ Key : ([ Mapping mit den Modifikatoren ]);
32 Ablaufzeit ; Ablaufobjekt ; Nachrichtenempfaenger
33 ])
34 })
35
36 gespeichert mit:
37 * Ablaufzeiten: Zeit in Sekunden seit 1. Jan 1970, 0.0:0 GMT
38 * Ablaufobjekte: Objekte, an deren Existenz die Attribut-
39 veraenderungen gebunden sind
40 * Nachrichtenempfaenger:
41 Objekte/Klassen, welche ueber abgelaufene Attributveraenderung
42 durch den Aufruf von "NotifyTimedAttrModExpired" (mit key als
43 Argument) benachrichtigt werden.
44
45 Das Setzen der Werte erfolgt NUR ueber die Methoden SetTimedAttrModifier
46 und DeleteTimedAttrModifier.
47
48 Die Daten zu einem Key koennen ueber QueryTimedAttrModifier abgefragt
49 werden. Die Abfrage mittels QueryProp liefert eine Kopie der gueltigen
50 Datenstruktur, die per Query nicht (siehe Bemerkungen).
51
52 Die Bedingungen fuer die ueber P_TIMED_ATTR_MOD gesetzten
53 Attributveraenderungen werden im Heartbeat in der Funktion
54 attribute_hb ueberprueft. Eine verminderte Funktionalitaet im
55 Falle von Magiern ist somit kein Fehlerfall.
56
57
58BEMERKUNGEN
59===========
60
61 Keine echte Property. Die Methode _query_timed_attr_mod() in
62 /std/living/attributes.c stellt die Daten zusammen.
63
64 ACHTUNG: Bitte nur die bereitgestellten Methoden zur Manipulation
65 benutzen! Setzen als Property hat keinen Effekt.
66
67
68SIEHE AUCH
69==========
70
71 QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
72 SetAttribute(), SetRealAttribute(), UpdateAttributes(),
73 SetTimedAttrModifier(), QueryTimedAttrModifier(),
74 DeleteTimedAttrModifier(),
75 P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,
76 P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
77
MG Mud User88f12472016-06-24 23:31:02 +020078Last modified: Tue Jul 27 20:00:20 2004 by Muadib