NotifyXMAttrModLimitViolation()
*******************************


FUNKTION
========

   void NotifyXMAttrModLimitViolation()


DEFINIERT IN
============

   /std/thing/restrictions.c


BESCHREIBUNG
============

   Wird gerufen wenn die Summe der in P_X_ATTR_MOD oder P_X_ATTR_MOD
   angegebenen Modifikatoren die Summe aller Modifikatoren im Spieler
   ueber den zugelassenen Grenzwert hebt und somit nicht mehr in die
   Berechnung eingeht.


SIEHE AUCH
==========

   QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
   SetAttr(), SetAttribute(), SetRealAttribute(), UpdateAttributes(),
   P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_ATTRIBUTES_MODIFIER,
   P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c

13.Jun.2004, Muadib
