#include "../std.h"
string rope;
#undef EXTRA_INIT
#define EXTRA_INIT\
add_action("down"); add_verb("down");\
add_action("down"); add_verb("climb");
#undef EXTRA_LONG
#define EXTRA_LONG\
if (str == "ring" || str == "rings") {\
write("A sturdy iron ring, fastened to the wall.\n");\
return;\
} else\
if (str == "hole") {\
write("You can barely make out the floor about 10 meters down.\n");\
write("The walls of the hole are very smooth and offer no handholds.\n");\
return;\
}
TWO_EXIT("room/mine/tunnel2", "south",
"room/mine/tunnel4", "north",
"Hole",
"There is a big hole here, and some kind of iron ring in the wall.\n" +
"It should be possible to walk around the hole.\n", 0)
down() {
if (!rope) {
write("You would fall down the hole and probably hurt yourself.\n");
return 1;
}
call_other(this_player(), "move_player", "down#room/mine/tunnel8");
return 1;
}
tie(str)
{
if (str != "ring" && str != "rings")
return 0;
rope = 1;
return 1;
}
id(str) {
return str == "ring" || str == "rings" || str == "hole";
}
untie(str) {
rope = 0;
return 1;
}
query_rope() {
return rope;
}