blob: 14ab9a4164f4e9fc657e8987fc28b920e94b76e2 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2P_X_ATTR_MOD
3************
4
5
6NAME
7====
8
9 P_X_ATTR_MOD "extern_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 das Objekt bei
22 sich hat.
23
24 Zu beachten:
25 Diese Property bitte _ausschliesslich_ mit SetProp aendern, weil damit
26 gleichzeitig UpdateAttributes() im Lebewesen aufgerufen und ggf. das
27 Objekt als Statmodifizierer registriert wird.
28
29 Diese Property ist fuer Krankheiten, Flueche etc. gedacht. Bei
30 Waffen/Ruestungen, die die Attribute beeinflussen sollen, verwendet
31 man besser P_M_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 Methode /std/thing/restrictions::_set_extern_attributes_modifier()
42 benachrichtigt tragende Livings ueber Aenderungen.
43 Bitte beim "Loeschen" der Prop nicht den Wert des jew. Attributes im
44 uebergebenen Mapping als 0 uebergeben, sondern das Key/Werte-Paar ganz
45 entfernen und bzw. ein leeres Mapping oder 0 uebergeben.
46
47
48BEISPIEL
49========
50
51 // Dem Lebewesen, das das Objekt bei sich hat, wird 2 von A_INT abgezogen
52 SetProp(P_X_ATTR_MOD,([A_INT:-2]));
53
54 // Stats wiederherstellen:
55 SetProp(P_X_ATTR_MOD,([]));
56
57
58SIEHE AUCH
59==========
60
61 QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
62 SetAttribute(), SetRealAttribute(), UpdateAttributes(),
63 SetTimedAttrModifier(), QueryTimedAttrModifier(),
64 DeleteTimedAttrModifier(),
65 P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
66 P_TIMED_ATTR_MOD, P_M_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
67
6802.02.2016, Gloinson