| 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 |