
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
