
P_M_ATTR_MOD
************


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
