blob: 1fae71a3c48b8e6652340a445cf6e34d4fc399ab [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
Zesstra953f9972017-02-18 15:37:36 +010012BENUTZUNG
13=========
MG Mud User88f12472016-06-24 23:31:02 +020014
Zesstra953f9972017-02-18 15:37:36 +010015 inherit "std/npc";
MG Mud User88f12472016-06-24 23:31:02 +020016
MG Mud User88f12472016-06-24 23:31:02 +020017
Zesstra953f9972017-02-18 15:37:36 +010018FUNKTION
19========
MG Mud User88f12472016-06-24 23:31:02 +020020
Zesstra953f9972017-02-18 15:37:36 +010021 Setze die Daten eines Monsters auf einen gewissen Level.
MG Mud User88f12472016-06-24 23:31:02 +020022
Zesstra953f9972017-02-18 15:37:36 +010023 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.
MG Mud User88f12472016-06-24 23:31:02 +020026
Zesstra953f9972017-02-18 15:37:36 +010027 Wird der (optionale) Parameter maxhp weggelassen, wird dieser berechnet
28 nach:
29 maxhp = 42 + 8 * level
MG Mud User88f12472016-06-24 23:31:02 +020030
Zesstra953f9972017-02-18 15:37:36 +010031 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)
MG Mud User88f12472016-06-24 23:31:02 +020038
Zesstra953f9972017-02-18 15:37:36 +010039 A_STR, A_INT, A_DEX, A_CON : level
40
41
42BEMERKUNG
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.
Zesstra953f9972017-02-18 15:37:36 +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
Zesstra953f9972017-02-18 15:37:36 +010059
60BEISPIEL
61========
62
63 create_default_npc(17) ergibt:
64
65 P_LEVEL : 17
66 P_MAX_HP: 178
67 P_MAX_SP: 178
68 P_HANDS : 170
69 P_BODY : 113
70 P_XP : 151300
71
72 A_STR, A_INT, A_DEX, A_CON : 17
73
74
75SIEHE AUCH
76==========
77
78 Funktionen: AddExp(), GiveKillScore()
79 Properties: P_XP
Arathorn3696a032021-01-23 15:42:10 +010080 P_LEVEL, P_MAX_HP, P_MAX_SP, P_HANDS, P_BODY, P_ATTRIBUTES
Zesstra953f9972017-02-18 15:37:36 +010081 Sonstiges: npcs
82
8314.Feb 2007 Gloinson