blob: e280cabaaccc5dc1a64b5077eefd2d492443893c [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001create_default_npc()
2====================
3
4FUNKTION
5--------
6::
7
8 varargs void create_default_npc( int level, int maxhp );
9
Bugfix0da89952021-01-30 21:59:31 +010010DEFINIERT IN
11------------
Zesstra18626972017-01-31 10:38:27 +010012::
13
Bugfix0da89952021-01-30 21:59:31 +010014 /std/npc.c
15 /sys/npc.h
Zesstra18626972017-01-31 10:38:27 +010016
17FUNKTION
18--------
19::
20
21 Setze die Daten eines Monsters auf einen gewissen Level.
22
23 Der Level sollte zwischen 1 und 20 liegen. Die Stats werden auf diesen
24 Level gesetzt und mehrere andere Werte, so dass das Monster von der
25 Staerke her einem Spieler gleichen Levels entspricht.
26
27 Wird der (optionale) Parameter maxhp weggelassen, wird dieser berechnet
28 nach:
29 maxhp = 42 + 8 * level
30
31 Die genauen Werte sind:
32 P_LEVEL : level
33 P_MAX_HP: maxhp
34 P_MAX_SP: maxhp
35 P_HANDS : 10 * level
36 P_BODY : (20/3) * level
37 P_XP : 50 * level * maxhp (== 5 * P_HANDS * max_hp)
38
39 A_STR, A_INT, A_DEX, A_CON : level
40
41BEMERKUNG
42---------
43::
44
45 Diese Funktion sollte nur im create() eines Monsters benutzt werden.
46 Oben beschriebene Werte, die vor dem Aufruf der Funktion gesetzt
47 wurden, werden durch die neuen Werte ersetzt.
48
49 Ab einem Aufruf mit Level 20 werden P_XP = 202000 gesetzt, also ein
Arathorn41004de2020-10-18 22:03:28 +020050 Kill-Stups vergeben (siehe P_XP).
51
52 P_HP und P_SP werden auf dieselben Werte wie P_MAX_HP bzw. P_MAX_SP
53 eingestellt.
Zesstra18626972017-01-31 10:38:27 +010054
Arathorn3696a032021-01-23 15:42:10 +010055 Die Attribute werden ueber SetAttr() gesetzt und damit auf 20 limitiert.
56 Sollen hoehere Attribute als 20 gesetzt werden, ist im Anschluss an
57 den Aufruf von create_default_npc() P_ATTRIBUTES direkt zu setzen.
58
59
Zesstra18626972017-01-31 10:38:27 +010060BEISPIEL
61--------
62::
63
64 create_default_npc(17) ergibt:
65
66 P_LEVEL : 17
67 P_MAX_HP: 178
68 P_MAX_SP: 178
69 P_HANDS : 170
70 P_BODY : 113
71 P_XP : 151300
72
73 A_STR, A_INT, A_DEX, A_CON : 17
74
75SIEHE AUCH
76----------
77::
78
79 Funktionen: AddExp(), GiveKillScore()
80 Properties: P_XP
Arathorn3696a032021-01-23 15:42:10 +010081 P_LEVEL, P_MAX_HP, P_MAX_SP, P_HANDS, P_BODY, P_ATTRIBUTES
Zesstra18626972017-01-31 10:38:27 +010082 Sonstiges: npcs
83
8414.Feb 2007 Gloinson
85