/* Ein Bierfass fuer unsere bayerischen Freunde :)
**
** Fiona 8/96
*/
inherit "std/thing";
#include <properties.h>
int inhalt;
string wieviel();
void create()
{
if (!clonep()) return;
::create();
Set(P_LONG, #'wieviel, F_QUERY_METHOD);
SetProp(P_NAME, "Bierfass");
SetProp(P_PLURAL, "Bierfaesser");
SetProp(P_GENDER, NEUTER);
SetProp(P_NOGET, "Das ist viiiel zu schwer!\n");
inhalt = 10000;
AddId(({"fass","bierfass"}));
}
string wieviel()
{
return "Es enthaelt "+to_string(inhalt)+"ml Bier.";
}
int GiveLiquid(string id, int am, object ob)
{
int given;
if (id != "bier" && id != "bierfass" && id != "fass") return 0;
if (!inhalt)
{
write("Das Fass ist leider schon alle.\n");
return -2;
}
if (am > inhalt) am = inhalt;
given = ob->AddLiquid(am, ({"schaum", "bier"}),
({"Schaum", "Bier"}), am/10, am/150, am/37, am/200);
if (given > 0)
{
write("Du zapfst etwas Bier.\n");
say(this_player()->name(WER, NAME_DEF|NAME_CAP)+" zapft etwas Bier.\n");
inhalt -= given;
}
return given;
}
void reset()
{
if (!environment()) return;
if (inhalt<10000)
{
tell_room(environment(),"Das Fass fuellt sich aus...\n");
inhalt = 10000;
}
// Immer das ererbte reset() mit aufrufen!
::reset();
}
|