I didn't notice the issue you mentioned with the order of the commands in the match statement. After testing everything I could think of, I came up with the following. This seems to work quite nicely. Notice that I added CLIMB UP and CLIMB U, whereas U - understands U, UP, GO U and GO UP. I'm wondering if I can somehow add CLIMB and ASCEND as synonyms for UP. Too much to think about.
: match "climb tree;climb up;climb u;u -"
{
: if (num_items_carried() > 0)
{
: print "You'll need both hands to climb the tree, so you'll have to drop your belongings first.";
}
: else
{
: goto "room03" ;
: redescribe;
}
}
And, of course, the equivalent for climbing down the tree.