blob: ed5dd1c58483fdb2dd12417a1f9cf6af37557f3c [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001
Zesstra953f9972017-02-18 15:37:36 +01002P_ATTRIBUTES
3************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006NAME
7====
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 P_ATTRIBUTES "attributes"
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Zesstra953f9972017-02-18 15:37:36 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 /sys/living/attributes.h
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017
18BESCHREIBUNG
19============
20
21 Diese Property enthaelt ein Mapping mit den Attributen des
22 Lebewesens. Die Schluessel kennzeichnen hierbei das jeweilige
23 Attribut. Die verschiedenen Standardattribute findet man in
24 /sys/living/attributes.h, welche derzeit folgende Moeglichkeiten
25 bieten: - A_STR (Kraft)
26 - A_INT (Intelligenz)
27 - A_DEX (Geschick)
28 - A_CON (Konstitution)
29 Sie werden automatisch an verschiedenen Stellen in der MUDLib
30 ausgewertet, zum Beispiel bestimmt A_INT die maximal moeglichen
31 Konzentrationspunkte und A_CON die maximal moeglichen Lebenspunkte.
32
33
34BEMERKUNGEN
35===========
36
37 Keine echte Property, _query_attributes() und _set_attributes() sind
38 in /std/living/attributes.c implementiert.
39
40 Es bietet sich an, zum Erfragen der Attributwerte die Funktion
41 QueryAttribute() zu nutzen, da es auch moegliche Offsets gibt,
42 so beispielsweise ueber die Properties P_ATTRIBUTES_OFFSETS bzw.
43 P_ATTRIBUTES_MODIFIER im Lebewesen selbst, oder auch ueber
44 P_X_ATTR_MOD bzw. P_M_ATTR_MOD in Objekten im Lebewesen.
45 Kurzfristige zeit- oder objektgebundene Attributveraenderungen
46 koennen ueber die Property P_TIMED_ATTR_MOD realisiert werden.
47
48 Es gibt auch zahlreiche andere Dienstfunktionen fuer diesen sehr
49 balancekritischen Bereich, siehe unten.
50
51
52BEISPIEL
53========
54
55 Ein moegliches Ergebnis fuer einen frischen Level 1 Spieler waere:
56 QueryProp(P_ATTRIBUTES);
57 Ergebnis: (["int":1,"con":1,"str":1,"dex":1])
58 Hinzu kommen eventuell moegliche Rassenboni, die mittels
59 P_ATTRIBUTE_OFFSETS realisiert werden, Zwerge sind beispielsweise
60 recht stark:
61 QueryProp(P_ATTRIBUTES_OFFSETS);
62 Ergebnis: (["int":1,"con":1,"str":1,"dex":3])
63 Jetzt bekaeme man (sofern keine weiteren Offsets realisiert sind)
64 mittels QueryAttribute() insgesamt:
65 QueryAttribute(A_DEX);
66 Ergebnis: 4
67
68
69SIEHE AUCH
70==========
71
72 QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
73 SetAttribute(), SetRealAttribute(), UpdateAttributes(),
74 SetTimedAttrModifier(), QueryTimedAttrModifier(),
75 DeleteTimedAttrModifier(),
76 P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,P_TIMED_ATTR_MOD,
77 P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c
78
MG Mud User88f12472016-06-24 23:31:02 +020079Last modified: Tue Jul 27 20:00:20 2004 by Muadib