Lpc Manpages

*************************************************************************
                       !!!!! ACHTUNG !!!!!                               
                                                                         
  Diesen Befehl nicht mehr benutzen, da er nicht mehr unterstuetzt wird! 
                                                                         
*************************************************************************
AddDrink()

FUNKTION:
     void AddDrink(string name, mixed ids, int preis, int heilung, int alk,
     int staerke, mixed extra, int max, mixed func);

DEFINIERT IN:
     /std/kneipe.c

ARGUMENTE:
     name
          Der Name des Getraenks.
     ids
          String oder Array von Strings, mit denen sich das Getraenk
          ansprechen laesst (beim Bestellen).
     preis
          Was solls denn kosten?
     heilung
          Heilwert des Getraenks.
     alc
          Alkoholgehalt des Getraenks.
     staerke
          Saettigungsgrad des Getraenks.
     extra
          Closure, String oder Array von String. Bedeutung s.u.
     max
          Maximale Anzahl der Getraenke pro Reset in der Kneipe

     func Eine Funktion, die zusaetzlich aufgerufen wird. Entweder ein 
          String oder eine Closure.

BESCHREIBUNG:
     Es wird ein Getraenk namens 'name' zum Preis von 'preis' Muenzen in die
     Speisekarte eingefuegt.

     Bestellt ein Spieler das Getraenk, kann sie finanzieren und auch noch
     trinken, so wird er um 'heilung' Punkte (LP/MP) geheilt. Seine Saettigung
     erhoeht sich dabei um 'staerke' Punkte, sein Alkoholpegel um 'alc' Punkte.

     Abhaengig von 'extra' wird dann eine der folgenden Aktionen ausgefuehrt:
     extra ist eine Closure oder ein Funktionsname
          Die Funktion wird aufgerufen. Als Parameter bekommt sie den
          Spender und den Empfaenger des Getraenks und das Array, das 
          alle Werte des Getraenkes enthaelt.

          Dabei sieht das Array fuer Getraenke so aus:
          ({ nameOfDrink, ids, price, heal, strength, soak, 
             myFunction,0, max,extraFunction })

          In der Funktion kann man irgendwelche Sonderfunktionen ausfuehren.
          Zum Beispiel koennte man nach dem Genuss eines besonders starken
          Gebraeus aus der Kneipe taumeln...

     extra ist ein Array von zwei Strings
          Der erste dieser Strings wird an den Empfaenger des Getraenks
          ausgegeben, der zweite der Strings an alle anderen in der Kneipe.

          Name und verschiedene Pronomina des Empfaengers koennen mit Platz-
          haltern in die Strings eingebaut werden:
          Platzhalter  Bedeutung
          &&           Name des Spielers im Nominativ (Mupfel, Marita)
          &?           Name des Spielers im Genetiv (Mupfels, Maritas)
          &1 == &!     Personalpronomen des Spielers im Nominativ (er, sie)
          &2           Personalpronomen des Spielers im Genetiv (ihn, sie)
          &3           Personalpronomen des Spielers im Dativ (ihm, ihr)
          &4           Personalpronomen des Spielers im Akkusativ (ihn, sie)
          &=           Possessivpronomen des Spielers, maennl. (sein, ihr)
                     Possessivpronomen des Spielers, weibl. (seine, ihre)

RUECKGABEWERT:
     keiner

BEMERKUNGEN:
     Man sollte darauf achten, das man keine guten Heiltraenke zu
     Schleuderpreisen verkauft.

     Ausserdem sollte nach Moeglichkeit heilung < 2 * (staerke+alc) sein.

BEISPIELE:

     inherit "/std/kneipe";

     create() {
       ::create();

       // Beschreibungen, Details, etc...
       SetProp(...);

       // Ein schoenes Bierchen
       AddDrink("Bier", "bier", 50, 5, 2, 8,
         ({ "Du trinkst Dein Bier in einem Zug aus.",
            "&& leert in einem Zug ein Bierglas." }) );

       // Ein nicht so schoenes Bierchen
       AddDrink("Franzbehrger", ({ "franzbehrger", "behrger" }),
         80, 2, 0, 10, "franz" );
     }

     franz(object zahler, object trinker, mixed what)
     {
       tell_object(trinker,
                   "Du trinkst Dein Franzbehrger. Hm... hat"
                  +"doch nicht alles, was ein Bier braucht!\n"
                  +"Dir wird uebel. Schnell rennst Du raus.\n" );
       tell_room(this_object(),
                 trinker->name(WER)+" verlaesst nach dem"
                  +"Genuss(?) eines Franzbehrger fluchtartig\n"
                  +"das Gabaeude.\n",
                 ({ trinker }) );
       trinker->move("/room/draussen", M_GO | M_SILENT);
     }

SIEHE AUCH:
     kneipe, AddFood(), /std/kneipe.c