[ GonearSub x cc inp ch;
if (noun in nothing && noun.&found_in == 0)
{
PrintShortName(noun); " has no location, though.";
}
if (noun.&found_in == 0)
{
x = noun;
while (parent(x) ~= 0) x = parent(x);
PlayerTo(x);
}
else
{
x = noun;
print "Object ~"; PrintShortName(noun); print "~ has a found_in property.^";
print "Please choose one of its locations:^";
x = (noun.&found_in)-->0;
cc = 0;
while (x >= selfobj+1 && x <= top_object)
{
print " ", cc, ") "; PrintShortName(x); print "^";
cc++;
x = (noun.&found_in)-->cc;
}
print "^Choose: ";
for (::)
{
@read_char 1 0 0 inp;
ch = inp - '0';
inp = (noun.&found_in)-->ch;
if (inp >= selfobj+1 && inp <= top_object)
{
PrintShortName(inp); print "^";
PlayerTo(inp);
break;
}
else "^Invalid choice.";
}
}
];
-- --- Sam Hulick ------------- shulick@indiana.edu --------------------- Systems Consultant | Homepage: Indiana College Placement | http://copper.ucs.indiana.edu/~shulick/ and Assessment Center | PGP public key available on request