DeleteTimedAttrModifier()
*************************


FUNKTION
========

   int DeleteTimedAttrModifier(string key)


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

   /std/living/attributes.c


ARGUMENTE
=========

   key        -       aus P_TIMED_ATTR_MOD zu loeschender Eintrag


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

   Der zu key gehoerende Eintrag in P_TIMED_ATTR_MOD wird geloescht und
   update_max_sp_and_hp ausgefuehrt.


RUeCKGABEWERT
=============

   TATTR_INVALID_ARGS      -     Im Falle eines fehlenden key-Arguments
   TATTR_NO_SUCH_MODIFIER  -     Falls der Modifier mit diesem Key nicht
                                 existiert
   TATTR_OK                -     Im Erfolgsfall



   Die Rueckgabewerte sind in /sys/living/attributes.h definiert.


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

   QueryAttribute(), QueryRealAttribute(), QueryAttributeOffset(),
   SetAttribute(), SetRealAttribute(), UpdateAttributes(),
   SetTimedAttrModifier(), QueryTimedAttrModifier(),
   P_ATTRIBUTES, P_ATTRIBUTES_OFFSETS, P_TIMED_ATTR_MOD,
   P_X_ATTR_MOD, P_M_ATTR_MOD, /std/living/attributes.c

Last modified: Tue Jul 27 20:00:20 2004 by Muadib
