Learn()
FUNKTION:
    void Learn(object caster, string spell, mapping sinfo)

DEFINIERT IN:
    /std/spellbook.c

ARGUMENTE:
    object caster   Derjenige, der den Spruch spricht.
    string spell    Der gesprochene Spell
    mapping sinfo   Mapping mit allen moeglichen Informationen zum Spell

BESCHREIBUNG:
    Diese Funktion wird von der Funktion "Misserfolg" aus dem 
    Spellbook aufgerufen. Hier lernt der Spieler den Spruch, der 
    nicht geglueckt ist.

BEMERKUNGEN:
    Kann auch ueberschrieben werden, wenn man komplexe Lern-Aenderungen
    vornehmen will. Andere Attribute sind ueber SI_LEARN_ATTRIBUTE
    setzbar.

SIEHE AUCH:
    Spellbook Lernen: SpellSuccess, Erfolg, Misserfolg
    * Verwalten:      AddSpell, QuerySpell
    * Angriff:        TryAttackSpell, TryDefaultAttackSpell,
                      TryGlobalAttackSpell
    * Properties:     P_GLOBAL_SKILLPROPS, P_SB_SPELLS
    Skills Lernen:    LearnSkill, ModifySkill, LimitAbility
    * Nutzung:        UseSpell, UseSkill
    * sonstig:        spruchermuedung, skill_info_liste

5. Okt 2011 Gloinson