Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 1 | buffer_hp() |
| 2 | =========== |
| 3 | |
| 4 | FUNKTION |
| 5 | -------- |
| 6 | :: |
| 7 | |
| 8 | int buffer_hp( int val, int rate ); |
| 9 | |
| 10 | DEFINIERT IN |
| 11 | ------------ |
| 12 | :: |
| 13 | |
| 14 | /std/living/life.c |
| 15 | |
| 16 | ARGUMENTE |
| 17 | --------- |
| 18 | :: |
| 19 | |
| 20 | val: Gesamte Heilung. |
| 21 | rate: LP-Rate. |
| 22 | |
| 23 | |
| 24 | |
| 25 | BESCHREIBUNG |
| 26 | ------------ |
| 27 | :: |
| 28 | |
| 29 | Erhoeht die LP eines Spielers automatisch insgesamt um den Wert "val". |
| 30 | Pro heart_beat() wird ihm dabei der Wert "rate" zugefuehrt. |
| 31 | Sollen neben P_HP noch weitere Props manipuliert werden - bspw. zur |
| 32 | P_FOOD - bietet sich die Funktion consume() an. |
| 33 | |
| 34 | RUECKGABEWERTE |
| 35 | -------------- |
| 36 | :: |
| 37 | |
| 38 | Der getankte Wert pro heart_beat(). |
| 39 | |
| 40 | BEMERKUNG |
| 41 | --------- |
| 42 | :: |
| 43 | |
| 44 | Sollte von jeder tragbaren Heilung genutzt werden, welche den Spieler |
| 45 | darauf schliessen lassen kann, auf natuerlichem und nichtmagischem Weg |
| 46 | (Essen, Trinken) geheilt worden zu sein. |
| 47 | |
| 48 | BEISPIEL |
| 49 | -------- |
| 50 | :: |
| 51 | |
| 52 | #define TP this_player() |
Arathorn | 99af0d2 | 2019-11-26 19:19:51 +0100 | [diff] [blame^] | 53 | #define BS(x) break_string(x, 78) |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 54 | |
| 55 | int heilung=1; |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 56 | |
Arathorn | 99af0d2 | 2019-11-26 19:19:51 +0100 | [diff] [blame^] | 57 | protected void create() |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 58 | { |
Arathorn | 99af0d2 | 2019-11-26 19:19:51 +0100 | [diff] [blame^] | 59 | ::create(); |
| 60 | SetProp(P_NAME,"Heilpflanze"); |
| 61 | ... |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 62 | |
Arathorn | 99af0d2 | 2019-11-26 19:19:51 +0100 | [diff] [blame^] | 63 | AddCmd("iss&@ID", "eat", "WAS willst Du essen?"); |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 64 | } |
| 65 | |
| 66 | int eat(string str) |
| 67 | { |
Arathorn | 99af0d2 | 2019-11-26 19:19:51 +0100 | [diff] [blame^] | 68 | if ( TP->eat_food(25) ) |
| 69 | { |
| 70 | TP->buffer_hp(20,5); |
| 71 | TP->buffer_sp(80,10); |
| 72 | heilung--; |
| 73 | tell_object(this_player(), BS("Du fuehlst langsam, wie Deine Kraefte " |
| 74 | "zurueckkehren.")); |
| 75 | } |
| 76 | // Wenn der Spieler nichts mehr essen kann, wird die Meldung von |
| 77 | // eat_food() erzeugt. |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 78 | return 1; |
| 79 | } |
| 80 | |
Arathorn | 99af0d2 | 2019-11-26 19:19:51 +0100 | [diff] [blame^] | 81 | void reset() |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 82 | { |
| 83 | heilung=1; |
| 84 | ::reset(); |
| 85 | } |
| 86 | |
Arathorn | 99af0d2 | 2019-11-26 19:19:51 +0100 | [diff] [blame^] | 87 | Es wird durch eat_food() getestet, ob der Spieler noch genuegend essen |
| 88 | kann. Wenn ja, kriegt unser Held die 25 automatisch oben drauf und |
| 89 | ausserdem 20 LP in 5-LP-Schritten und 80 KP in 10-KP-Schritten |
| 90 | gutgeschrieben. |
Zesstra | 1862697 | 2017-01-31 10:38:27 +0100 | [diff] [blame] | 91 | |
| 92 | SIEHE AUCH |
| 93 | ---------- |
| 94 | :: |
| 95 | |
| 96 | Aehnlich: heal_self, restore_spell_points, restore_hit_points, |
| 97 | buffer_sp |
| 98 | Tanken: consume, drink_alcohol, drink_soft, eat_food |
| 99 | Props: P_SP, P_HP, |
| 100 | Konzepte: heilung |
| 101 | |
| 102 | 9. August 2015 Gloinson |
| 103 | |