
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

9. August 2015 Gloinson
