blob: 67e834d616b23158dfc2b4313527d6da3f159384 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001FUNKTION:
2 int defuel_drink();
3
4DEFINIERT IN:
5 /std/living/life.c
6
7ARGUMENTE:
8 Keine.
9
10BESCHREIBUNG:
11 Enttankt den Spieler automatisch um einen gewissen Fluessigkeits-Wert,
12 sofern der Spieler ueber einer bestimmten Enttank-Grenze liegt und seit
13 seinem letzten Enttanken eine gewisse Zeit vergangen ist.
14 Alle diese Werte sind rassenabhaengig.
15 Ausserdem wird dem Spieler eine gewisse Menge Alkohol entzogen. Er wird
16 also mit jedem fluessigen Enttanken etwas nuechterner.
17
18 Es ist also NICHT moeglich, Einfluss auf die Menge des Enttankens
19 zu nehmen. Das ist hier so gewollt.
20
21 Hat der Spieler mindestens
22 * P_DEFUEL_LIMIT_DRINK in P_DRINK
23 kann er alle
24 * P_DEFUEL_TIME_DRINK
25 um
26 * (x=P_DRINK*P_DEFUEL_AMOUNT_DRINK/2) + random(x)
27 (also um (50 bis 100 * P_DRINK) Prozent)
28 enttanken.
29
30RUECKGABEWERTE:
31 DEFUEL_TOO_SOON: -2, wenn Enttankintervallzeiten zu kurz.
32 DEFUEL_TOO_LOW: -1, wenn Enttankgrenze noch nicht erreicht.
33 NO_DEFUEL: 0, wenn Enttanken nicht noetig war (Spieler war leer)
34 >0, wenn Erfolg (enttankte Wert wird zurueckgegeben).
35
36 (Konstanten kommen aus /sys/defuel.h)
37
38BEMERKUNG:
39 Bitte defuel_drink() benutzen und nicht P_DRINK oder P_MAX_DRINK des
40 manipulieren!
41
42 Es gibt keine eigene Methode fuer die Verringerung von P_ALCOHOL.
43
44 Achtung: Nur Toiletten sollten diese Funktion im Spieler aufrufen!
45
46BEISPIEL:
47 s. Bsp. zu defuel_food()
48
49SIEHE AUCH:
50 Aehnlich: defuel_food
51 Tanken: consume, drink_alcohol, drink_soft, eat_food
52 Heilung: heal_self, restore_spell_points, restore_hit_points,
53 buffer_hp, buffer_sp
54 Timing: check_and_update_timed_key
55 Props: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
56 P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
57 Konzepte: heilung, enttanken, food
58
599. August 2015 Gloinson