// ein vierblaettriges kleeblatt
// nach dem verschenken sieht man in der P_LONG, von wem man
// es bekommen hat
// 2002 by Sunrise@Wunderland
inherit "thing";
#pragma strong_types
#include <moving.h>
#include <events.h>
#include <defines.h>
#include <properties.h>
void verschenken(mixed data, string type);
void create()
{
if (!clonep()) return;
::create();
SetProp(P_NAME, "Kleeblatt");
SetProp(P_PLURAL, "Kleeblaetter");
SetProp(P_NAME_ADJ, "vierblaettrig");
SetProp(P_WEIGHT, 1);
SetProp(P_BULKINESS, 1);
SetProp(P_NOSELL, "Ein vierblaettriges KLeeblatt verkauft man nicht.\n");
SetProp(P_GENDER, NEUTER);
SetProp(P_LONG,
"Das ist ein sehr schoenes vierblaettriges Kleeblatt. Man sagt, es soll "
"Glueck bringen.");
AddId(({"blatt", "kleeblatt", "klee", "sunrise_klee"}),
({"blaetter", "kleeblaetter", "klee"}));
SetProp(P_ADJECTIVES, ({"vierblaettrig", "vierblaettriges", "vier"
"blaettrigem", "vierblaettrigen", "vierblaettrige"}));
AddCmd("iss|esse&kleeblatt|klee|blatt", "klee_essen",
"Was willst Du essen?");
AddCmd("zaehl|zaehle&blaetter", "zaehlen",
"Was willst Du zaehlen?");
// hier lauschen wir dem Give-Event, wir wollen nur reagieren
listen_event(ET_GIVE, EPRIO_REACT, #'verschenken);
}
void verschenken(mixed data, string type)
{
object schenker;
string str;
// Das uebergebene Object bin nicht ich:
if (data[E_MOVE_OBJ] != ME) return;
// Der 'Schenkende' ist kein Lebewesen
if (!living(schenker=data[E_ACTOR])) return;
// Jetzt aendern wir die Beschreibung des Kleeblatts und setzen
// den Namen des Schenkers rein
str= "Dieses vierblaettrige Kleeblatt wurde Dir von "+
schenker->name(WEM, NAME_AUTO)+" zum Zeichen "+
schenker->QueryPossPronoun(FEMALE, WESSEN, 0)+
" Zuneigung geschenkt. Hoffentlich bringt es Dir Glueck.";
SetProp(P_LONG, str);
}
int zaehlen()
{
tell_object(PL, break_string(
"Du haeltst das Kleeblatt weit von Dir und faengst dann an, "
"mit ausgestrecktem Zeigefinger die Blaetter an dem Kleeblatt "
"zu zaehlen:\nEins\nZwei\nDrei\nVier\nJa, es sind tatsaechlich "
"vier Blaetter. Das Kleeblatt hat seinen Namen verdient."));
tell_room(environment(PL), break_string(
PL->name(WER, NAME_AUTO|NAME_CAP)+" haelt ein Kleeblatt weit "
"von sich weg und faengt an, seine Blaetter mit ausgestrecktem "
"Zeigefinger zu zaehlen und murmelt dabei:\nEins\n"
"Zwei\nDrei\nVier\nDann geht ploetzlich ein Strahlen der "
"Erkenntnis ueber "+PL->QueryPossPronoun(NEUTER, WEN, 0)+" Gesicht. "
"Es handelt sich wohl tatsaechlich um ein "
"vierblaettriges Kleeblatt."), ({PL}));
return 1;
}
int klee_essen()
{
tell_object(PL,
"Bist Du ein Schaf oder eine Kuh, dass Du jetzt "
"schon gruenen Klee isst?\n");
return 1;
}
|