Yes indeed. Well, after some fiddling, I came up with this:
(As far as I know, it does all the checks necessary.)
modify item
takeTest( actor ) =
{
if (self.location <> actor)
{
"\n(Taking <<self.thedesc>> first)\n";
outhide(true);
self.verDoTake(actor);
if (outhide(nil))
{
self.verDoTake(actor);
exit;
}
else
{
self.doTake(actor);
}
if (self.location <> actor)
exit;
}
}
;
> - Neil K.
>--
> 49N 16' 123W 7' / Vancouver, BC, Canada / n_k_guy@sfu.ca
--------------------------------------------------+-------------- The Grim Reaper ** scythe@u.washington.edu | Dan Shiovitz ** shiov@cs.washington.edu | Aude ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | Sapere _Music of the Spheres_ : Coming Nov '95 | ------------------------------------------------+--------------