SpellSuccess()
FUNKTION:
    int SpellSuccess(object caster, mapping sinfo)

DEFINIERT IN:
    /std/spellbook.c

ARGUMENTE:
    object caster    Spell sprechender Spieler
    mapping sinfo    Spell-Info-Mapping mit allen Informationen

BESCHREIBUNG:
    Berechnet den Erfolg der Anwendung eines Spells aus seiner
    SI_SKILLABILITY und dem Skill SK_CASTING im Spieler. Laesst
    den Spieler bei besonders gutem Gelingen SK_CASTING lernen.

BEMERKUNGEN:
    SK_CASTING muss fuer die SK_CASTING-Boni beherrscht werden.
    Das ist zB im Klerus ab bestimmtem Level der Fall.

SIEHE AUCH:
    Spellbook Lernen: Learn, 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