inherit "inherit/monster";
string *eaten; /* plants dinner */
object armour;
reset(arg) {
eaten = ({});
if(!present("armour")) {
armour = clone_object("inherit/armour");
armour -> set_name("leather");
armour -> set_alias("shirt");
armour -> set_short("A leather shirt");
armour -> set_long("A simple leather shirt.\n");
armour -> set_ac(1);
armour -> set_weight(1);
armour -> set_value(300);
armour -> set_sell_destruct(1);
armour -> set_armour_material("leather");
move_object(armour, this_object());
}
::reset(arg);
if(arg) return;
set_hp(50);
set_ac(3);
set_wc(5);
set_attack_msg(({
"grows it's root into", "causing a great deal of pleasure",
"bites", "with it's flower",
"whacks", "with it's pot",
"rises upwards, scaring the wits out of", "",
"scratches", "with it's thorns, injecting poison",
"sucks", "into it's knot-hole",
"slaps", "with it's fronds"
}));
set_name("newbie eating plant");
set_alias("plant");
set_race("plant");
set_gender(2); /* female */
set_light(1); /* so they can see inside her */
set_short("A newbie eating plant");
}
long() {
write("This large plant appears to have grown right out of the rose \n"+
"garden! It is probably the product of some druids sense of \n"+
"hunour and magic.\n");
if(present(this_player(), this_object())) {
write("You are right inside the tummy of the newbie eating plant!\n"+
"Perhaps if you scratch it it will let you out.\n");
return 1;
}
write("Its teeth filled mouth gapes open at you, and it stares at you "+
"hungrily...\n");
return 1;
}
init() {
if(this_player() ->query_level() < 2)
call_out("eatme", 1);
add_action("scratch", "scratch");
::init();
}
eatme() {
if(present(this_player(), environment())) {
if(!query_eaten(this_player()->query_name())) {
write("The newbie eating plant eats you whole!\n");
say("The newbie eating plant eats "+ this_player()->query_name() +
" whole!\n", this_player());
move_object(this_player(), this_object());
add_eaten(this_player()->query_name());
}
}
return 1;
}
scratch() {
write("The newbie eating plant spits you out!\n");
this_player()->move_player("#room/city/garden/garden7");
return 1;
}
add_eaten(string str) {
if(!query_eaten(str))
return eaten += ({ str, });
return 0;
}
query_eaten(string str) {
if(!eaten || !sizeof(eaten)) return 0;
if(index(eaten, str) > -1) return str;
return 0;
}