blob: db9ba79caf6b23a27074677a2829720078c051f6 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001
Zesstra953f9972017-02-18 15:37:36 +01002buffer_hp()
3***********
MG Mud User88f12472016-06-24 23:31:02 +02004
MG Mud User88f12472016-06-24 23:31:02 +02005
Zesstra953f9972017-02-18 15:37:36 +01006FUNKTION
7========
MG Mud User88f12472016-06-24 23:31:02 +02008
Zesstra953f9972017-02-18 15:37:36 +01009 int buffer_hp( int val, int rate );
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011
12DEFINIERT IN
13============
14
15 /std/living/life.c
16
17
18ARGUMENTE
19=========
20
21 val: Gesamte Heilung.
22 rate: LP-Rate.
23
24
25BESCHREIBUNG
26============
27
28 Erhoeht die LP eines Spielers automatisch insgesamt um den Wert "val".
29 Pro heart_beat() wird ihm dabei der Wert "rate" zugefuehrt.
30 Sollen neben P_HP noch weitere Props manipuliert werden - bspw. zur
31 P_FOOD - bietet sich die Funktion consume() an.
32
33
34RUECKGABEWERTE
35==============
36
37 Der getankte Wert pro heart_beat().
38
39
40BEMERKUNG
41=========
42
43 Sollte von jeder tragbaren Heilung genutzt werden, welche den Spieler
44 darauf schliessen lassen kann, auf natuerlichem und nichtmagischem Weg
45 (Essen, Trinken) geheilt worden zu sein.
46
47
48BEISPIEL
49========
50
51 #define TP this_player()
Arathorn99af0d22019-11-26 19:19:51 +010052 #define BS(x) break_string(x, 78)
Zesstra953f9972017-02-18 15:37:36 +010053
54 int heilung=1;
Zesstra953f9972017-02-18 15:37:36 +010055
Arathorn99af0d22019-11-26 19:19:51 +010056 protected void create()
Zesstra953f9972017-02-18 15:37:36 +010057 {
Arathorn99af0d22019-11-26 19:19:51 +010058 ::create();
59 SetProp(P_NAME,"Heilpflanze");
60 ...
MG Mud User88f12472016-06-24 23:31:02 +020061
Arathorn99af0d22019-11-26 19:19:51 +010062 AddCmd("iss&@ID", "eat", "WAS willst Du essen?");
Zesstra953f9972017-02-18 15:37:36 +010063 }
MG Mud User88f12472016-06-24 23:31:02 +020064
Zesstra953f9972017-02-18 15:37:36 +010065 int eat(string str)
66 {
Arathorn99af0d22019-11-26 19:19:51 +010067 if ( TP->eat_food(25) )
68 {
69 TP->buffer_hp(20,5);
70 TP->buffer_sp(80,10);
71 heilung--;
72 tell_object(this_player(), BS("Du fuehlst langsam, wie Deine Kraefte "
73 "zurueckkehren."));
74 }
75 // Wenn der Spieler nichts mehr essen kann, wird die Meldung von
76 // eat_food() erzeugt.
Zesstra953f9972017-02-18 15:37:36 +010077 return 1;
78 }
MG Mud User88f12472016-06-24 23:31:02 +020079
Arathorn99af0d22019-11-26 19:19:51 +010080 void reset()
Zesstra953f9972017-02-18 15:37:36 +010081 {
82 heilung=1;
83 ::reset();
84 }
85
Arathorn99af0d22019-11-26 19:19:51 +010086 Es wird durch eat_food() getestet, ob der Spieler noch genuegend essen
87 kann. Wenn ja, kriegt unser Held die 25 automatisch oben drauf und
88 ausserdem 20 LP in 5-LP-Schritten und 80 KP in 10-KP-Schritten
89 gutgeschrieben.
Zesstra953f9972017-02-18 15:37:36 +010090
91
92SIEHE AUCH
93==========
94
95 Aehnlich: heal_self, restore_spell_points, restore_hit_points,
96 buffer_sp
97 Tanken: consume, drink_alcohol, drink_soft, eat_food
98 Props: P_SP, P_HP,
99 Konzepte: heilung
MG Mud User88f12472016-06-24 23:31:02 +0200100
1019. August 2015 Gloinson