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


FUNKTION
========

   varargs void create_default_npc( int level, int maxhp );


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

   /std/npc.c
   /sys/npc.h


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-Stups vergeben (siehe P_XP).

   P_HP und P_SP werden auf dieselben Werte wie P_MAX_HP bzw. P_MAX_SP
   eingestellt.

   Die Attribute werden ueber SetAttr() gesetzt und damit auf 20 limitiert.
   Sollen hoehere Attribute als 20 gesetzt werden, ist im Anschluss an
   den Aufruf von create_default_npc() P_ATTRIBUTES direkt zu setzen.


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, P_ATTRIBUTES
   Sonstiges:   npcs

14.Feb 2007 Gloinson
