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