
restore_spell_points()
**********************


FUNKTION
========

   void restore_spell_points(int points)


ARGUMENTE
=========

   points: Anzahl der Konzentrationspunkte die gutgeschrieben werden sollen.


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

   Dem Lebewesen werden points Konzentrationspunkte gutgeschrieben. Falls
   Punkte abgezogen werden sollen und das Lebewesen nicht ueber <points>
   Konzentrationspunkte verfuegt, werden sie auf 0 gesetzt.


RUECKGABEWERT
=============

   Keiner


BEISPIELE
=========

   write("Das boese boese Monster schaut Dich suess an und gibt dir mehr "
        +"Konzentration.\n");
   this_player()->restore_spell_points(50);


BEMERKUNGEN
===========

   Da das Benutzen der Funktion eine Heilung bedeutet, sollte man bei
   Verwendung auf jeden Fall Ruecksprache mit seinem RM nehmen, bzw
   die Heilstelle bei der Heilungsbalance genehmigen lassen.

   Bei Heilstellen sollte eine evtl. Heilung des Spielers mit der eigens
   dafuer eingerichteten Funktion check_and_update_timed_key realisiert
   werden.
   Ansonsten bitte buffer_sp() benutzen und die Konzeptseite lesen!


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

   Gegenpart:  reduce_spell_points(L)
   Verwandt:   buffer_sp(L), restore_hit_points(L)
   Props:      P_SP
   Konzept:    heilung

23.Feb.2004 Gloinson
