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