Erfolg()
********


FUNKTION
========

   void Erfolg(object caster, string spell, mapping sinfo)


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

   /std/spellbook.c


ARGUMENTE
=========

   object caster    Spell sprechender Spieler
   string spell     Spellname
   mapping sinfo    Spell-Info-Mapping mit allen Informationen


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

   Wird bei Erfolg eines Spells gerufen. Ruft SpellInform() am
   Environment.


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

   Sonstiges:        SpellInform
   Spellbook Lernen: Learn, SpellSuccess, 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
