Manpages als reStructuredText erstellt
Unsere Manpages wurden mit einem LPC-Tool in
reStructuredText konvertiert und liegen jetzt
in diesem Verzeichnis als Quelldaten.
Aus diesen reStructuredText sollen dann per
Script die ASCII-Manpages und per Sphinx HTML u.a.
erzeugt werden.
Change-Id: I75d659a7b3f9863aecb11dbeb0037e6cae227c36
diff --git a/doc/sphinx/lfun/drink_alcohol.rst b/doc/sphinx/lfun/drink_alcohol.rst
new file mode 100644
index 0000000..f468cd3
--- /dev/null
+++ b/doc/sphinx/lfun/drink_alcohol.rst
@@ -0,0 +1,112 @@
+drink_alcohol()
+===============
+
+FUNKTION
+--------
+::
+
+ public varargs int drink_alcohol(int strength, int testonly, string mytext)
+
+DEFINIERT IN
+------------
+::
+
+ /std/living/life.c
+
+ARGUMENTE
+---------
+::
+
+ strength: wird zur aktuellen Saettigung P_ALCOHOL dazu addiert
+ testonly: Ist das Flag gesetzt, wird dem Spieler kein ALCOHOL zugefuehrt.
+ Darf nur zum Testen der Heilstelle verwendet werden und muss
+ im normalen Betrieb auf '0' stehen!
+ mytext: Wer selber einen Text bei Misserfolg ausgeben lassen moechte,
+ darf sich hier was nettes ausdenken.
+ Achtung: Das unterdrueckt nicht die "Nuechtern"-Meldung, die bei
+ negativem strength auftreten kann, wenn P_ALCOHOL wieder 0 ist.
+
+BESCHREIBUNG
+------------
+::
+
+ Es wird geprueft, ob dem Spieler der angegebene Wert fuer 'strength'
+ auf seine aktuelle P_ALCOHOL addiert werden kann oder nicht. Falls
+ das moeglich ist und testonly = 0, wird P_ALCOHOL entsprechend
+ aktualisiert.
+
+ Sollen neben P_ALCOHOL noch weitere Props manipuliert werden - bspw. zur
+ Heilung eines Lebewesens - bietet sich die Funktion consume() an.
+
+RUECKGABEWERT
+-------------
+::
+
+ 0 bei [potentiellem] Misserfolg (strength + P_ALCOHOL > P_MAX_ALCOHOL)
+ 1 bei [potentiellem] Erfolg
+ * potentiell bezieht sich hier auf Nutzung mit 'testonly' != 0
+
+BEMERKUNG
+---------
+::
+
+ drink_alocohol() bitte anstatt eigener Manipulationen von P_ALCOHOL und
+ P_MAX_ALCOHOL verwenden.
+
+ Achtung: Immer erst VOR einer Heilung ausfuehren und bei Erfolg heilen.
+
+ Bei Heilstellen sollte eine evtl. Heilung des Spielers mit der eigens
+ dafuer eingerichteten Funktion check_and_update_timed_key realisiert
+ werden.
+
+BEISPIEL
+--------
+::
+
+ int heilstelle() {
+ if(this_player()->drink_alcohol(10, 0,
+ "Du prustest in den Schnaps. "
+ "Der passt nicht mehr rein.\n")) {
+ // Platz fuer 10 "Alkohol" war noch, diese sind jetzt bereits addiert
+ // Nachricht an den Spieler:
+ tell_object(this_player(),
+ break_string("Du trinkst den Schnaps aus.", 78));
+
+ // Nachricht an andere Livings im Raum
+ object ob = first_inventory(environment(this_player()));
+ do {
+ if(living(ob) && ob!=this_player())
+ ob->ReceiveMsg(this_player()->Name()+" trinkt einen Schnaps aus.",
+ MT_LOOK|MT_LISTEN,
+ MA_DRINK);
+ ob = next_inventory(ob);
+ } while(ob);
+
+ // Rassenabhaengige Heilung: Sofort oder in Schritten
+ // Tragbare Heilungen sollten auch eher buffer_hp/_sp benutzen.
+ if(this_player()->QueryProp(P_REAL_RACE)=="Schnapsdrossel")
+ this_player()->heal_self(30);
+ else {
+ this_player()->buffer_hp(30,5);
+ this_player()->buffer_sp(30,5);
+ }
+ }
+
+ return 1;
+ }
+
+SIEHE AUCH
+----------
+::
+
+ Aehnlich: consume, eat_food, drink_soft
+ Heilung: heal_self, restore_spell_points, restore_hit_points,
+ buffer_hp, buffer_sp
+ Timing: check_and_update_timed_key
+ Enttanken: defuel_drink, defuel_food
+ Props: P_DRINK, P_FOOD, P_ALCOHOL, P_SP, P_HP,
+ P_DEFUEL_TIME_DRINK
+ Konzepte: heilung, enttanken, food
+
+9. August 2015 Gloinson
+