Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 1 | create_default_npc() |
| 2 | ==================== |
| 3 | |
| 4 | FUNKTION |
| 5 | -------- |
| 6 | :: |
| 7 | |
| 8 | varargs void create_default_npc( int level, int maxhp ); |
| 9 | |
Bugfix | 0da8995 | 2021-01-30 21:59:31 +0100 | [diff] [blame] | 10 | DEFINIERT IN |
| 11 | ------------ |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 12 | :: |
| 13 | |
Bugfix | 0da8995 | 2021-01-30 21:59:31 +0100 | [diff] [blame] | 14 | /std/npc.c |
| 15 | /sys/npc.h |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 16 | |
| 17 | FUNKTION |
| 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 | |
| 41 | BEMERKUNG |
| 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 |
Arathorn | 41004de | 2020-10-18 22:03:28 +0200 | [diff] [blame] | 50 | 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. |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 54 | |
Arathorn | 3696a03 | 2021-01-23 15:42:10 +0100 | [diff] [blame] | 55 | 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 | |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 60 | BEISPIEL |
| 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 | |
| 75 | SIEHE AUCH |
| 76 | ---------- |
| 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 | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 82 | Sonstiges: npcs |
| 83 | |
| 84 | 14.Feb 2007 Gloinson |
| 85 | |