object viewer;
object oldroom;
object keeper;
set_viewer(ob) { viewer = ob; }
set_keeper(ob) { keeper = ob; }
set_oldroom(ob) { oldroom = ob; }
move_player(dir_dest, optional_dest_ob)
{
string dir, dest;
int is_light;
if (!optional_dest_ob) {
if (sscanf(dir_dest, "%s#%s", dir, dest) != 2) {
tell_object(this_object(), "Move to bad dir/dest\n");
return;
}
} else {
dir = dir_dest;
dest = optional_dest_ob;
}
move_object(this_object(), dest);
is_light = set_light(0);
if(is_light < 0)
is_light = 0;
if(is_light)
command("glance", viewer);
else
write("It is dark here.\n");
}
glance()
{
int i;
object ob;
ob = environment(this_object());
call_other(ob, "long", 0);
for (i=0, ob=first_inventory(ob); ob; ob = next_inventory(ob)) {
if (ob != this_object()) {
string short_str;
short_str = call_other(ob, "short");
if (short_str)
write(short_str + ".\n");
}
if (i++ > 40) {
write("*** TRUNCATED\n");
break;
}
}
return 1;
}
query_current_room() {
return file_name(environment(this_object()));
}