SpellInform()
*************


FUNKTION
========

   void SpellInform(caster,spell,sinfo);


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

   selber zu definieren


ARGUMENTE
=========

   pl
     Das Lebewesen, das erfolgreich gezaubert hat.
   spell
     Der Name des gezauberten Spells
   sinfo
     Das komplette Spellmapping des gezauberten Spells


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

   Diese Funktion wird vom Spellbuch einer Gilde in der Umgebung
   (Environment) eines Lebewesens aufgerufen, wenn immer das Lebewesen
   einen Spell _erfolgreich_ gezaubert hat.
   Bemerkung: Bitte vermeiden, aufwaendige Sachen in der Funktion zu
   machen, da sonst u.U. deswegen Gilden anfangen zu buggen. Falls es
   sein muss, macht dann lieber einen call_out mit 2s Wartezeit.


RUeCKGABEWERT
=============

   keiner


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

   ----------------------------------------------------------------------------

16.04.2007, Zesstra
