
AddDrink()
**********

   void AddDrink(string nameOfDrink, mixed ids, int price, int heal,
                 int strength, int soak, mixed myFunction);


BEMERKUNGEN
===========

   Die Funktion AddDrink() sollte NICHT MEHR BENUTZT werden.
   Bitte AddToMenu() verwenden.

   Bestehende Aufrufe koennen wie folgt ersetzt werden:

   AddToMenu(nameOfDrink, ids,
     ([ P_VALUE : price, P_DRINK : soak, P_ALCOHOL : strength,
        P_HP : heal/2, P_SP : heal/2 ]),
        min(heal/2, 5), myFunction, 0, 0, 0);


SIEHE AUCH
==========

   AddToMenu(), RemoveFromMenu(), AddFood()

Last modified: Fri Mar 03 13:23:00 2000 by Paracelsus
