blob: 3c62c13438a3d135f7eb462beb949a110893c1e5 [file] [log] [blame]
/*
Beispiel fuer ein tragbares Getraenk in einer Flasche.
*/
#include <food.h>
inherit "/std/food";
string _query_long() {
string m = "Du siehst eine Glasflasche,";
if (is_not_empty()) {
m += " in der sich Wasser befindet.";
if (!is_bad())
m += " Es ist glasklar und sieht irgendwie verlockend aus.";
else
m += " Es ist truebe und sieht nicht gerade verlockend aus.";
m += " Die Flasche ist ";
switch (to_int((QueryProp(P_PORTIONS)-1)/2.5)) {
case 0:
m += "fast leer.";
break;
case 1:
m += "halb voll.";
break;
case 2:
m += "fast voll.";
break;
case 3:
m += "voll.";
break;
default:
m += "nicht leer.";
}
} else {
m += " in der frueher mal Wasser war.";
}
return break_string(m);
}
void create() {
if (!clonep(this_object())) {
set_next_reset(-1);
return;
}
::create();
SetProp(P_SHORT,"Eine Flasche mit Wasser");
SetProp(P_NAME, "Wasserflasche");
SetProp(P_GENDER,FEMALE);
SetProp(P_VALUE,5); // pro Portion (ohne Flasche)
SetProp(P_WEIGHT,50); // pro Portion (ohne Flasche)
SetProp(P_PORTIONS,10);
SetProp(P_DESTROY_BAD,0); // verdorbenes Wasser wird nicht zerstoert
SetProp(P_CONSUME_MSG,
"@WER2 trinkt aus einer Flasche. Wasser laeuft ueber @WENQPPNS2 Kinn.");
SetProp(P_EATER_MSG,
"Du trinkst Wasser aus der Flasche. Etwas laeuft Dir ueber das Kinn.");
SetProp(P_BAD_MSG,
"Das Wasser in der Flasche wird truebe.");
SetProp(P_MATERIAL,([MAT_GLASS:15, MAT_WATER:85]));
SetProp(P_EMPTY_PROPS, ([
P_SHORT:"Eine leere Flasche",
P_NAME:"Flasche",
P_EMPTY_IDS:({"flasche"}),
P_EMPTY_ADJ:({"leere","leeren"}),
P_MATERIAL:([MAT_GLASS:100]),
P_VALUE:5, // Wert der Flasche ohne Wasser
P_WEIGHT:20 // Gewicht der Flasche ohne Wasser
]));
SetProp(P_RESET_LIFETIME,3); // 3 Resets, ehe das Wasser truebe wird
SetProp(P_DRINK,50); // Fuellgrad pro Schluck
SetProp(P_DISTRIBUTION,10); // Punkte Heilung pro Heartbeat
SetProp(P_HP,30); // pro Schluck
SetProp(P_SP,30); // pro Schluck
AddId(({"flasche","wasserflasche","wasser"}));
AddAdjective(({"volle","vollen"}));
}
// parent methode immer aufrufen und pruefen!!
void make_bad() {
if (!::make_bad() && is_not_empty()) {
// die Trinkmeldung aendern wir mal
SetProp(P_EATER_MSG,"Du trinkst truebes Wasser aus der Flasche. "
"Das war wohl nicht so gut. Dir wird ganz uebel!");
}
}