Lpc Manpages

NAME:
    P_ATTRIBUTES                     "attributes"

DEFINIERT IN:
    /sys/living/attributes.h

BESCHREIBUNG:
    Diese Property enthaelt ein Mapping mit den Attributen eines Lebewesens.
    Die Schluessel kennzeichnen hierbei das jeweilige Attribut. Die
    verschiedenen Standardattribute findet man in /sys/living/attributes.h,
    die derzeit folgende Moeglichkeiten bieten:
      - A_STR (Kraft)
      - A_INT (Intelligenz)
      - A_DEX (Geschick)
      - A_CON (Ausdauer)
    Sie werden automatisch an verschiedenen Stellen in der MUDLib ausgewertet,
    z.B. bestimmt A_INT die maximal moeglichen Magiepunkte und A_CON die
    maximal moeglichen Lebenspunkte.

BEMERKUNGEN:
    Keine echte Property, _query_attributes() und _set_attributes() sind 
    in /std/living/attributes.c implementiert.

    Es bietet sich an, zum Erfragen der Attributwerte die Funktion
    QueryAttribute() zu nutzen, da es auch moegliche Offsets gibt, so z.B.
    ueber die Properties P_ATTRIBUTES_OFFSETS bzw. P_ATTRIBUTES_MODIFIER im
    Lebewesen selbst, oder auch ueber P_X_ATTR_MOD bzw. P_M_ATTR_MOD in
    Objekten im Lebewesen.
    Kurzfristige zeit- und/oder objektgebundene Attributsveraenderungen
    koennen ueber SetTimedAttrModifier() realisiert werden.

    Es gibt auch zahlreiche andere Funktionen fuer diesen sehr kritischen
    Bereich (s.u.).

BEISPIELE:
    Das Ergebnis fuer einen frischen Level-1-Oger waere:
     OGER->QueryProp(P_ATTRIBUTES); -> (["int":1,"con":1,"str":1,"dex":1])

    Hinzukommen ggf. moegliche Rassenboni, die mittels P_ATTRIBUTE_OFFSETS
    realisiert werden. Oger sind beispielsweise ziemlich bloede, aber recht
    ausdauernd und sehr stark:
     OGER->QueryProp(P_ATTRIBUTES_OFFSETS); ->
                                      (["int":-3,"con":6,"str":7,"dex":-2])

    Moechte man die Summe aus Basis-Attributen und Rassenboni ablesen, nimmt
    man idealerweise QueryAttribute() dazu. Dann bekaeme man (sofern keine
    weiteren Offsets realisiert sind) z.B. fuer die kumulierte Kraft eines
    Level-1-Ogers:
     OGER->QueryAttribute(A_STR); -> 8


SIEHE AUCH:
    Attributsbasis  : QueryAttribute, SetAttribute, QueryRealAttribute,
                      SetRealAttribute

    Attributsboni   : P_ATTRIBUTES_OFFSETS, QueryAttributeOffset

    temporaere
     Attribute      : P_ATTRIBUTES_MODIFIER, SetTimedAttrModifier,
                      QueryTimedAttrModifier, DeleteTimedAttrModifier,
                      NotifyTimedAttrModExpired

    objektgebundene
     Attributs-Mod. : P_M_ATTR_MOD, P_X_ATTR_MOD

    objektgebundene
     LP/MP-Modifier : P_M_HEALTH_MOD, P_X_HEALTH_MOD

    Intern          : P_TIMED_ATTR_MOD, UpdateAttributes

----------------------------------------------------------------------------
01.12.17, Torin