
create_default_npc()
********************


FUNKTION
========

   varargs void create_default_npc( int level, int maxhp );


BENUTZUNG
=========

   inherit "std/npc";


FUNKTION
========

   Setze die Daten eines Monsters auf einen gewissen Level.

   Der Level sollte zwischen 1 und 20 liegen. Die Stats werden auf diesen
   Level gesetzt und mehrere andere Werte, so dass das Monster von der
   Staerke her einem Spieler gleichen Levels entspricht.

   Wird der (optionale) Parameter maxhp weggelassen, wird dieser berechnet
   nach:
        maxhp = 42 + 8 * level

   Die genauen Werte sind:
        P_LEVEL : level
        P_MAX_HP: maxhp
        P_MAX_SP: maxhp
        P_HANDS : 10 * level
        P_BODY  : (20/3) * level
        P_XP    : 50 * level * maxhp (== 5 * P_HANDS * max_hp)

        A_STR, A_INT, A_DEX, A_CON : level


BEMERKUNG
=========

   Diese Funktion sollte nur im create() eines Monsters benutzt werden.
   Oben beschriebene Werte, die vor dem Aufruf der Funktion gesetzt
   wurden, werden durch die neuen Werte ersetzt.

   Ab einem Aufruf mit Level 20 werden P_XP = 202000 gesetzt, also ein
   Kill-Stup vergeben (siehe P_XP).


BEISPIEL
========

   create_default_npc(17) ergibt:

        P_LEVEL : 17
        P_MAX_HP: 178
        P_MAX_SP: 178
        P_HANDS : 170
        P_BODY  : 113
        P_XP    : 151300

        A_STR, A_INT, A_DEX, A_CON : 17


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

   Funktionen:  AddExp(), GiveKillScore()
   Properties:  P_XP
                P_LEVEL, P_MAX_HP, P_MAX_SP, P_HANDS, P_BODY
   Sonstiges:   npcs

14.Feb 2007 Gloinson
