NAME:
    P_M_ATTR_MOD                  "magic_attributes_modifier"

DEFINIERT IN:
    /sys/living/attributes.h

BESCHREIBUNG:
    Mapping, das die Attribute des Spielers veraendert, der diese Ruestung
    bzw. Waffe traegt bzw. benutzt.

    Zu beachten:
    P_M_ATTR_MOD kann problemlos durch ein SetProp() gesetzt werden. Es wird
    nur dann beruecksichtigt, wenn die Ruestung/Waffe getragen/benutzt wird.
    Beim Tragen/Ausziehen/Zuecken/Wegstecken wird im Spieler automatisch
    UpdateAttributes() aufgerufen.

    Fuer Krankheiten etc. oder Objekte, deren *Besitz* allein schon die
    Attribute veraendern sollen, verwendet man besser P_X_ATTR_MOD.

    P_X_ATTR_MOD und P_M_ATTR_MOD duerfen einen gemeinsamen kumulierten
    positiven Grenzwert nicht ueberschreiten. Dieser Grenzwert,
    CUMULATIVE_ATTR_LIMIT, ist in /sys/living/attributes.h definiert.

BEMERKUNGEN:
    Die Werte sollten moeglichst nicht dynamisch geaendert werden.
    Wenn doch, muss mit TestLimitViolation() am Spieler auf Validitaet
    geprueft und ggf. mit UpdateAttributes() an ihm upgedatet werden.

BEISPIELE:
    // Dem Spieler, der das Objekt benutzt, wird 2 von A_INT abgezogen und
    // dafuer 1 auf A_STR aufaddiert.
    SetProp(P_M_ATTR_MOD, ([A_INT:-2, A_STR:1]) );

SIEHE AUCH:
    QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
    SetAttribute(), SetRealAttribute(), UpdateAttributes(),
    SetTimedAttrModifier(), QueryTimedAttrModifier(),
    DeleteTimedAttrModifier(),
    P_X_HEALTH_MOD, P_M_HEALTH_MOD, P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS,
    P_TIMED_ATTR_MOD, P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c

02.02.2016, Gloinson
