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