blob: d2794844e1d92dd5463210b5bdf19ff277ae5244 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2P_M_ATTR_MOD
3************
4
5
6NAME
7====
8
9 P_M_ATTR_MOD "magic_attributes_modifier"
10
11
12DEFINIERT IN
13============
14
15 /sys/living/attributes.h
16
17
18BESCHREIBUNG
19============
20
21 Mapping, das die Attribute des Spielers veraendert, der diese Ruestung
22 bzw. Waffe traegt bzw. benutzt.
23
24 Zu beachten:
25 P_M_ATTR_MOD kann problemlos durch ein SetProp() gesetzt werden. Es wird
26 nur dann beruecksichtigt, wenn die Ruestung/Waffe getragen/benutzt wird.
27 Beim Tragen/Ausziehen/Zuecken/Wegstecken wird im Spieler automatisch
28 UpdateAttributes() aufgerufen.
29
30 Fuer Krankheiten etc. oder Objekte, deren *Besitz* allein schon die
31 Attribute veraendern sollen, verwendet man besser P_X_ATTR_MOD.
32
33 P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten
34 positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert,
35 CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert.
36
37
38BEMERKUNGEN
39===========
40
41 Die Werte sollten moeglichst nicht dynamisch geaendert werden.
42 Wenn doch, muss mit TestLimitViolation() am Spieler auf Validitaet
43 geprueft und ggf. mit UpdateAttributes() an ihm upgedatet werden.
44
45
46BEISPIELE
47=========
48
49 // Dem Spieler, der das Objekt benutzt, wird 2 von A_INT abgezogen und
50 // dafuer 1 auf A_STR aufaddiert.
51 SetProp(P_M_ATTR_MOD, ([A_INT:-2, A_STR:1]) );
52
53
54SIEHE AUCH
55==========
56
57 QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
58 SetAttribute(), SetRealAttribute(), UpdateAttributes(),
59 SetTimedAttrModifier(), QueryTimedAttrModifier(),
60 DeleteTimedAttrModifier(),
61 P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
62 P_TIMED_ATTR_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
63
6402.02.2016, Gloinson