heal_self()
===========

FUNKTION
--------
::

    void heal_self(int points);

ARGUMENTE
---------
::

    points: Die dem Lebewesen zukommende Heilung.

BESCHREIBUNG
------------
::

    Dem Lebewesen werden points Lebens- und Konzentrationspunkte 
    gutgeschrieben und auf die aktuellen addiert. Es werden aber nicht
    die maximalen Werte ueberschritten.

RUECKGABEWERT
-------------
::

    Keiner

BEISPIELE
---------
::

    

    AddCmd("pflueck&beere","pfluecke_cmd","Was moechtest Du pfluecken?");

    int pfluecke_cmd(string str){
        write("Du pflueckst eine Beere, isst sie und fuehlst Dich gleich "
             +"viel besser.\n");
        this_player()->heal_self(30);
        return 1;
    }

    Der Spieler bekommt hier pro Beere die er pflueckt und isst je 30 LP/KP
    zu seinen momentanen.

BEMERKUNGEN: 
    heal_self wird gerne fuer Heilstellen in Gebieten genommen, in denen ein
    Spieler diese Heilung auch wirklich braucht. Dennoch ist der Einsatz un-
    bedingt mit der Heilungsbalance abzusprechen und darauf zu achten, dass
    pro reset() nur eine bestimmte Anzahl an Heilungen ausgegeben werden.

    Bei Heilstellen sollte eine evtl. Heilung des Spielers mit der eigens
    dafuer eingerichteten Funktion check_and_update_timed_key realisiert
    werden.

SIEHE AUCH
----------
::

    Verwandt:   restore_spell_points, restore_hit_points, buffer_hp
		buffer_sp, check_and_update_timed_key
    Gegenparts: do_damage, reduce_hit_points, reduce_spell_points
    Props:      P_HP, P_SP
    Konzept:    heilung


Last modified: 27.05.2007 by Ennox

