defuel_drink()

FUNKTION

int defuel_drink();

DEFINIERT IN

/std/living/life.c

ARGUMENTE

Keine.

BESCHREIBUNG

Enttankt den Spieler automatisch um einen gewissen Fluessigkeits-Wert,
sofern der Spieler ueber einer bestimmten Enttank-Grenze liegt und seit
seinem letzten Enttanken eine gewisse Zeit vergangen ist.
Alle diese Werte sind rassenabhaengig.
Ausserdem wird dem Spieler eine gewisse Menge Alkohol entzogen. Er wird
also mit jedem fluessigen Enttanken etwas nuechterner.

Es ist also NICHT moeglich, Einfluss auf die Menge des Enttankens
zu nehmen. Das ist hier so gewollt.

Hat der Spieler mindestens
* P_DEFUEL_LIMIT_DRINK in P_DRINK
kann er alle
* P_DEFUEL_TIME_DRINK
um
* (x=P_DRINK*P_DEFUEL_AMOUNT_DRINK/2) + random(x)
  (also um (50 bis 100 * P_DRINK) Prozent)
enttanken.

RUECKGABEWERTE

DEFUEL_TOO_SOON: -2, wenn Enttankintervallzeiten zu kurz.
DEFUEL_TOO_LOW:  -1, wenn Enttankgrenze noch nicht erreicht.
NO_DEFUEL:        0, wenn Enttanken nicht noetig war (Spieler war leer)
>0, wenn Erfolg (enttankte Wert wird zurueckgegeben).

(Konstanten kommen aus /sys/defuel.h)

BEMERKUNG

Bitte defuel_drink() benutzen und nicht P_DRINK oder P_MAX_DRINK des
manipulieren!

Es gibt keine eigene Methode fuer die Verringerung von P_ALCOHOL.

Achtung: Nur Toiletten sollten diese Funktion im Spieler aufrufen!

BEISPIEL

s. Bsp. zu defuel_food()

SIEHE AUCH

Aehnlich:  defuel_food
Tanken:    consume, drink_alcohol, drink_soft, eat_food
Heilung:   heal_self, restore_spell_points, restore_hit_points,
           buffer_hp, buffer_sp
Timing:    check_and_update_timed_key
Props:     P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
           P_DEFUEL_TIME_FOOD, P_DEFUEL_TIME_DRINK
Konzepte:  heilung, enttanken, food
  1. August 2015 Gloinson