blob: d3ec7f2345dbfc675458412b6c0f125c03ddd8d2 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001buffer_hp()
2===========
3
4FUNKTION
5--------
6::
7
8 int buffer_hp( int val, int rate );
9
10DEFINIERT IN
11------------
12::
13
14 /std/living/life.c
15
16ARGUMENTE
17---------
18::
19
20 val: Gesamte Heilung.
21 rate: LP-Rate.
22
23
24
25BESCHREIBUNG
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
34RUECKGABEWERTE
35--------------
36::
37
38 Der getankte Wert pro heart_beat().
39
40BEMERKUNG
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
48BEISPIEL
49--------
50::
51
52 #define TP this_player()
Arathorn99af0d22019-11-26 19:19:51 +010053 #define BS(x) break_string(x, 78)
Zesstra18626972017-01-31 10:38:27 +010054
55 int heilung=1;
Zesstra18626972017-01-31 10:38:27 +010056
Arathorn99af0d22019-11-26 19:19:51 +010057 protected void create()
Zesstra18626972017-01-31 10:38:27 +010058 {
Arathorn99af0d22019-11-26 19:19:51 +010059 ::create();
60 SetProp(P_NAME,"Heilpflanze");
61 ...
Zesstra18626972017-01-31 10:38:27 +010062
Arathorn99af0d22019-11-26 19:19:51 +010063 AddCmd("iss&@ID", "eat", "WAS willst Du essen?");
Zesstra18626972017-01-31 10:38:27 +010064 }
65
66 int eat(string str)
67 {
Arathorn99af0d22019-11-26 19:19:51 +010068 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.
Zesstra18626972017-01-31 10:38:27 +010078 return 1;
79 }
80
Arathorn99af0d22019-11-26 19:19:51 +010081 void reset()
Zesstra18626972017-01-31 10:38:27 +010082 {
83 heilung=1;
84 ::reset();
85 }
86
Arathorn99af0d22019-11-26 19:19:51 +010087 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.
Zesstra18626972017-01-31 10:38:27 +010091
92SIEHE 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
1029. August 2015 Gloinson
103