blob: 90be49b978300a7983700b8c44262fed66de85fc [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001buffer_hp()
2***********
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 int buffer_hp( int val, int rate );
MG Mud User88f12472016-06-24 23:31:02 +02009
Zesstra953f9972017-02-18 15:37:36 +010010
11DEFINIERT IN
12============
13
14 /std/living/life.c
15
16
17ARGUMENTE
18=========
19
20 val: Gesamte Heilung.
21 rate: LP-Rate.
22
23
24BESCHREIBUNG
25============
26
27 Erhoeht die LP eines Spielers automatisch insgesamt um den Wert "val".
28 Pro heart_beat() wird ihm dabei der Wert "rate" zugefuehrt.
29 Sollen neben P_HP noch weitere Props manipuliert werden - bspw. zur
30 P_FOOD - bietet sich die Funktion consume() an.
31
32
33RUECKGABEWERTE
34==============
35
36 Der getankte Wert pro heart_beat().
37
38
39BEMERKUNG
40=========
41
42 Sollte von jeder tragbaren Heilung genutzt werden, welche den Spieler
43 darauf schliessen lassen kann, auf natuerlichem und nichtmagischem Weg
44 (Essen, Trinken) geheilt worden zu sein.
45
46
47BEISPIEL
48========
49
50 #define TP this_player()
Arathorn99af0d22019-11-26 19:19:51 +010051 #define BS(x) break_string(x, 78)
Zesstra953f9972017-02-18 15:37:36 +010052
53 int heilung=1;
Zesstra953f9972017-02-18 15:37:36 +010054
Arathorn99af0d22019-11-26 19:19:51 +010055 protected void create()
Zesstra953f9972017-02-18 15:37:36 +010056 {
Arathorn99af0d22019-11-26 19:19:51 +010057 ::create();
58 SetProp(P_NAME,"Heilpflanze");
59 ...
MG Mud User88f12472016-06-24 23:31:02 +020060
Arathorn99af0d22019-11-26 19:19:51 +010061 AddCmd("iss&@ID", "eat", "WAS willst Du essen?");
Zesstra953f9972017-02-18 15:37:36 +010062 }
MG Mud User88f12472016-06-24 23:31:02 +020063
Zesstra953f9972017-02-18 15:37:36 +010064 int eat(string str)
65 {
Arathorn99af0d22019-11-26 19:19:51 +010066 if ( TP->eat_food(25) )
67 {
68 TP->buffer_hp(20,5);
69 TP->buffer_sp(80,10);
70 heilung--;
71 tell_object(this_player(), BS("Du fuehlst langsam, wie Deine Kraefte "
72 "zurueckkehren."));
73 }
74 // Wenn der Spieler nichts mehr essen kann, wird die Meldung von
75 // eat_food() erzeugt.
Zesstra953f9972017-02-18 15:37:36 +010076 return 1;
77 }
MG Mud User88f12472016-06-24 23:31:02 +020078
Arathorn99af0d22019-11-26 19:19:51 +010079 void reset()
Zesstra953f9972017-02-18 15:37:36 +010080 {
81 heilung=1;
82 ::reset();
83 }
84
Arathorn99af0d22019-11-26 19:19:51 +010085 Es wird durch eat_food() getestet, ob der Spieler noch genuegend essen
86 kann. Wenn ja, kriegt unser Held die 25 automatisch oben drauf und
87 ausserdem 20 LP in 5-LP-Schritten und 80 KP in 10-KP-Schritten
88 gutgeschrieben.
Zesstra953f9972017-02-18 15:37:36 +010089
90
91SIEHE AUCH
92==========
93
94 Aehnlich: heal_self, restore_spell_points, restore_hit_points,
95 buffer_sp
96 Tanken: consume, drink_alcohol, drink_soft, eat_food
97 Props: P_SP, P_HP,
98 Konzepte: heilung
MG Mud User88f12472016-06-24 23:31:02 +020099
1009. August 2015 Gloinson