blob: ab9f24d5b2b1176c27d7c38b00ce88ea71b39078 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2P_ATTRIBUTES_MODIFIER
3*********************
4
5
6NAME
7====
8
9 P_ATTRIBUTES_MODIFIER "attributes_modifier"
10
11
12DEFINIERT IN
13============
14
15 /sys/living/attributes.h
16
17
18BESCHREIBUNG
19============
20
21 In dieser Property werden Attribut-Modifikatoren gespeichert, die
22 laengere Zeit wirksam sein sollen, tlw. auch ueber einen Reboot
23 hinweg.
24 Intern werden die Modifikatoren in einem Mapping der Form
25
26 ([ Setzer-Key : ([ A_xy : Wert, ... ]) , ... ])
27
28 gespeichert. Das Setzen folg hingegen in der Form
29
30 spieler->SetProp(P_ATTRIBUTES_MODIFIER, ([ A_xy : Wert, ... ]));
31 oder
32 spieler->SetProp(P_ATTRIBUTES_MODIFIER, ({ Setzer-Key, ([ ... ]) }));
33
34 Bei der ersten Variante wird hierbei der Filename des setzenden Objektes
35 als Setzer-Key genommen.
36 Es koennen also durchaus von mehreren Objekten Modifier gesetzt werden.
37 Bekannte Modifier sind:
38
39 #death Attribut-Abzug durch Todesfolgen (Mudlib)
40 #drain Statabzug durch NPCs (Paracelsus)
41 #frosch Staerken-Abzug bei Froeschen (Mudlib)
42
43
44BEMERKUNGEN
45===========
46
47 Keine echte Property, _query_attributes_modifier() und
48 _set_attributes_modifier() sind in /std/living/attributes.c
49 implementiert
50 - SetProp/QueryProp nutzen!
51 - Wenn ein Modifier nicht mehr gebracht wird, nicht die Attributswerte auf
52 0 setzen, sondern den ganzen Eintrag! also:
53 SetProp(P_ATTRIBUTES_MODIFIER, ([]) );
54 oder: SetProp(P_ATTRIBUTES_MODIFIER, 0 );
55 aber nicht: SetProp(P_ATTRIBUTES_MODIFIER, ([A_STR:0]));
56
57
58BEISPIELE
59=========
60
61 // ein Bonus ... 'ende'-fest (muss also per uid gesichert werden)
62 player->SetProp(P_ATTRIBUTES_MODIFIER,
63 ({"g_klerus_segen", ([A_CON:5, A_INT:5])}));
64 ...
65 player->SetProp(P_ATTRIBUTES_MODIFIER, ({"g_klerus_segen", 0}));
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_TIMED_ATTR_MOD,
76 P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
77
78Last modified: Tue Jul 27 20:00:20 2004 by Muadib