blob: f2294ede149abdccaedd48362db778b102677e03 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
MG Mud User88f12472016-06-24 23:31:02 +02002create_default_npc()
Zesstra953f9972017-02-18 15:37:36 +01003********************
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 varargs void create_default_npc( int level, int maxhp );
MG Mud User88f12472016-06-24 23:31:02 +020010
MG Mud User88f12472016-06-24 23:31:02 +020011
Arathorn4575fbe2021-02-28 14:44:30 +010012DEFINIERT IN
13============
MG Mud User88f12472016-06-24 23:31:02 +020014
Arathorn4575fbe2021-02-28 14:44:30 +010015 /std/npc.c
16 /sys/npc.h
MG Mud User88f12472016-06-24 23:31:02 +020017
MG Mud User88f12472016-06-24 23:31:02 +020018
Zesstra953f9972017-02-18 15:37:36 +010019FUNKTION
20========
MG Mud User88f12472016-06-24 23:31:02 +020021
Zesstra953f9972017-02-18 15:37:36 +010022 Setze die Daten eines Monsters auf einen gewissen Level.
MG Mud User88f12472016-06-24 23:31:02 +020023
Zesstra953f9972017-02-18 15:37:36 +010024 Der Level sollte zwischen 1 und 20 liegen. Die Stats werden auf diesen
25 Level gesetzt und mehrere andere Werte, so dass das Monster von der
26 Staerke her einem Spieler gleichen Levels entspricht.
MG Mud User88f12472016-06-24 23:31:02 +020027
Zesstra953f9972017-02-18 15:37:36 +010028 Wird der (optionale) Parameter maxhp weggelassen, wird dieser berechnet
29 nach:
30 maxhp = 42 + 8 * level
MG Mud User88f12472016-06-24 23:31:02 +020031
Zesstra953f9972017-02-18 15:37:36 +010032 Die genauen Werte sind:
33 P_LEVEL : level
34 P_MAX_HP: maxhp
35 P_MAX_SP: maxhp
36 P_HANDS : 10 * level
37 P_BODY : (20/3) * level
38 P_XP : 50 * level * maxhp (== 5 * P_HANDS * max_hp)
MG Mud User88f12472016-06-24 23:31:02 +020039
Zesstra953f9972017-02-18 15:37:36 +010040 A_STR, A_INT, A_DEX, A_CON : level
41
42
43BEMERKUNG
44=========
45
46 Diese Funktion sollte nur im create() eines Monsters benutzt werden.
47 Oben beschriebene Werte, die vor dem Aufruf der Funktion gesetzt
48 wurden, werden durch die neuen Werte ersetzt.
49
50 Ab einem Aufruf mit Level 20 werden P_XP = 202000 gesetzt, also ein
Arathorn41004de2020-10-18 22:03:28 +020051 Kill-Stups vergeben (siehe P_XP).
52
53 P_HP und P_SP werden auf dieselben Werte wie P_MAX_HP bzw. P_MAX_SP
54 eingestellt.
Zesstra953f9972017-02-18 15:37:36 +010055
Arathorn3696a032021-01-23 15:42:10 +010056 Die Attribute werden ueber SetAttr() gesetzt und damit auf 20 limitiert.
57 Sollen hoehere Attribute als 20 gesetzt werden, ist im Anschluss an
58 den Aufruf von create_default_npc() P_ATTRIBUTES direkt zu setzen.
59
Zesstra953f9972017-02-18 15:37:36 +010060
61BEISPIEL
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
75
76SIEHE AUCH
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
Zesstra953f9972017-02-18 15:37:36 +010082 Sonstiges: npcs
83
8414.Feb 2007 Gloinson