#include <mudlib.h>
#define NAME (string)this_player()->query_name()
inherit TREASURE;
static status got_head;
void reset(status arg) {
if(arg) return;
set_name("bits of arrow");
set_alias("pieces");
set_short("Pieces of broken arrow");
set_long(
"This was once a fine arrow, but now it is in many pieces.\n");
set_weight(2);
set_value(2);
set_sell_destruct(1);
}
void init() {
add_action("bits", "get");
add_action("bits", "take");
}
status bits(string str) {
string tmp1, tmp2;
if(sscanf(str, "%shead%s", tmp1, tmp2)) {
if(got_head) {
write("There is nothing to get from the broken shaft.\n");
return 1;
}
if(!this_player()->add_weight(1)) {
write("You can't carry anymore.\n");
return 1;
}
write("You take the arrow head from the broken shaft.\n");
say(NAME+" takes an arrow head from the broken arrow shaft.\n",
this_player());
got_head = 1;
set_value(1);
set_weight(1);
move_object(clone_object("objects/head"),this_player());
return 1;
}
return 0;
}
void long(status wiz) {
::long(wiz);
if(!got_head)
write("The arrow head on the shaft still looks in fine condition.\n");
else
write("The arrow head appears to be missing from the shaft.\n");
}