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

