Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 1 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 2 | create_default_npc() |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 3 | ******************** |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 4 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 5 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 6 | FUNKTION |
| 7 | ======== |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 8 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 9 | varargs void create_default_npc( int level, int maxhp ); |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 10 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 11 | |
Arathorn | 4575fbe | 2021-02-28 14:44:30 +0100 | [diff] [blame] | 12 | DEFINIERT IN |
| 13 | ============ |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 14 | |
Arathorn | 4575fbe | 2021-02-28 14:44:30 +0100 | [diff] [blame] | 15 | /std/npc.c |
| 16 | /sys/npc.h |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 17 | |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 18 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 19 | FUNKTION |
| 20 | ======== |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 21 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 22 | Setze die Daten eines Monsters auf einen gewissen Level. |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 23 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 24 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 27 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 28 | Wird der (optionale) Parameter maxhp weggelassen, wird dieser berechnet |
| 29 | nach: |
| 30 | maxhp = 42 + 8 * level |
MG Mud User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 31 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 32 | 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 User | 88f1247 | 2016-06-24 23:31:02 +0200 | [diff] [blame] | 39 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 40 | A_STR, A_INT, A_DEX, A_CON : level |
| 41 | |
| 42 | |
| 43 | BEMERKUNG |
| 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 |
Arathorn | 41004de | 2020-10-18 22:03:28 +0200 | [diff] [blame] | 51 | 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. |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 55 | |
Arathorn | 3696a03 | 2021-01-23 15:42:10 +0100 | [diff] [blame] | 56 | 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 | |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 60 | |
| 61 | BEISPIEL |
| 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 | |
| 76 | SIEHE AUCH |
| 77 | ========== |
| 78 | |
| 79 | Funktionen: AddExp(), GiveKillScore() |
| 80 | Properties: P_XP |
Arathorn | 3696a03 | 2021-01-23 15:42:10 +0100 | [diff] [blame] | 81 | P_LEVEL, P_MAX_HP, P_MAX_SP, P_HANDS, P_BODY, P_ATTRIBUTES |
Zesstra | 953f997 | 2017-02-18 15:37:36 +0100 | [diff] [blame] | 82 | Sonstiges: npcs |
| 83 | |
| 84 | 14.Feb 2007 Gloinson |