deregister_modifier()
*********************


FUNKTION
========

   void deregister_modifier(object modifier)


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

   /std/living/attributes.c


PARAMETER
=========

   modifier   - Objekt mit P_X_ATTR_MOD oder P_M_ATTR_MOD


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

   Meldet einen Modifier im Spieler ab. Wird durch RemoveSensitiveObject
   beziehungsweise beim Ausziehen oder Wegstecken gerufen.
   Muss nicht direkt gerufen werden. Bei Veraenderungen von Modifikatoren
   sollte stattdessen UpdateAttributes gerufen werden.


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

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

13.Jun.2004, Muadib
