DeleteSpellFatigue()
====================

FUNKTION
--------
::

    public void DeleteSpellFatigue(string key)

DEFINIERT IN
------------
::

    /std/living/skills.c
    /std/player/skills.c
    /sys/living/skills.h

ARGUMENTE
---------
::

    string key  : Eindeutiger Name des Spruches, einer Gruppe von Spruechen
                  oder 0 fuer die globale Spruchermuedung.

BESCHREIBUNG
------------
::

    Diese Funktion dient zum Loeschen von individuellen Spruchermuedungen
    (Spellfatigue, Spruchsperren).

    Ist <key> 0, wird die globale Spruchsperre geloescht (identisch zu der
    Property P_NEXT_SPELL_TIME), anderenfalls die unter <key> gespeicherte
    Spruchermuedung.
    Loescht man einen Eintrag 0 ist das Ergebnis dieser Funktion identisch zum
    Loeschen/Nullen von P_NEXT_SPELL_TIME.

BEMERKUNGEN
-----------
::

    Spruchsperren (insb. fremde) duerfen nicht ohne weiteres geloescht oder
    geaendert werden. Dieses bedarf grundsaetzlich der Genehmigung durch die
    Gildenbalance!

SIEHE AUCH
----------
::

    SetSpellFatigue(L), CheckSpellFatigue(L)
    P_NEXT_SPELL_TIME
    spruchermuedung


27.03.2010, Zesstra

