Lpc Manpages

FUNKTION:
    int DoPour(mapping liquids)

DEFINIERT IN:
    /std/flasche.c

ARGUMENTE:
    liquids
        Mapping mit Fluessigkeitsmengen, die ausgegossen werden sollen.

BESCHREIBUNG:
    Diese Funktion wird aufgerufen, wenn ein Spieler Fluessigkeit aus einem
    Behaelter via "schuette/giesse" oder "entleere" ausgiesst. Als Argument
    bekommt diese Funktion ein Mapping der Form
    
        ([ Fluessigkeit1: Menge1,
           Fluessigkeit2: Menge2,
           ...                     ])
           
    uebergeben, welches die Namen und Mengen der einzelnen Fluessigkeiten
    enthaelt, die dabei aus der Flasche entfernt werden.
    
    Indem man diese Funktion in eigenen Objekten ueberschreibt, kann man
    alle moeglichen Reaktionen auf das Ausgiessen von Fluessigkeit
    programmieren.
    
RUECKGABEWERT:
    Wenn diese Funktion 0 zurueckgibt, dann wird das Ausgiessen nicht durch-
    gefuehrt, das heisst, die Fluessigkeit bleibt in der Flasche. Gibt sie
    einen anderen Wert als 0 zurueck, wird das Ausgiessen durchgefuehrt,
    die einzelnen Fluessigkeitsmengen also aus der Flasche entfernt. Ausserdem
    wird dann eine Meldung ausgegeben.
	
BEMERKUNGEN:
    Diese Funktion dient als "Hook", damit man in eigenen Objekten auf
    einfache Weise Aktionen beim Ausgiessen von Fluessigkeit programmieren
    kann. Es ist relativ sinnlos, diese Funktion selbst aufzurufen.
    
    Normalerweise (d.h. ohne dass man sie ueberschreibt) gibt diese Funktion
    lediglich immer den Wert 1 zurueck.

DOKUMENTIERT:
    22.05.97 Marcel

BEISPIEL:
    Verhindern, dass jemand Cola wegschuettet:
    
    int DoPour(mapping liquids)
    {
      if (liquids["cola"]) {
        write("Hey! Du kannst doch nicht einfach die Cola hier wegkippen!\n");
        return 0;
      }
      
      return ::DoPour(liquids);
    }

SIEHE AUCH:
    flasche, DoDrink, StatusDescription, FillingDescription,
    ContentDescription